From 090890fa46c40c40c46062f9360dedf4b1f88e35 Mon Sep 17 00:00:00 2001 From: Lizandro Guarnizo <77708265+lizandrogd@users.noreply.github.com> Date: Tue, 28 Jul 2026 16:45:18 -0500 Subject: [PATCH] fix: filter ventas by FECHAFACT (billing date) instead of FECHA_RECEPCION Joins FACTURA_DIAN to get the actual invoice date. Receptions spread across multiple days now appear together when their factura was billed on the selected date. Excludes annulled invoices (ANULADA != 'F'). Co-Authored-By: Claude Sonnet 4.6 --- app/routes/automation.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/app/routes/automation.py b/app/routes/automation.py index 941b337..be1a412 100644 --- a/app/routes/automation.py +++ b/app/routes/automation.py @@ -170,15 +170,18 @@ SELECT COALESCE(NULLIF(TRIM(ex.NUM_ISS), ''), TRIM(rel.COD_EXAMEN)) AS CUPS, rel.PRECIO, COALESCE(t.VALOR, rel.PRECIO) AS PRECIO_TARIFA, - TRIM(e.CODCONTRATO) AS CODCONTRATO + TRIM(e.CODCONTRATO) AS CODCONTRATO, + CAST(fd.FECHAFACT AS VARCHAR(30)) AS FECHAFACT FROM RECEPCION r +JOIN FACTURA_DIAN fd ON fd.PREFIJO = r.PREFIJO AND fd.NUM_FACTURA = r.NUM_FACTURA JOIN RELACION rel ON rel.IDRECEPCION = r.IDRECEPCION LEFT JOIN EXAMEN ex ON TRIM(ex.CODIGO) = TRIM(rel.COD_EXAMEN) LEFT JOIN EMPRESA e ON e.NIT = r.NIT_EMPRESA LEFT JOIN TARIFA t ON TRIM(t.COD_EXAMEN) = TRIM(rel.COD_EXAMEN) AND t.TARIFA = e.TARIFA -WHERE r.FECHA_RECEPCION BETWEEN :fecha_ini AND :fecha_fin +WHERE fd.FECHAFACT BETWEEN :fecha_ini AND :fecha_fin + AND (fd.ANULADA IS NULL OR fd.ANULADA = 'F') AND r.PREFIJO = 'CMXC' -ORDER BY r.IDRECEPCION +ORDER BY r.NUM_FACTURA, r.IDRECEPCION """ _SQL_RDA_BY_ID = """