Comprobantes
Recibo Electrónico de Pago
Emití Recibos Electrónicos de Pago (tipo 10) para documentar el cobro total o parcial de una venta a crédito.
El Recibo Electrónico de Pago (document_type: "10", REP) es un comprobante nuevo de la versión 4.4. Documenta que recibiste un pago, total o parcial, de un comprobante emitido antes a crédito. No reemplaza la factura original: la complementa con la fecha y el monto de cada cobro.
Cuándo usarlo
Sección titulada «Cuándo usarlo»El REP es opcional para la mayoría de los contribuyentes. Tiene sentido cuando el momento del cobro importa para tus impuestos, por ejemplo:
- Ventas a crédito con IVA diferido hasta 90 días (artículo 27 de la Ley del IVA), facturadas con
sale_condition: "10". - Servicios prestados al Estado a crédito, facturados con
sale_condition: "08".
Si no estás seguro de si tu caso lo requiere, confirmalo con tu contador. Emitir una factura a crédito no te obliga a emitir un REP.
Qué lo distingue
Sección titulada «Qué lo distingue»| Campo | Regla en el REP |
|---|---|
receiver |
Obligatorio, con type, id, name y email |
issuer.email |
Obligatorio |
commercial_info.sale_condition |
Solo 09 (pago de servicios al Estado a crédito) u 11 (pago de venta a crédito con IVA hasta 90 días). 02 se rechaza; cualquier otro valor se envía como 11 |
items |
Una línea por concepto, con el monto recibido. Sin tax |
reference |
Obligatorio: el comprobante que se está pagando |
other_charges |
No se permite |
El REP usa una versión simplificada del emisor y del receptor (nombre, identificación y correo) y de las líneas (descripción y monto). Enviá el cuerpo como en cualquier comprobante: Aster arma el XML simplificado.
El bloque reference
Sección titulada «El bloque reference»| Campo | Valor |
|---|---|
document_type |
Uno de 01 (factura), 04 (tiquete), 07 (procedimiento), 08 (comprobante de contingencia), 10 (comprobante rechazado por Hacienda) o 20 (otro REP) |
number |
La clave de 50 caracteres del comprobante pagado |
date |
La fecha de emisión de ese comprobante |
code |
17 (pago a comprobante electrónico) |
reason |
Una descripción del pago |
El código 17 es exclusivo del REP: Aster lo rechaza en cualquier otro tipo de documento. Lo contrario no aplica: un REP puede usar otros códigos de referencia si tu caso lo requiere.
Ejemplo: abono parcial
Sección titulada «Ejemplo: abono parcial»El 15 de setiembre la ferretería le facturó a Constructora Pacífico Norte ₡1 130 000 con sale_condition: "10" y 60 días de plazo. Hoy recibe una transferencia por la mitad.
{ "document": { "document_type": "10", "activity_code": "475201", "date": "2026-10-08T15:20:00-06:00", "situation": "1", "branch": "001", "terminal": "00001" }, "commercial_info": { "currency": "CRC", "sale_condition": "11", "payment_method": "04" }, "issuer": { "type": "02", "id": "3101654321", "name": "Ferretería La Sabana S.A.", "email": "facturas@ferreterialasabana.cr", "phone": "22905511", "address": { "province": "1", "canton": "08", "district": "01", "details": "Del Más x Menos 200 m sur" } }, "receiver": { "type": "02", "id": "3101778899", "name": "Constructora Pacífico Norte S.A.", "email": "pagos@constructorapacifico.example" }, "items": [ { "line_number": 1, "cabys_code": "4292104010100", "quantity": 1, "unit": "Unid", "description": "Abono a la factura 00100001010000001057", "price": 565000 } ], "reference": { "document_type": "01", "number": "50615092600310165432100100001010000001057183150462", "date": "2026-09-15T09:00:00-06:00", "code": "17", "reason": "Abono parcial a factura a crédito" }}Aster valida la línea igual que en una factura (CABYS, cantidad y unidad), pero el XML del REP solo lleva la descripción y el monto. Usá el CABYS del bien o servicio que se está pagando.
curl https://aster.astranexo.com/api/v1/electronic-documents \ -H "Authorization: Bearer aster_test_8KfQ2mVx3TzL9pRw" \ -H "Content-Type: application/json" \ -H "X-Idempotency-Key: cobro-transferencia-55120" \ --data @recibo-pago.json{ "success": true, "message": "Document submitted for processing.", "data": { "id": 360, "document_key": "50608102600310165432100100001100000000012115728390", "consecutive_number": "00100001100000000012", "document_type": "10", "document_type_name": "Recibo Electrónico de Pago", "status": "processing", "environment": "staging", "queued_at": "2026-10-08T21:20:01Z" }}Pagos parciales
Sección titulada «Pagos parciales»Emití un REP por cada pago recibido, todos con la misma clave en reference.number. Cuando llegue el segundo abono de ₡565 000, enviás otro REP igual con la fecha y el monto de ese cobro.
Como cualquier comprobante, cada REP consume un consecutivo propio del tipo 10.
Errores que Aster detecta antes de firmar
Sección titulada «Errores que Aster detecta antes de firmar»| Situación | Respuesta |
|---|---|
Falta reference |
422 en reference |
reference.document_type fuera de 01, 04, 07, 08, 10 o 20 |
422 en reference.document_type |
reference.number no es una clave de 50 caracteres |
422 en reference.number |
sale_condition: "02" |
422 en commercial_info.sale_condition |
| Receptor sin correo | 422 en receiver.email |
| Total igual a cero, o impuestos mayores que cero | 422 en totals |
code: "17" en un documento que no es REP |
422 en reference.code |
Ver errores.