Ir al contenido

Comprobante emitido

Identificador del evento: voucher.issued

IDPOS le avisa de que se emitió un comprobante: una boleta, una factura o una nota de crédito. El aviso trae sus importes, ítems, pagos y el documento que lo originó.

Cuando se emite una boleta (RECEIPT), una factura (INVOICE) o una nota de crédito (CREDIT_NOTE).

CampoQué indica
typeEl tipo de comprobante: RECEIPT, INVOICE o CREDIT_NOTE.
documentEl documento que originó el comprobante: ORDER (orden).
related_voucherEl comprobante relacionado cuando existe. Si no existe, es null.
  • Guardar el comprobante electrónico en su sistema contable, con su serie y su número.
  • Conservar el detalle de impuestos de cada comprobante: base, IGV, ISC y monto exonerado.
  • Relacionar el comprobante con su orden de origen y con sus pagos.
  1. Verifique la firma.

    Calcule el HMAC con el cuerpo crudo y compárelo con X-Webhook-Signature. Si no coincide, no procese el evento. Los pasos están en Autenticación y firma.

  2. Responda 2xx de inmediato.

    Guarde el evento en una cola y responda sin esperar a procesarlo. Si tarda más que el tiempo de espera, IDPOS lo trata como fallido y lo reintenta.

  3. Descarte los duplicados.

    Si ya procesó ese event_id del cuerpo, ya verificado, no lo procese otra vez. Como segunda clave use event_type junto con data.id (por ejemplo, voucher.issued y el id del comprobante).

  4. Procese el evento en segundo plano.

    Guarde el comprobante en su sistema e identifíquelo por data.id o por su series y number. Use type para distinguir boletas, facturas y notas de crédito.

voucher.issued.json
{
"event_id": "01J9ZK7T4Y2Q5A8P9W1D6E3F2G",
"event_type": "voucher.issued",
"timestamp": "2026-10-12T19:46:00Z",
"api_version": "v1",
"data": {
"id": "1c3e5a7b-9d1f-4a35-8c7e-0b2d4f6a8c14",
"type": "RECEIPT",
"series": "B001",
"number": 4521,
"issue_date": "2026-10-12 00:00:00",
"due_date": "2026-10-12",
"status": "sent",
"observations": null,
"currency": "PEN",
"igv_percentage": "18.00000",
"base_amount": "48.30508",
"other_charges_amount": "0.00000",
"isc_amount": "0.00000",
"exonerated_amount": "0.00000",
"igv_amount": "8.69492",
"global_discount_amount": "0.00000",
"total_discount_amount": "6.00000",
"total_amount": "57.00000",
"customer": {
"identification_type": "DNI",
"identification_value": "12345678",
"name": "CLIENTE EJEMPLO",
"address": null
},
"document": {
"id": "9b6f0c3e-1a2d-4c55-8f01-3d2a7e6b9a10",
"type": "ORDER",
"reference": "OV-001234",
"datetime": "2026-10-12 19:30:00"
},
"items": [
{
"sku": "HAM-001",
"external_id": "100234",
"name": "Hamburguesa Clásica",
"quantity": 2,
"unit_value": "25.42373",
"unit_price": "30.00000",
"base_amount": "45.76271",
"discount_amount": "6.00000",
"discount_reason": "Promo almuerzo",
"igv_type": 1,
"igv_amount": "8.23729",
"total_amount": "54.00000"
},
{
"sku": "TOP-QSO",
"external_id": null,
"name": "Queso extra",
"quantity": 1,
"unit_value": "2.54237",
"unit_price": "3.00000",
"base_amount": "2.54237",
"discount_amount": "0.00000",
"discount_reason": null,
"igv_type": 1,
"igv_amount": "0.45763",
"total_amount": "3.00000"
}
],
"payments": [
{
"method_id": "1b3d5f7a-9c2e-4d6b-8f1a-3c5e7a9b2d93",
"method_name": "Visa",
"method_type": "card",
"amount": "57.00000",
"last_four_digits": "1111",
"reference_number": "123456",
"approval_code": "A1B2C3"
}
],
"related_voucher": null,
"store": {
"id": "6a8c0e2f-5b7d-4d9b-9e3a-4f6b8d0c2e53",
"name": "Tienda Centro",
"external_id": "T01"
}
}
}

