Skip to content

Reportes y Análisis

La API de reportes permite generar análisis detallados de las operaciones del sistema, incluyendo reportes de pagos, ventas y exportación de documentos emitidos.

Endpoint: GET /api/v1/reports/payments

Descripción: Genera un reporte consolidado de pagos agrupados por método de pago, tipos de documentos y análisis de impuestos.

Accept: application/json
Authorization: Bearer {token}
ParámetroTipoDescripciónEjemplo
filtersstringFiltros en formato JSON{"payment_date":[{"eq":"2024-01-15"}]}
CampoTipoDescripciónOperadores
payment_datedateFecha de pagoeq, ge, le, gt, lt
document_typestringTipo de documentoeq, in
payment_methodstringMétodo de pagoeq, in
client_idintegerID del clienteeq
amountnumberMonto del pagoeq, ge, le, gt, lt
Terminal window
curl -X GET "https://dev-facturacion.e-dinky.test/api/v1/reports/payments?filters={\"payment_date\":[{\"eq\":\"2024-01-15\"}]}" \
-H "Accept: application/json" \
-H "Authorization: Bearer your_token_here"
{
"message": "Pagos",
"status": "OK",
"payload": {
"payment": [
{
"amount": 10,
"code": "01",
"title": "SIN UTILIZACIÓN DEL SISTEMA FINANCIERO",
"short_name": "Efectivo",
"icon": "<i class=\"fas fa-money-bill\"></i>"
},
{
"amount": 28.36,
"code": "19",
"title": "TARJETA DE CRÉDITO",
"short_name": "Tarjeta/Crédito",
"icon": "<i class=\"fas fa-credit-card\"></i>"
},
{
"amount": 3.8,
"code": "15",
"title": "COMPENSACIÓN DE DEUDAS",
"short_name": "Comp. Deudas",
"icon": "<i class=\"fas fa-money-check\"></i>"
}
],
"sales": [
{
"title": "Factura",
"type": "invoice",
"code": "01",
"subtotal": 36.66,
"discount": 0,
"taxes_amount": 5.50,
"total": 42.16
},
{
"title": "Nota de débito",
"type": "debit_note",
"code": "05",
"subtotal": 0,
"discount": 0,
"taxes_amount": 0,
"total": 0
}
],
"taxes": [
{
"taxCode": 2,
"payments": 42.16,
"taxes": 5.5,
"subtotal": 36.66,
"typeTaxTitle": "IVA",
"taxTitle": "15%",
"items": [
{
"taxCodeSri": "4",
"subtotal": "36.66",
"taxes": "5.50",
"payments": "42.16"
}
]
}
]
}
}

Endpoint: GET /api/v1/reports/documents/export

Descripción: Exporta un reporte detallado de todos los documentos emitidos en un rango de fechas específico en formato Excel.

Accept: application/json
Authorization: Bearer {token}
ParámetroTipoDescripciónEjemplo
filtersstringFiltros en formato JSON con rango de fechas{"date":[{"ge":"2024-01-01"},{"le":"2024-01-31"}]}
CampoTipoDescripciónOperadoresRequerido
datedateFecha de emisión del documentoge, le
document_typestringTipo de documentoeq, inNo
client_idintegerID del clienteeqNo
statusstringEstado del documentoeq, inNo
  • Rango máximo: 31 días entre fecha de inicio y fin
  • Fechas válidas: La fecha de inicio debe ser menor o igual a la fecha de fin
  • Formato de fecha: YYYY-MM-DD

Reporte mensual:

Terminal window
curl -X GET "https://dev-facturacion.e-dinky.test/api/v1/reports/documents/export?filters={\"date\":[{\"ge\":\"2024-01-01\"},{\"le\":\"2024-01-31\"}]}" \
-H "Accept: application/json" \
-H "Authorization: Bearer your_token_here" \
--output documentos_enero_2024.xlsx

Reporte con filtro por tipo de documento:

