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 <noreply@anthropic.com>
This commit is contained in:
Lizandro Guarnizo
2026-07-28 16:45:18 -05:00
co-authored by Claude Sonnet 4.6
parent 9dd234e124
commit 090890fa46
+6 -3
View File
@@ -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 = """