Conversor de extractos bancariosDesarrollo y personalización

Un script de Python que convierte el extracto CSV de su banco al formato de importación que espera su programa de contabilidad

Suele estar listo en 15 minutosCambios incluidosControl de calidad
Paquetes
Protección de pagoDetalles
  • Los cambios dentro del paquete son gratuitos.
  • Si no responde en los 3 días siguientes a la entrega, el trabajo se acepta automáticamente.

El dinero queda reservado al pagar y solo se libera cuando usted acepta el trabajo.

Un script de Python que convierte el extracto CSV de su banco al formato de importación que espera su programa de contabilidad

Ejemplo de resultado

Ejemplo del paquete Estándar

Unir los archivos de ventas mensuales de 9 tiendas en un único informe de Excel

Cómo se ejecuta

python merge_sales.py --month 2026-10
2026-11-02 09:14:03 INFO  Carpeta: sales/2026-10, 9 archivos encontrados
2026-11-02 09:14:03 INFO  shop-01.csv: 1.284 filas
2026-11-02 09:14:04 INFO  shop-02.xlsx: 967 filas
2026-11-02 09:14:04 WARN  shop-07.csv: 3 filas sin precio omitidas (líneas 88, 412, 913)
2026-11-02 09:14:05 INFO  Listo: 10.412 filas -> report-2026-10.xlsx (hojas “Ventas” y “Totales”)

Configuración, no código

Los nombres de columna de cada tienda están en settings.ini, así que una tienda nueva o una columna renombrada es una línea ahí:

[columns]
date = Fecha, Fecha de venta, Día
product = Producto, Artículo, Nombre
quantity = Cant., Cantidad, Uds.
price = Precio, Precio unitario

Una parte del código

def read_shop_file(path: Path, columns: dict[str, list[str]]) -> pd.DataFrame:
    """Lee el archivo de una tienda y le da los nombres de columna del informe."""
    table = pd.read_excel(path) if path.suffix == ".xlsx" else pd.read_csv(path, encoding="utf-8-sig")
    renamed = {}
    for name, variants in columns.items():
        found = next((c for c in table.columns if c.strip() in variants), None)
        if found is None:
            raise ReportError(f"{path.name}: no hay columna para '{name}' (se buscó {', '.join(variants)})")
        renamed[found] = name
    table = table.rename(columns=renamed)[list(columns)]
    table["shop"] = path.stem
    return table

Archivos: un archivo ZIP con merge_sales.py (310 líneas), settings.ini, requirements.txt y un README sobre cómo instalar Python, ejecutar el script y qué significa cada mensaje del registro. El cliente lo ejecuta en su propio ordenador.

Cliente: una pequeña cadena de 9 papelerías; cada tienda envía sus ventas del mes en un archivo CSV o Excel, con nombres de columna ligeramente distintos. Tarea: un único script que lea todos los archivos de una carpeta, dé a las columnas un mismo formato y genere un solo informe de Excel con todas las ventas y una hoja de totales por tienda.

El cliente y todos los datos son ficticios.

Acerca de este servicio

Los bancos exportan los extractos con su propia estructura CSV, y los programas de contabilidad quieren la suya: otros nombres de columna, fechas como DD.MM.AAAA o AAAA-MM-DD, un importe con signo menos o cargo y abono por separado, una codificación concreta. Este script de Python convierte el extracto que descarga de su banca online en el archivo de importación de su programa, según la plantilla o el archivo de muestra que ofrezca ese programa. Desde Estándar también puede asignar cada línea a una categoría según sus reglas, por ejemplo los pagos que mencionan Alquiler van a Alquiler. Funciona en su ordenador y nunca se conecta a su banco ni a su programa de contabilidad; usted descarga el extracto e importa el resultado. Solo cambia la estructura, no las cifras, y no da asesoramiento contable ni fiscal. Compruebe los totales tras la primera importación.

Qué incluye

  • Qué recibeUn archivo ZIP con el script de Python, un README con instrucciones paso a paso y, desde Estándar, un archivo de configuración con columnas y reglas de categorías; el código también se muestra en la página del pedido.
  • El formato de su programaSegún su plantilla de importación o un archivo de muestra
  • Fechas e importes correctosFormatos, signos y separadores decimales convertidos
  • Categorías según sus reglasDesde Estándar, las palabras clave que fije
  • Se queda en su ordenadorSin conexión al banco ni a ningún otro sitio
  • Código legibleCon comentarios, fácil añadir una regla más adelante

