Todos los proyectosAll projects
Caso de estudio · datos sintéticosCase study · synthetic data

La caja del día, conciliada y proyectada antes de que llegue el equipo.

Today's cash, reconciled and projected before the team arrives.

Un proceso que corre solo cada mañana para una distribuidora argentina ficticia: concilia los extractos de dos bancos contra el sistema, marca las cobranzas sin imputar con la factura sugerida, avisa qué clientes están atrasados y proyecta la caja de las próximas cuatro semanas.

A process that runs by itself every morning for a fictional Argentine distributor: it reconciles two bank statements against the ERP, flags unbooked receipts with the suggested invoice, lists late customers and projects cash for the next four weeks.

PythonpandaspytestExcelLey 25.413Cash flowGitHub Actions
SectorIndustryDistribución mayoristaWholesale distribution
Mi rolMy roleReglas, análisis y QARules, analysis and QA
FrecuenciaFrequencyTodos los días hábilesEvery business day
ValidaciónValidationSaldo del banco + 10 testsBank balance + 10 tests
Saldo de caja diario con proyección y pendientes marcados cada mañana

Contexto

Context

En muchas pymes, la conciliación bancaria, la lista de clientes atrasados y el cash flow viven en planillas que alguien rehace a mano. Mientras esa persona esté y no se equivoque, funciona.

In many small and mid-sized companies, the bank reconciliation, the list of late customers and the cash flow live in spreadsheets someone rebuilds by hand. It works as long as that person is in and makes no mistake.

Si falta un día o una celda está mal, se demora la facturación, una cobranza queda sin imputar y el cliente aparece como deudor, o se decide un pago con números viejos.

If they are out for a day or a cell is wrong, invoicing slips, a receipt goes unbooked and the customer shows as overdue, or a payment is decided on old numbers.

Enfoque

Approach

Un solo comando, programado para correr cada mañana, toma los movimientos nuevos del banco y el libro de tesorería del sistema, y aplica cinco reglas en orden. Cada movimiento termina en un solo estado, con el motivo escrito.

One command, scheduled every morning, takes the new bank lines and the ERP treasury book and applies five rules in order. Every line ends in exactly one state, with the reason written down.

Gastos bancariosBank chargesEl impuesto a los débitos y créditos y las comisiones se reconocen y se registran solos.The tax on bank debits and credits and account fees are recognised and booked automatically.
Misma referenciaSame referenceCruza por número de factura, orden de pago o lote. Las tarjetas se concilian netas de comisión, y la comisión queda propuesta como asiento.Matches on invoice, payment order or batch number. Card settlements match net of the fee, and the fee is proposed as an entry.
Monto y fechaAmount and dateSi no hay referencia: misma cuenta y monto, hasta tres días hábiles de diferencia, uno a uno.Without a reference: same account and amount, up to three business days apart, one to one.
Lo que sobra en el bancoLeft in the bankUna transferencia recibida sin imputar se asigna al cliente por el CUIT y a la factura por el monto.An unbooked incoming transfer is assigned to the customer by CUIT and to the invoice by amount.
Lo que sobra en el sistemaLeft in the ERPUn pago registrado que no salió del banco queda en tránsito tres días; después, alerta.A payment recorded but not yet debited is in transit for three days; then it is an alert.
# reports/2026-09-29/resumen_diario.md (extracto)
## Conciliación
- 907 movimientos del banco, 97,6 % conciliados o registrados automáticamente.
- Pendientes abiertos: 26 (4 nuevos hoy).

- Cobranza sin imputar · FARMACIA DEL SUR · ARS 3.764.182
  Sugerido: Farmacia del Sur, factura FC-A-0003-00010429

Cómo sé que está bien

How I know it is right

Un resumen de caja que se equivoca es peor que no tenerlo. Cada cambio pasa diez controles automáticos:

A cash summary that is wrong is worse than none. Every change passes ten automated checks:

El saldo calculado desde el extracto coincide con el saldo que informa el banco, todos los díasThe balance computed from the statement equals the balance the bank reports, every dayPASS
Cada movimiento y cada asiento termina en un solo estado, y los cruces son uno a unoEvery line and every entry ends in exactly one state, and matches are one to onePASS
Las 22 anomalías cargadas a propósito se detectan con el motivo correcto, sin falsas alarmasAll 22 planted issues are caught with the right reason, with no false alarmsPASS
El aging suma lo mismo que las facturas abiertas y la proyección arranca del saldo de hoyAging adds up to open invoices and the forecast starts from today's balancePASS

Resultado

Result

Salida del caso de prueba: 66 corridas diarias, de julio a septiembre de 2026, sobre 927 movimientos de dos bancos.

Output of the test case: 66 daily runs, July to September 2026, over 927 lines from two banks.

98,1 %98.1%conciliado o registrado soloreconciled or booked automaticallyúltimo día del períodolast day of the period
2222anomalías detectadasissues caughtcobranzas sin imputar, duplicados, montos distintosunbooked receipts, duplicates, mismatches
33alertas de cajacash alertsproyección por debajo del mínimoforecast below the minimum

El equipo deja de armar la conciliación y el cash flow: cada mañana recibe qué está bien, qué hay que corregir y cuánta caja va a haber.

The team stops building the reconciliation and the cash flow: every morning it gets what is fine, what to fix and how much cash there will be.

Entregables

Deliverables

  • resumen_diario.md: el resumen de la mañana, listo para mandar por mail o Teams.
  • exceptions.csv: un pendiente por fila, con el motivo y la factura sugerida.
  • daily_control.xlsx: pendientes, cuentas por cobrar, proyección de caja y extracto conciliado.
  • history.csv: la evolución diaria, para un tablero.
  • resumen_diario.md: the morning summary, ready to send by email or Teams.
  • exceptions.csv: one open item per row, with the reason and the suggested invoice.
  • daily_control.xlsx: open items, receivables, cash forecast and the reconciled statement.
  • history.csv: the daily trend, for a dashboard.
Siguiente casoNext caseControl de cuentas a pagarAccounts payable control