Boletas (03)
Boletas de Venta (receipts) are used for B2C transactions in Peru. The customer can be identified with a DNI, passport, or other identity document.
Endpoint
Section titled “Endpoint”POST /api/receipts
Authentication
Section titled “Authentication”Authorization: Bearer sk_live_YOUR_API_KEY or Authorization: Bearer JWT_TOKEN
Request body
Section titled “Request body”{ "series": "B001", "correlative": 1, "issueDate": "2026-02-20", "currencyCode": "PEN", "customer": { "identityType": "1", "identityNumber": "12345678", "name": "Juan Perez" }, "items": [ { "code": "SRV-002", "description": "Corte de cabello premium", "quantity": 1, "unitCode": "ZZ", "unitPrice": 50.00, "igvType": "10" } ]}Field reference
Section titled “Field reference”The request body shares the same structure as Facturas, with these differences:
| Field | Difference |
|---|---|
series | Must match pattern B\d{3} (e.g., B001) |
customer.identityType | Typically 1 (DNI) for individuals, but also accepts 4, 7, 0 |
Root fields
Section titled “Root fields”| Field | Type | Required | Description |
|---|---|---|---|
series | string | Yes | Receipt series. Must match pattern B\d{3} (e.g., B001) |
correlative | number | No | Sequential number. Auto-assigned if omitted |
issueDate | string | Yes | Issue date in YYYY-MM-DD format |
dueDate | string | No | Due date in YYYY-MM-DD format |
currencyCode | string | No | ISO 4217 currency code. Default: PEN |
customer | object | Yes | Customer data |
items | array | Yes | Line items (minimum 1) |
observations | string | No | Free-text observations |
purchaseOrder | string | No | Purchase order reference |
paymentTerms | string | No | Payment terms description |
detraction | object | No | Detraction data |
For full details on customer, items, and detraction objects, see the Facturas reference.
Response
Section titled “Response”Success (201 Created)
Section titled “Success (201 Created)”{ "id": "cm3def456", "documentId": "20123456789-03-B001-00000001", "status": "ACCEPTED", "cdrResponseCode": "0", "cdrDescription": "La Boleta de Venta numero B001-00000001, ha sido aceptada", "ticket": null}Validation error (400 Bad Request)
Section titled “Validation error (400 Bad Request)”{ "statusCode": 400, "error": "Bad Request", "message": "Validation error: series must match pattern B\\d{3}"}Differences from Facturas
Section titled “Differences from Facturas”| Aspect | Factura (01) | Boleta (03) |
|---|---|---|
| Series prefix | F | B |
| Customer identity | RUC required (type 6) | DNI or other (type 1, 4, 7, 0) |
| Use case | B2B transactions | B2C transactions |
| SUNAT method | sendBill (sync) | sendBill (sync) |