Terminal window
curl -X GET "https://dev-facturacion.e-dinky.test/api/v1/reports/documents/export?filters={\"date\":[{\"ge\":\"2024-01-01\"},{\"le\":\"2024-01-31\"}],\"document_type\":[{\"eq\":\"invoice\"}]}" \
-H "Accept: application/json" \
-H "Authorization: Bearer your_token_here" \
--output facturas_enero_2024.xlsx
#### Respuesta Exitosa (200 OK)
La respuesta será un archivo Excel (.xlsx) con los siguientes datos:
- **Información del documento:** Número, fecha, tipo, estado
- **Datos del cliente:** Identificación, nombre, email
- **Detalles financieros:** Subtotal, impuestos, descuentos, total
- **Items:** Descripción, cantidad, precio unitario, total
- **Información de pagos:** Métodos de pago utilizados
#### Respuestas de Error
**422 - Rango de fechas excede 31 días:**
```json
{
"message": "La diferencia de días no puede ser mayor a 31 días",
"status": "ERROR",
"payload": null,
"error": "La diferencia de días no puede ser mayor a 31 días"
}

422 - Fechas inválidas:

{
"message": "Fechas inválidas para para exportar el reporte",
"status": "ERROR",
"payload": null,
"error": "Fechas inválidas para para exportar el reporte"
}

La respuesta del reporte de pagos contiene tres secciones principales:

CampoTipoDescripción
amountnumberMonto total recaudado por este método
codestringCódigo SRI del método de pago
titlestringNombre completo del método de pago
short_namestringNombre corto para visualización
iconstringIcono HTML para la interfaz
CampoTipoDescripción
titlestringNombre del tipo de documento
typestringTipo interno del documento
codestringCódigo SRI del documento
subtotalnumberSubtotal antes de impuestos
discountnumberTotal de descuentos aplicados
taxes_amountnumberTotal de impuestos
totalnumberTotal final del documento
CampoTipoDescripción
taxCodeintegerCódigo del tipo de impuesto
paymentsnumberTotal de pagos con este impuesto
taxesnumberMonto total del impuesto
subtotalnumberSubtotal antes del impuesto
typeTaxTitlestringNombre del tipo de impuesto
taxTitlestringDescripción del porcentaje
itemsarrayDesglose detallado por código SRI

Los reportes soportan el sistema de filtros avanzados. Para más información sobre cómo implementar filtros, consulta la documentación de filtros.

OperadorDescripciónEjemplo
eqIgual a{"eq": "2024-01-15"}
geMayor o igual que{"ge": "2024-01-01"}
leMenor o igual que{"le": "2024-01-31"}
gtMayor que{"gt": "2024-01-01"}
ltMenor que{"lt": "2024-01-31"}
inDentro de una lista{"in": ["invoice", "credit_note"]}

Reporte de pagos del último trimestre:

{
"payment_date": [
{"ge": "2024-01-01"},
{"le": "2024-03-31"}
]
}

Reporte de facturas pagadas con tarjeta:

{
"document_type": [{"eq": "invoice"}],
"payment_method": [{"in": ["19", "16"]}]
}
CódigoDescripciónNombre Corto
01SIN UTILIZACIÓN DEL SISTEMA FINANCIEROEfectivo
15COMPENSACIÓN DE DEUDASComp. Deudas
16TARJETA DE DÉBITOTarjeta/Débito
17DINERO ELECTRÓNICODinero electrónico
18TARJETA PREPAGOTarjeta prepago
19TARJETA DE CRÉDITOTarjeta/Crédito
20OTROS CON UTILIZACIÓN DEL SISTEMA FINANCIEROBanco
21ENDOSO DE TÍTULOSEndoso
CódigoTipoDescripción
01invoiceFactura
04credit_noteNota de crédito
05debit_noteNota de débito
06guideGuía de remisión
07retentionComprobante de retención
CódigoDescripción
200Reporte generado exitosamente
400Error en los parámetros de la solicitud
401Token de autorización inválido
422Error de validación (fechas inválidas o rango excedido)
500Error interno del servidor
  • Los reportes se generan en tiempo real basándose en los datos actuales
  • Las exportaciones de documentos tienen un límite de 31 días para optimizar el rendimiento
  • Los filtros de fecha son obligatorios para las exportaciones
  • Los montos se muestran con 2 decimales de precisión
  • Los iconos HTML están diseñados para usar Font Awesome
  • Los reportes incluyen solo documentos autorizados por el SRI
  • Las fechas deben estar en formato ISO (YYYY-MM-DD)
  • Los archivos exportados se generan en formato Excel (.xlsx)
  • Los reportes respetan los permisos del usuario autenticado