Issue sales receipt (boleta)
Service to issue SUNAT-valid electronic sales receipts (boletas). Boletas are used for B2C transactions.
Important usage rules
tipoIntegracion:OFFLINE→ your own ERP handles the correlative (series/number).ERP→ tefacturo handles the correlative.numero(indatosDocumento): it cannot be duplicated. If the number was already used, map/track the correlative so it is not resent.fechaEmision: an electronic document (CPE) can be declared with at most 3 days of backdating.- Replace the fixed example RUC with the issuer RUC used in the URL and token; all three must match.
- Response 200 values such as series, number, hash, signature, and identifier are illustrative; the API generates their actual values for each request.
https://jarvis.tefacturo.pe/boleta-api/invoice2u/integracion/boleta/{ruc}Service to issue electronic sales receipts (boletas). Replace {ruc} with the issuer RUC. The document will be digitally signed and submitted to SUNAT.
Headers
| Header | Value | Description |
|---|---|---|
| Authorization | Bearer {token} | Authentication token obtained from the login endpoint. |
| Content-Type | application/json | Content type for the request body. |
Request Body
The JSON structure is similar to invoices. The right panel mirrors the same receipt cases from the JSON examples page: taxed receipt, unaffected receipt, and free-transfer receipt.
Successful Response (200)
La respuesta confirma que la boleta fue emitida correctamente y retorna los datos generados del comprobante: firma, hash, identificador, serie, número, total, observación y tipo_documento. A diferencia de las facturas, las boletas se envían a SUNAT a través de resúmenes diarios.
Differences vs Invoice
| Aspect | Invoice | Receipt |
|---|---|---|
| Serie | Inicia con "F" (ej: FFA6) | Inicia con "B" (ej: BBV5) |
| Receptor | Siempre RUC | DNI, CE, Pasaporte o RUC |
| Envío a SUNAT | Inmediato (tiempo real) | Mediante resumen diario |
| Uso | Transacciones B2B | Transacciones B2C |
Price Record Type
El campo tipoRegistro funciona igual que en la factura:
| Value | Description |
|---|---|
| PRECIOS_SIN_IGV | Los precios NO incluyen IGV. El sistema calcula el 18% automáticamente. |
| PRECIOS_CON_IGV | Los precios YA incluyen IGV. El sistema descompone base imponible e impuesto. |
IGV Calculation Note
The field sent in each item depends on whether the operation is taxed with IGV and on close2u.tipoRegistro.
| Case | Field to send | System interpretation |
|---|---|---|
| Gravado + PRECIOS_SIN_IGV | valorVentaUnitarioItem | Valor de venta sin IGV. El sistema calcula el IGV y obtiene el precio de venta. |
| Gravado + PRECIOS_CON_IGV | precioVentaUnitarioItem | Precio de venta con IGV. El sistema lo descompone para reemplazar/obtener el valor de venta y el impuesto. |
| Exonerado o inafecto | valorVentaUnitarioItem | No hay IGV por calcular. En ausencia de IGV, el sistema asume el valor enviado como base y lo usa como precio de venta. |
| Free transfer or withdrawal | valorReferencialUnitarioItem | Required when tipoAfectacion is a free transfer or withdrawal value. Without it the API rejects the item because it has no reference price. |
| Export | tipoAfectacion: "EXPORTACION" | When informacionAdicional.tipoOperacion is export, every item must use the export affectation. |
Detraction note: Only include the detraccion object when the sale amount reaches the required threshold: S/ 700 for general detraction cases and S/ 400 for passenger transport when applicable.
Field Reference
Los campos son idénticos a los de la factura. Consulta la referencia completa de campos de factura para la tabla detallada de cada objeto.
Nota: Para boletas, el campo tipoDocumentoIdentidad del receptor puede ser DNI, CE o PASAPORTE además de RUC. Si el monto total es menor a S/ 700, el receptor puede omitir su documento de identidad.
Error Handling
| Code | Status | Description |
|---|---|---|
| 400 | Bad Request | Validation errors in the request body. |
| 401 | Unauthorized | Invalid or expired authentication token. |
| 403 | Forbidden | You do not have permission to issue receipts with the provided RUC. |
| 404 | Not Found | El RUC proporcionado no está registrado en el sistema. |
| 500 | Internal Server Error | Internal server error. Try again or contact support. |