Ir al contenido
SitioCrear cuenta

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.

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.

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.

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.

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.

recibo-pago.json
{
"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.

Terminal
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
201 Created
{
"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"
}
}

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.

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.