Saltar al contenido principal

Registrar notas de crédito y ajustes

Esta guía cubre cómo emitir comprobantes de tipo "negativo" (que restan deuda) vinculados a un comprobante padre: notas de crédito, devoluciones, faltantes, ajustes y retenciones impositivas.

Tipos negativos

TipoCaso de uso
CREDIT_NOTENota de crédito de AFIP que cancela parcial o totalmente una factura
MISSING_PRODUCTProducto faltante en la entrega
RETURN_PRODUCTProducto devuelto por el cliente
BROKEN_PRODUCTProducto roto/dañado
ADJUSTMENTAjuste a favor del cliente (sin causa fiscal específica)
RETENTIONRetención impositiva aplicada por el cliente sobre el pago

Modelo

Un comprobante hijo se vincula a su padre con parentReceivableId:

Saldo efectivo del padre 99001: 45.000 - 5.000 - 1.350 = 38.650.

Crear una nota de crédito

POST /v1/receivables
Idempotency-Key: erp-nc-2026-05-20-001
Content-Type: application/json

{
"receivableAccountId": 4242,
"parentReceivableId": 99001,
"amount": 5000.00,
"currencyCode": "ARS",
"receivableType": "CREDIT_NOTE",
"legalNumber": "0001-NC-00001",
"description": "Nota de crédito por descuento comercial"
}

Validaciones

ValidaciónError si falla
parentReceivableId requerido para tipos negativosmissing-parent-receivable
Padre debe pertenecer a la misma cuenta recaudadoraparent-receivable-different-account
Padre debe estar en PENDING, PAID, o EXPIRED (no en estado final)parent-receivable-not-modifiable
Padre debe ser de tipo positivo (INVOICE o DEBT)parent-receivable-invalid-type

Respuesta

201 Created
Location: /v1/receivables/99100

{
"id": 99100,
"receivableAccountId": 4242,
"parentReceivableId": 99001,
"amount": 5000.00,
"currencyCode": "ARS",
"receivableType": "CREDIT_NOTE",
"status": "PENDING",
...
}

Listar hijos de un comprobante

GET /v1/receivables?parentReceivableId=99001

Devuelve todos los comprobantes hijos de uno padre. Útil para mostrar el detalle de descuentos aplicados a una factura.

Caso retención impositiva

Una retención (RETENTION) representa el monto que el cliente descuenta del pago por aplicación de impuestos (IIBB, IVA, ganancias, etc.). Se emite como un comprobante hijo de la factura original.

// El cliente nos avisa que retuvo 3% de IIBB sobre $45.000
await maxpay.post('/v1/receivables', {
headers: { 'Idempotency-Key': `erp-ret-iibb-${facturaId}` },
body: {
receivableAccountId: 4242,
parentReceivableId: 99001,
amount: 1350.00, // 3% de 45.000
currencyCode: 'ARS',
receivableType: 'RETENTION',
description: 'Retención IIBB 3%',
invoiceData: {
authCodeType: 'CERT_RETENCION',
authCode: '2026-IIBB-1234567'
}
}
});

Al cobrar el pago, el cliente transfiere 45.000 - 1.350 = 43.650. Ambos comprobantes (factura y retención) quedarán en SETTLED al cierre de la liquidación.

Restricciones operativas

  • Cancelar el padre antes que los hijos no se permite. Hay que anular los hijos primero, después el padre. Ver Lifecycle → anulación.