Cómo leer las tablas: el tipo aparece debajo del nombre del campo y «nulo» indica que puede venir como null. Los demás términos están en la guía de lectura de campos.

CampoDescripción
id
string (UUID)
Identificador del comprobante
type
string · nulo
Tipo de comprobante: INVOICE (factura), RECEIPT (boleta) o CREDIT_NOTE (nota de crédito)
series
string
Serie
number
entero · nulo
Número
issue_date
string · nulo
Fecha de emisión (AAAA-MM-DD HH:mm:ss)
due_date
string · nulo
Fecha de vencimiento (AAAA-MM-DD)
status
string · nulo
Estado del comprobante
observations
string · nulo
Observaciones
currency
string
Nombre de la moneda
igv_percentage
string (5 dec)
Porcentaje de IGV
base_amount
string (5 dec)
Base imponible
other_charges_amount
string (5 dec)
Otros cargos
isc_amount
string (5 dec)
Monto de ISC
exonerated_amount
string (5 dec)
Monto exonerado
igv_amount
string (5 dec)
Monto de IGV
global_discount_amount
string (5 dec)
Descuento global
total_discount_amount
string (5 dec)
Descuento total por líneas
total_amount
string (5 dec)
Monto total
store
objeto
Tienda (id, name, external_id)
CampoDescripción
customer
objeto
Cliente
customer.identification_type
string · nulo
Tipo de documento de identidad
customer.identification_value
string · nulo
Número de documento de identidad
customer.name
string · nulo
Nombre o razón social
customer.address
string · nulo
Dirección del cliente
CampoDescripción
document
objeto
Documento de origen
document.id
string (UUID) · nulo
Identificador del documento
document.type
string · nulo
Tipo de documento de origen: ORDER (orden)
document.reference
string · nulo
Referencia del documento
document.datetime
string · nulo
Fecha y hora del documento (AAAA-MM-DD HH:mm:ss)
CampoDescripción
items
lista
Ítems del comprobante
items[].sku
string · nulo
Código del ítem
items[].external_id
string · nulo
Código externo del ítem
items[].name
string
Descripción del ítem
items[].quantity
número
Cantidad
items[].unit_value
string (5 dec)
Valor unitario
items[].unit_price
string (5 dec)
Precio unitario
items[].base_amount
string (5 dec)
Base imponible de la línea
items[].discount_amount
string (5 dec)
Descuento de la línea
items[].discount_reason
string · nulo
Motivo del descuento
items[].igv_type
entero
Código de afectación al IGV
items[].igv_amount
string (5 dec)
Monto de IGV de la línea
items[].total_amount
string (5 dec)
Total de la línea
CampoDescripción
payments
lista
Pagos
payments[].method_id
string (UUID)
Identificador del medio de pago
payments[].method_name
string
Nombre del medio de pago
payments[].method_type
string
Tipo de medio de pago
payments[].amount
string (5 dec)
Monto del pago
payments[].last_four_digits
string · nulo
Últimos cuatro dígitos de la tarjeta
payments[].reference_number
string · nulo
Número de referencia
payments[].approval_code
string · nulo
Código de aprobación
CampoDescripción
related_voucher
objeto · nulo
Comprobante relacionado
related_voucher.id
string (UUID)
Identificador del comprobante
related_voucher.type
string · nulo
Tipo de comprobante
related_voucher.series
string · nulo
Serie
related_voucher.number
entero · nulo
Número
related_voucher.status
string · nulo
Estado
related_voucher.issue_date
string · nulo
Fecha de emisión
related_voucher.due_date
string · nulo
Fecha de vencimiento