Skip to content

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.

POST /api/receipts

Authorization: Bearer sk_live_YOUR_API_KEY or Authorization: Bearer JWT_TOKEN

{
"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"
}
]
}

The request body shares the same structure as Facturas, with these differences:

FieldDifference
seriesMust match pattern B\d{3} (e.g., B001)
customer.identityTypeTypically 1 (DNI) for individuals, but also accepts 4, 7, 0
FieldTypeRequiredDescription
seriesstringYesReceipt series. Must match pattern B\d{3} (e.g., B001)
correlativenumberNoSequential number. Auto-assigned if omitted
issueDatestringYesIssue date in YYYY-MM-DD format
dueDatestringNoDue date in YYYY-MM-DD format
currencyCodestringNoISO 4217 currency code. Default: PEN
customerobjectYesCustomer data
itemsarrayYesLine items (minimum 1)
observationsstringNoFree-text observations
purchaseOrderstringNoPurchase order reference
paymentTermsstringNoPayment terms description
detractionobjectNoDetraction data

For full details on customer, items, and detraction objects, see the Facturas reference.

{
"id": "cm3def456",
"documentId": "20123456789-03-B001-00000001",
"status": "ACCEPTED",
"cdrResponseCode": "0",
"cdrDescription": "La Boleta de Venta numero B001-00000001, ha sido aceptada",
"ticket": null
}
{
"statusCode": 400,
"error": "Bad Request",
"message": "Validation error: series must match pattern B\\d{3}"
}
AspectFactura (01)Boleta (03)
Series prefixFB
Customer identityRUC required (type 6)DNI or other (type 1, 4, 7, 0)
Use caseB2B transactionsB2C transactions
SUNAT methodsendBill (sync)sendBill (sync)