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.

Ejemplo de resultado
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
Cuando un proveedor envía cada semana una lista de precios nueva, recalcular sus propios precios a mano supone horas en Excel y errores en las fórmulas. Este script de Python lee el archivo del proveedor y aplica sus reglas: un margen en porcentaje o un importe fijo, desde Estándar márgenes distintos por categoría, marca o tramo de precio, un margen mínimo, un tipo de cambio que usted introduce, y un redondeo como hasta ,99 o a la decena más próxima. Guarda una lista de precios nueva con las columnas que necesita, lista para su tienda o para sus clientes, y lista las filas a las que no pudo poner precio. Las reglas son suyas; el script hace las cuentas y no da consejos de precios. Lo ejecuta usted en su ordenador, así que compare las primeras listas con unos cuantos precios calculados a mano.
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 sus márgenes y redondeos; el código también se muestra en la página del pedido.
- Sus reglas de margenPorcentaje o fijo, por categoría, marca o tramo de precio
- El redondeo que elijaHasta ,99, a la decena más próxima o como fije
- Sus columnasSolo las columnas que necesita, en su orden
- Filas con problemas listadasSe informa de las filas sin precio o con una categoría desconocida
- Código legibleCon comentarios, fácil cambiar una regla más adelante
Cómo funciona
- 1NormasUsted envía una muestra del archivo del proveedor y sus reglas de margen
- 2CódigoEscribimos el script y la guía para ejecutarlo
- 3PruébeloLo ejecuta con la última lista y comprueba a mano unos cuantos precios
- 4CambiosPide cambios dentro de su paquete y nos envía cualquier mensaje de error
Qué necesitamos de usted
20-30 filas de la lista de precios del proveedor tal como llega (Excel o CSV), sus reglas de margen escritas con claridad (por ejemplo, 35 % sobre todo lo que cueste menos de 50, 25 % por encima, al menos 5 de margen), el redondeo que quiere, el tipo de cambio si hay que convertir precios y de dónde sale, y las columnas que debe tener su lista de precios. Si tiene varios proveedores (Premium), una muestra de cada uno. Su sistema: Windows, macOS o Linux.
Le preguntaremos:
- ¿Qué envía el proveedor?
- ¿Cuáles son sus reglas de margen?
- ¿Cómo deben redondearse los precios?
- ¿Qué debe contener su lista de precios?
Comparar paquetes
| Paquetes | BásicoUna regla de margen16 US$ | EstándarMargen con configuración33 US$ | PremiumHerramienta de precios67 US$ |
|---|---|---|---|
| Plazo | 1 día | 2 días | 3 días |
| Cambios | 1 | 2 | 3 |
| Código | hasta 150 líneas | hasta 400 líneas | hasta 1.000 líneas |
| Archivos de código | 1 | hasta 3 | hasta 8 |
| Archivo de configuración | No | Sí | Sí |
| Mensajes de error claros y registro | No | Sí | Sí |
| Opciones de ejecución y guía para ejecutarlo de forma programada | No | No | Sí |
| Guía de instalación y uso (README) | Sí | Sí | Sí |
| Lenguaje | Python | Python | Python |
| Hacer pedido Básico | Hacer pedido Estándar | Hacer 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.
Preguntas y respuestas
¿Puede tomar el tipo de cambio de internet?
En Premium puede leer el tipo de una fuente pública que usted elija, como los tipos publicados por su banco central. Si no, usted escribe el tipo en la configuración antes de cada ejecución.
¿Puede subir los precios a mi tienda?
Esta oferta crea el archivo de la lista de precios. Muchas plataformas de tienda importan precios desde un archivo así; díganos la suya y adaptaremos las columnas a su importación.
¿Y si el proveedor cambia el archivo?
Desde Estándar los nombres de columna están en el archivo de configuración, así que una columna renombrada es un cambio de una línea. Una estructura completamente nueva puede requerir ajustar el script.
¿Me dirán qué margen aplicar?
No. No damos consejos de precios ni financieros: el script aplica las reglas que usted fija, y las cifras son decisión suya.
¿No encontró su respuesta?