Cómo funciona

  1. 1
    MuestrasUsted envía líneas inventadas con la estructura de su banco y la plantilla de su programa
  2. 2
    CódigoEscribimos el script y la guía para ejecutarlo
  3. 3
    PruébeloConvierte un extracto, lo importa en una empresa o un periodo de prueba y comprueba los totales
  4. 4
    CambiosPide cambios dentro de su paquete y nos envía cualquier mensaje de error

Qué necesitamos de usted

La fila de encabezado y 10-20 líneas del CSV de su banco con importes, nombres y números de cuenta inventados pero la misma estructura, el nombre de su programa de contabilidad y su plantilla de importación, página de documentación o un archivo de muestra que acepte. Para Estándar, sus reglas de categorías (qué palabras van a qué categoría). Para Premium, una muestra de cada banco o cuenta. No envíe nunca extractos reales, números de cuenta ni accesos a la banca.

Le preguntaremos:

  • ¿Qué exportación bancaria tiene?
  • ¿Qué programa de contabilidad y qué formato de importación?
  • ¿Necesita categorías?
  • ¿Cuántos bancos o cuentas?

Comparar paquetes

PaquetesBásicoUn banco, un formato16 US$EstándarConversor con configuración33 US$PremiumHerramienta de conversión67 US$
Plazo1 día2 días3 días
Cambios123
Códigohasta 150 líneashasta 400 líneashasta 1.000 líneas
Archivos de código1hasta 3hasta 8
Archivo de configuraciónNoSíSí
Mensajes de error claros y registroNoSíSí
Opciones de ejecución y guía para ejecutarlo de forma programadaNoNoSí
Guía de instalación y uso (README)SíSíSí
LenguajePythonPythonPython
Hacer pedido BásicoHacer pedido EstándarHacer pedido Premium

Protección de pago

Usted paga al hacer el pedido, pero el dinero solo se libera por un trabajo aceptado.

  • Precio fijoEl precio del paquete no cambia después del pago.
  • El dinero queda reservadoAl pagar, el importe solo queda reservado. Pasa a Dleex cuando usted acepta el trabajo.
  • Revisado antes de la entregaCada resultado pasa un control de calidad antes de llegar a usted, y lo ve en la página del pedido antes de aceptarlo.
  • Cambios gratuitosSolicite cambios dentro de su brief tantas veces como permita el paquete.
  • Aceptación a los 3 díasSi en los 3 días siguientes a la entrega no acepta el trabajo ni solicita cambios, se acepta automáticamente. Si escribe en el chat del pedido después de la entrega, el pedido queda en espera; cuando le respondamos, podremos reiniciar el plazo de 3 días y se lo indicaremos en el chat.
  • Rehacer el trabajo o reembolso totalSi el resultado no se ajusta a su brief y los cambios no lo resolvieron, o el trabajo tarda más del doble de su plazo, escriba en el chat del pedido: rehacemos el trabajo o le reembolsamos el pago íntegro.
Cómo funciona →

Preguntas y respuestas

¿Se conecta a mi banco?

No. Usted descarga el extracto de su banca online como siempre, y el script convierte el archivo en su ordenador. Su código no tiene acceso a internet.

Mi banco solo da extractos en PDF.

Esta oferta trabaja con CSV o Excel. Si el PDF tiene texto real, vea nuestra oferta de tablas de PDF a Excel; los extractos escaneados no están cubiertos.

¿Serán correctas las categorías para mis impuestos?

El script aplica las reglas de palabras clave que usted da; no decide cómo debe contabilizarse ni tributar nada. Eso le corresponde a usted o a su gestor, y no damos asesoramiento fiscal ni contable.

¿Y si mi banco cambia su exportación?

Desde Estándar los nombres de columna están en el archivo de configuración, así que una columna renombrada es un cambio pequeño. Una estructura nueva puede requerir ajustar el script.

¿No encontró su respuesta?

Paquetes