Saltar al contenido principal

Movimientos de la cuenta

Cada crédito o débito sobre una cuenta recaudadora se registra como un movement. Los movimientos son el extracto operativo de la cuenta.

Endpoint

GET /v1/receivable-accounts/{id}/movements

Filtros

ParámetroTipoDescripción
fromDateISO 8601Filtra por movementDate >=
toDateISO 8601Filtra por movementDate <= (inclusive)
movementTypeenumCREDIT o DEBIT
operationTypeenumDEPOSIT, WITHDRAW, TAX_CREDIT, TAX_DEBIT, TAX_ADJUSTMENT_CREDIT, TAX_ADJUSTMENT_DEBIT, ROLLBACK
minAmountdecimalMonto mínimo (absoluto)
maxAmountdecimalMonto máximo (absoluto)
counterPartyTaxIdstringCUIT/CUIL de la contraparte
linkedReceivableIdint64Movimientos asociados a un comprobante específico
unsettledOnlybooleanSolo movimientos pendientes de liquidación
sortstringDefault -movementDate. Acepta movementDate, -movementDate, amount, -amount
page, countintPaginación

Modelo

{
"id": 88123,
"receivableAccountId": 4242,
"amount": 45000.00,
"currencyCode": "ARS",
"movementType": "CREDIT",
"operationType": "DEPOSIT",
"movementDate": "2026-05-15T14:30:00-03:00",
"balanceAfter": 165000.00,
"detail": "Transferencia recibida",
"counterParty": {
"name": "Kiosco Central",
"taxId": "30998888887",
"routingCode": "0000000099887766554433",
"routingType": "CBU"
},
"linkedReceivableId": null,
"linkedSettlementId": null,
"originalMovementId": null,
"rollbackMovementId": null,
"creationDate": "2026-05-15T14:30:01-03:00"
}

Campos

CampoDescripción
movementTypeCREDIT (entró plata) o DEBIT (salió).
operationTypeSub-tipo más específico. DEPOSIT es transferencia entrante, TAX_CREDIT/TAX_DEBIT son retenciones impositivas, ROLLBACK es un reverso.
balanceAfterSaldo de la cuenta luego de este movimiento.
counterPartyDatos del que originó el movimiento (en CREDIT) o destino (en DEBIT).
linkedReceivableIdSi este movimiento es resultado de una operación sobre un comprobante específico. Generalmente null para depósitos entrantes.
linkedSettlementIdSi este movimiento es parte de un ciclo de liquidación.
originalMovementIdSi este movimiento es un ROLLBACK, apunta al movimiento original revertido.
rollbackMovementIdSi este movimiento fue revertido por otro, apunta al movimiento de reverso.
Vínculo con comprobantes

El sistema no vincula automáticamente los DEPOSIT entrantes con comprobantes específicos. Si un cliente tiene varias facturas pendientes, no se puede inferir cuál está pagando. La imputación, si el customer la necesita, se hace desde el ERP. Ver Lifecycle de comprobantes.

Reversos (rollback)

Cuando se revierte un movimiento (por ejemplo, una transferencia rechazada por COELSA luego de acreditarse), aparece un nuevo movimiento con:

  • operationType: ROLLBACK
  • movementType opuesto al original (si el original era CREDIT, el rollback es DEBIT)
  • originalMovementId: el ID del movimiento revertido
  • Mismo monto absoluto que el original

El movimiento original también queda actualizado con rollbackMovementId apuntando al rollback. Esto permite rastrear ambos sentidos.

Ejemplo: extracto del último mes

const movements = [];
let page = 1;

while (true) {
const res = await fetch(
`/v1/receivable-accounts/${accountId}/movements?` +
`fromDate=2026-04-01T00:00:00-03:00&toDate=2026-04-30T23:59:59-03:00&` +
`page=${page}&count=200`,
{ headers: { Authorization: `Bearer ${token}` } }
);

if (res.status === 204) break;
const batch = await res.json();
movements.push(...batch);

const total = parseInt(res.headers.get('X-Total-Count'), 10);
if (page * 200 >= total) break;
page++;
}

console.log(`Total movements en abril: ${movements.length}`);

Exports asíncronos

Para volúmenes grandes, conviene usar reportes asíncronos en lugar de paginar. Ver Reportes (próximamente).