Liquidaciones
Las liquidaciones son los ciclos periódicos que mueven fondos de las cuentas recaudadoras a la cuenta corriente MAIN del customer, aplicando comisiones e impuestos.
Son read-only: la API permite consultar liquidaciones ya ocurridas, pero no dispararlas. La liquidación se ejecuta de forma automática según la configuración del customer (en general, una vez por día por cuenta recaudadora).
Modelo
{
"id": 9001,
"cycleDate": "2026-05-14",
"status": "SETTLED",
"settledAt": "2026-05-14T18:00:00-03:00",
"currencyCode": "ARS",
"summary": {
"receivablesSettled": {
"count": 547,
"amount": 4500000.00
},
"collectedAmount": 4450000.00,
"difference": -50000.00,
"byPaymentMethod": [
{ "method": "CVU", "amount": 3500000.00, "count": 234 },
{ "method": "CASH", "amount": 950000.00, "count": 87 },
{ "method": "CVU_TAX", "amount": 12500.00, "count": 45 }
],
"fees": [
{ "type": "PROCESSING_FEE", "amount": 22500.00, "description": "Comisión sobre cobranza" },
{ "type": "TAX_IIBB", "amount": 270000.00, "description": "Retención IIBB" },
{ "type": "TAX_IVA", "amount": 12150.00, "description": "IVA sobre comisión" }
],
"netAmount": 4195350.00
},
"source": {
"receivableAccountId": 4242
},
"destination": {
"currentAccountId": 17,
"accountType": "MAIN"
},
"itemsCount": 547,
"creationDate": "2026-05-14T18:00:00-03:00"
}
Estados
| Estado | Significado |
|---|---|
SCHEDULED | Liquidación programada, aún no ejecutada |
PROCESSING | En ejecución (típicamente segundos) |
SETTLED | Completada exitosamente |
FAILED | Falló durante la ejecución. Si esto ocurre, contactar a soporte con el id. |
Resumen
| Campo | Descripción |
|---|---|
receivablesSettled.count | Cantidad de comprobantes marcados como SETTLED en este ciclo |
receivablesSettled.amount | Suma del monto facturado en esos comprobantes |
collectedAmount | Suma del monto efectivamente cobrado (entró a la cuenta recaudadora) |
difference | collectedAmount - receivablesSettled.amount. Negativo = se facturó más de lo que se cobró |
byPaymentMethod | Desglose de lo cobrado por método de pago (CVU, CASH, CVU_TAX, etc.) |
fees[] | Comisiones e impuestos aplicados |
netAmount | Monto neto liquidado a la cuenta destino (collectedAmount - sum(fees)) |
Como el sistema no vincula automáticamente movimientos con comprobantes, puede haber discrepancias:
- Diferencia negativa (
difference < 0): se facturó más de lo que efectivamente entró. Quedaron comprobantes sin cobrar pero igual se marcaron comoSETTLEDpara cerrar el ciclo. - Diferencia positiva (
difference > 0): entró más plata de la facturada (ej. pago de comprobantes emitidos en ciclos anteriores).
El control contable lo hace el integrador del lado del ERP usando el reporte de liquidación.
Endpoints
| Método | Path | Descripción |
|---|---|---|
GET | /v1/settlements | Lista con filtros |
GET | /v1/settlements/{id} | Detalle |
GET | /v1/settlements/{id}/items | Detalle de los comprobantes liquidados |
Filtros
GET /v1/settlements
| Parámetro | Tipo | Descripción |
|---|---|---|
receivableAccountId | int64 | Liquidaciones de una cuenta puntual |
status | enum | SCHEDULED, PROCESSING, SETTLED, FAILED |
fromDate, toDate | YYYY-MM-DD | Rango de cycleDate |
currentAccountId | int64 | Liquidaciones que entraron a una cuenta corriente |
page, count | int | Paginación |
Items de una liquidación
GET /v1/settlements/{id}/items lista los comprobantes que fueron marcados como SETTLED en ese ciclo, útil para conciliación contable:
[
{
"id": 88001,
"settlementId": 9001,
"receivableId": 99001,
"receivableLegalNumber": "0001-00012345",
"receivableType": "INVOICE",
"clientId": 1042,
"associateId": 88,
"grossAmount": 45000.00,
"fees": [
{ "type": "PROCESSING_FEE", "amount": 225.00 }
],
"netAmount": 44775.00,
"relatedMovementIds": [88123, 88130]
},
...
]
Paginación estándar con page, count.
Webhook
{
"type": "settlement.completed",
"data": {
"settlement": { ... el objeto completo ... }
}
}
El evento dispara una vez por liquidación, ni bien pasa al estado SETTLED. Cada comprobante individualmente también dispara receivable.settled.
Exports
Para conciliación contable mensual, usar reportes asíncronos:
POST /v1/reports/settlements
{
"fromDate": "2026-05-01",
"toDate": "2026-05-31",
"format": "XLSX"
}