DesarrolloProtecció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
En un proyecto, unas personas trabajan en Airtable y otras solo en Hojas de cálculo de Google, y copiar registros entre ambos acaba saliendo mal tarde o temprano. Este Google Apps Script lee su base de Airtable mediante su API oficial con su propio token de acceso personal y escribe los registros que elija en una hoja: una tabla o una vista, con los campos que necesita como columnas. Desde Estándar guarda el ID del registro en cada fila, así que una segunda ejecución actualiza las filas en lugar de duplicarlas, y muestra los registros vinculados como nombres. Premium envía los cambios de la hoja de vuelta a Airtable según la regla que fije sobre qué lado prevalece. Su token va en las propiedades del script, que rellena usted, nunca en el código. Funciona al ritmo que permite la API de Airtable; los adjuntos llegan como enlaces.
Qué incluye
- Qué recibeUn archivo ZIP con el código de Apps Script y un README que explica cómo añadirlo a su hoja, poner su token y ejecutarlo; el código también se muestra en la página del pedido.
- API oficialLa propia Web API de Airtable con su token
- Los campos que elijaUna tabla o una vista, solo los campos que necesita
- Sin duplicadosDesde Estándar, filas emparejadas por ID de registro
- Token fuera del códigoUsted lo pone en las propiedades del script
- Código legibleCon comentarios, fácil añadir un campo más adelante
Cómo funciona
- 1TareaUsted describe la base, las tablas y el sentido
- 2CódigoEscribimos el script según la documentación de Airtable y la guía de instalación
- 3PruébeloLo ejecuta con una copia de la base o una vista de prueba
- 4CambiosPide cambios dentro de su paquete y nos envía cualquier mensaje de error
Qué necesitamos de usted
Las tablas o vistas de Airtable que sincronizar y una captura de sus campos con sus tipos (texto, número, fecha, selección única, registro vinculado, adjunto), la hoja a la que van y cómo deben nombrarse y ordenarse las columnas. Qué sentido necesita y, para la sincronización en ambos sentidos (Premium), qué lado prevalece cuando el mismo registro cambia en los dos sitios. Con qué frecuencia debe ejecutarse. Cree el token de acceso personal en su cuenta de Airtable; no nos lo envíe nunca.
Le preguntaremos:
- ¿Qué hay en la base de Airtable?
- ¿Qué sentido necesita?
- ¿Qué campos deben pasar?
- ¿Con qué frecuencia debe ejecutarse?
Comparar paquetes
| Paquetes | BásicoDe Airtable a Hojas de cálculo16 US$ | EstándarSincronización con configuración33 US$ | PremiumHerramienta de sincronización en ambos sentidos67 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 | Google Apps Script | Google Apps Script | Google Apps Script |
| 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
¿Es en directo, como una sincronización en tiempo real?
No. Copia cuando se ejecuta: con un botón o, con la guía de Premium, con un activador por tiempo, por ejemplo cada 15 minutos. Los cambios intermedios aparecen en la siguiente ejecución.
¿Qué pasa con los adjuntos y los registros vinculados?
Los adjuntos llegan como enlaces a los archivos. Los registros vinculados se muestran como nombres desde Estándar; en Básico llegan como ID de registro.
¿Pueden los cambios de la hoja sobrescribir Airtable?
Solo en Premium y solo en los campos que permita, según su regla de qué lado prevalece. Pruébelo primero con una copia de la base.
¿Tendrán acceso a mi base?
No. Usted crea el token y añade el script en sus propias cuentas. Trabajamos con sus capturas y la documentación de Airtable.
¿No encontró su respuesta?


