Google Sheets – Planilla operativa unificada + sincronización bidireccional + archivado Contexto

Job ID: 40163951

Budget: $250 – $750 USD

Necesito un desarrollo en Google Sheets + Apps Script para unificar y sincronizar 3 planillas existentes en una 4ta planilla operativa (vista única) para logística y cobros. Voy a adjuntar capturas de las 3 planillas y cómo se ven hoy.

Planillas existentes (fuentes)

1. “Pedidos Listos” (comercial): contiene Remito (clave), fecha del pedido, cliente, domicilio y columnas de pago:

* Columna K: Fecha/Hora de pago
* Columna L: Pagado (SI/tilde)

2. “DESPACHOS_v2_LIMPIO” (operativa de armado/ruteo): cuando un pedido está armado/listo, el remito aparece acá (hoja principal “FRACCIONADOS”). También existe pestaña “REPORTE_Transportes” donde figura el transporte/segmentación.
3. “Despachos” (despacho real): refleja la salida real, con transporte final y datos de despacho.

Objetivo
Crear una 4ta planilla (mismo Spreadsheet o uno nuevo) llamada “CONTROL_UNIFICADO” que sea la única vista que usa el equipo, con SOLO estas columnas visibles:

* Remito (clave única)
* Fecha (desde Pedidos Listos)
* Cliente (desde Pedidos Listos)
* Domicilio (desde Pedidos Listos)
* Transporte
* Despachado (tilde manual + fecha/hora automática)
* Pagado (tilde manual + fecha/hora automática)
* Observaciones (unificadas)

Reglas operativas y de sincronización (importante)
A) Alta automática del pedido en CONTROL_UNIFICADO

* Cuando entra un remito nuevo en “Pedidos Listos”, debe aparecer automáticamente en CONTROL_UNIFICADO con Fecha/Cliente/Domicilio.

B) “Listo para entregar” (no existe estado “armado”)

* Para nosotros, un pedido está “listo para entregar” cuando el remito aparece en “DESPACHOS_v2_LIMPIO”, hoja “FRACCIONADOS”.
* En CONTROL_UNIFICADO, cuando el remito aparece en DESPACHOS_v2_LIMPIO (FRACCIONADOS), toda la fila debe cambiar a color “listo para entregar” (verde).

C) Transporte (texto libre, no catálogo cerrado)

* Transporte inicial: sale de “DESPACHOS_v2_LIMPIO” → pestaña “REPORTE_Transportes”.
* Transporte definitivo: cuando exista el transporte real en “Despachos”, debe pisar/reemplazar el transporte previo en CONTROL_UNIFICADO.
* Debe permitir transportes ad-hoc (texto libre).

D) Despachado (tilde manual + timestamp)

* La columna “Despachado” en CONTROL_UNIFICADO es un checkbox manual.
* Al tildar “Despachado”, se debe escribir automáticamente fecha + hora en la misma fila (puede ser en una columna oculta auxiliar si hace falta, pero en vista se ve el check y/o la fecha según propongan).
* Además, al marcar despachado en CONTROL_UNIFICADO, debe impactar también en “DESPACHOS_v2_LIMPIO” (en el lugar correspondiente para reflejar que ya fue despachado; lo definimos según columnas reales, pero el concepto es que quede marcado en el flujo de DESPACHOS_v2_LIMPIO y su “REPORTE_Transportes”).

E) Pagado (tilde manual + timestamp) + sincronización con Pedidos Listos

* La columna “Pagado” en CONTROL_UNIFICADO es checkbox manual.
* Al tildar “Pagado”, se escribe automáticamente fecha + hora.
* Debe sincronizarse con “Pedidos Listos”:

* Setear Pagado = SI en columna L
* Escribir fecha/hora de pago en columna K

F) Observaciones (una sola, unificada)

* En CONTROL_UNIFICADO debe haber una sola columna Observaciones que unifique texto de:

* Pedidos Listos
* DESPACHOS_v2_LIMPIO
* Despachos
* Prioridad: claridad humana. Si es posible, evitar repetir textos idénticos.

Colores de filas (mínimos, basados en condiciones)

* Sin color: pedido que solo está en “Pedidos Listos” (recién ingresado).
* Verde: “Listo para entregar” (remito presente en DESPACHOS_v2_LIMPIO / FRACCIONADOS).
* Amarillo: “Despachado” (checkbox Despachado marcado).
* Celeste: “Pagado” (checkbox Pagado marcado).
* Si ambos (Despachado + Pagado) están marcados: estado final para archivado (puede ser otro color o mantener uno; lo importante es que se archive).

Archivado + cierre diario + PDF mensual

* Durante el día, los pedidos cerrados (Despachado + Pagado) se quedan visibles.
* Al final del día (trigger programado), el script revisa y mueve los registros con Despachado=SI y Pagado=SI a una hoja “HISTORICO” y los elimina de CONTROL_UNIFICADO.
* A fin de mes:

* Generar automáticamente un PDF mensual del histórico del mes y guardarlo en una carpeta fija de Google Drive (nombre estándar tipo `HISTORICO_YYYY-MM.pdf`).
* Luego “limpiar”/resetear la hoja de archivados para comenzar el mes nuevo (quedar lista para el próximo mes).

Requisitos técnicos / de trabajo

* Google Sheets + Apps Script.
* Código entregado completo, editable, con comentarios básicos y un README corto de instalación/configuración.
* Triggers (onEdit para timestamps + time-driven para cierre diario + time-driven mensual para PDF/limpieza).
* Evitar soluciones frágiles (la vista operativa tiene que ser estable para el equipo).
* No tocar cómo llegan los datos originales; solo leer/escribir en las hojas indicadas.

Entregables

* Spreadsheet funcionando con CONTROL_UNIFICADO (8 columnas visibles), formato condicional aplicado, sincronización bidireccional según reglas, histórico automático por cierre diario, y generación de PDF mensual + limpieza mensual.
* Video corto o pasos claros de instalación y cómo ajustar nombres de hojas/IDs si cambia algo.