Antigüedad de saldos de proveedores (cuentas por pagar)
Saldo de facturas de proveedores abiertas por proveedor en tramos según la fecha de vencimiento.
Herramienta
SELECT T0.CardCode, T0.CardName, SUM(CASE WHEN DATEDIFF(day, T0.DocDueDate, GETDATE()) <= 0 THEN T0.DocTotal - T0.PaidToDate ELSE 0 END) AS NotDue, SUM(CASE WHEN DATEDIFF(day, T0.DocDueDate, GETDATE()) BETWEEN 1 AND 30 THEN T0.DocTotal - T0.PaidToDate ELSE 0 END) AS Days1to30, SUM(CASE WHEN DATEDIFF(day, T0.DocDueDate, GETDATE()) BETWEEN 31 AND 60 THEN T0.DocTotal - T0.PaidToDate ELSE 0 END) AS Days31to60, SUM(CASE WHEN DATEDIFF(day, T0.DocDueDate, GETDATE()) > 60 THEN T0.DocTotal - T0.PaidToDate ELSE 0 END) AS Over60, SUM(T0.DocTotal - T0.PaidToDate) AS TotalOpen FROM OPCH T0 WHERE T0.DocStatus = 'O' AND T0.CANCELED = 'N' GROUP BY T0.CardCode, T0.CardName ORDER BY TotalOpen DESC
SELECT T0."CardCode", T0."CardName", SUM(CASE WHEN DAYS_BETWEEN(T0."DocDueDate", CURRENT_TIMESTAMP) <= 0 THEN T0."DocTotal" - T0."PaidToDate" ELSE 0 END) AS "NotDue", SUM(CASE WHEN DAYS_BETWEEN(T0."DocDueDate", CURRENT_TIMESTAMP) BETWEEN 1 AND 30 THEN T0."DocTotal" - T0."PaidToDate" ELSE 0 END) AS "Days1to30", SUM(CASE WHEN DAYS_BETWEEN(T0."DocDueDate", CURRENT_TIMESTAMP) BETWEEN 31 AND 60 THEN T0."DocTotal" - T0."PaidToDate" ELSE 0 END) AS "Days31to60", SUM(CASE WHEN DAYS_BETWEEN(T0."DocDueDate", CURRENT_TIMESTAMP) > 60 THEN T0."DocTotal" - T0."PaidToDate" ELSE 0 END) AS "Over60", SUM(T0."DocTotal" - T0."PaidToDate") AS "TotalOpen" FROM OPCH T0 WHERE T0."DocStatus" = 'O' AND T0."CANCELED" = 'N' GROUP BY T0."CardCode", T0."CardName" ORDER BY "TotalOpen" DESC
Qué responde esta consulta
Cuando el gerente de finanzas planifica los pagos a proveedores de esta semana, la pregunta es qué facturas ya están atrasadas y cuáles pueden esperar. Esta consulta divide las facturas de proveedores abiertas de cada proveedor en tramos de no vencidas y vencidas.
Ejemplo de resultado
Valores de demostración ilustrativos. Sus columnas son las mismas; los números vienen de su empresa.
| CardCode | CardName | NotDue | Days1to30 | Days31to60 | Over60 | TotalOpen |
|---|---|---|---|---|---|---|
| V10000 | Global Parts Co. | 15000 | 6200 | 0 | 0 | 21200 |
| V20000 | Metro Packaging | 4300 | 2750 | 1900 | 0 | 8950 |
| V23000 | Prime Logistics | 0 | 0 | 2400 | 3600 | 6000 |
SQL Server vs SAP HANA
DATEDIFF(day, T0.DocDueDate, GETDATE()) se reemplaza por DAYS_BETWEEN(T0."DocDueDate", CURRENT_TIMESTAMP) en las cinco expresiones. El tramo NotDue (<= 0) mantiene el mismo significado porque el orden de los argumentos no cambia.
Errores comunes y soluciones
- Los totales por proveedor son mayores que su estado de cuenta: No se restan las notas de crédito de proveedores ni los anticipos abiertos. Agregue un UNION ALL desde ORPC con montos negativos si los proveedores emiten notas de crédito con frecuencia.
- Aparecen facturas de proveedores canceladas: Mantenga T0.CANCELED = 'N'. Las facturas canceladas están cerradas, pero el filtro también evita que se cuenten los documentos de cancelación.
Consultas relacionadas
Referencia de tablas: Tabla OPCH (Factura de proveedores (cabecera))
Tres pasos, sin registro
Copie la versión correcta
Use la pestaña SQL Server para bases de datos MS SQL y la pestaña HANA para SAP B1 sobre HANA.
Abra el generador de consultas
En SAP Business One vaya a Herramientas → Consultas → Generador de consultas (Tools → Queries → Query Generator), pegue la consulta y haga clic en Ejecutar.
Guarde y comparta
Haga clic en Grabar, elija una categoría y asigne un nombre a la consulta. Su equipo podrá ejecutarla desde el gestor de consultas (Query Manager).
Preguntas sobre esta herramienta
¿Cómo ejecuto la consulta «Antigüedad de saldos de proveedores (cuentas por pagar)» en SAP Business One?
Copie la versión que corresponde a su base de datos, abra Herramientas → Consultas → Generador de consultas, péguela en el cuadro SQL y haga clic en Ejecutar. Grábela para reutilizarla después.
¿Qué tablas usa esta consulta?
Lee OPCH del esquema estándar de SAP Business One. No necesita campos definidos por el usuario.
¿Se puede convertir en un dashboard o una alerta?
Sí. Convertimos consultas en reportes de Crystal Reports, reportes de Excel que se actualizan solos, alertas de SAP B1 o mensajes de WhatsApp para gerentes.
Hechas para equipos de SAP Business One
¿Lo necesita dentro de SAP Business One?
Desarrollamos add-ons, reportes e integraciones para SAP B1 en SQL Server y HANA. Cuéntenos qué necesita y reciba un precio fijo, normalmente en 24 horas.
