Ejemplos por país
➕ Crear documentos
Colección de Postman
Para ayudarle con su integración, descargue nuestra colección de Postman aquí: https://github.com/koyweforest/api-billing-postman
Para facilitar las pruebas, puede usar la siguiente información al emitir documentos
| account_id | RUC | legal_name | activity | postalcode |
|---|---|---|---|---|
| 16268 | 20610383727 |
Factura (Factura electrónica)
Para crear una nueva factura peruana, debe usar el endpoint /documents con los parámetros adecuados.
- Endpoint: https://apifacto.com/v1/documents
- Método: POST
- Cabeceras requeridas:
- Content-Type: application/json
- Authorization: Bearer \<token>
- Accept: */*
{
"header":{
"account_id":16268,
"document_type_id":"96",
"document_sequence_code":"F001",
"received_issued_flag":0,
"issue_date":"2025-02-03",
"issuer_tax_id_code":"20610383727",
"issuer_tax_id_type":"PE-RUC",
"issuer_legal_name":"<string>",
"issuer_address":"<string>",
"issuer_district":"<string>",
"issuer_city":"<string>",
"issuer_department":"<string>",
"issuer_country_id":"83",
"issuer_phone":"<string>",
"issuer_activity":"<string>",
"issuer_postalcode":"12345456",
"receiver_tax_id_code":"20473731828",
"receiver_tax_id_type":"PE-RUC",
"receiver_legal_name":"ESCUELA KEMPER URGATES",
"receiver_address":"<string>",
"receiver_district":"<string>",
"receiver_city":"<string>",
"receiver_department":"<string>",
"receiver_country_id":"83",
"receiver_phone":"<string>",
"receiver_activity":"<string>",
"receiver_postalcode":"12343456",
"payment_conditions":"0",
"currency_id":7,
"additional":{
"pe_header":{
"signature_id":"ASDFG",
"operation_type":"0101"
}
}
},
"details":[
{
"quantity":1,
"line_description":"Prueba Koywe",
"unit_measure":"NIU",
"unit_price":1000,
"long_description":"Test descripcion",
"modifier_amount":0,
"total_taxes":180,
"modifier_percentage":0,
"total_amount_line":1180,
"sku":"3245",
"taxes":[
{
"tax_type_id":"413",
"tax_percentage":18,
"tax_amount":180
}
]
}
],
"totals":{
"net_amount":1000,
"taxes_amount":180,
"total_amount":1180
}
}
Factura con costo cero (Factura electrónica con costo cero)
Para crear una factura peruana con costo cero (por ejemplo, muestras promocionales), debe usar el endpoint /documents con los parámetros adecuados. Los montos de la línea y los totales deben ser cero, e incluya el campo tax_base_amount en los impuestos para indicar la base imponible de referencia.
- Endpoint: https://apifacto.com/v1/documents
- Método: POST
- Cabeceras requeridas:
- Content-Type: application/json
- Authorization: Bearer \<token>
- Accept: */*
{
"header":{
"account_id":16268,
"document_type_id":"96",
"document_sequence_code":"FZ03",
"received_issued_flag":0,
"issue_date":"2026-07-01",
"issuer_tax_id_code":"20610383727",
"issuer_tax_id_type":"PE-RUC",
"issuer_legal_name":"<string>",
"issuer_address":"<string>",
"issuer_district":"<string>",
"issuer_city":"<string>",
"issuer_department":"<string>",
"issuer_country_id":"83",
"issuer_phone":"<string>",
"issuer_activity":"<string>",
"issuer_postalcode":"12345456",
"receiver_tax_id_code":"20473731828",
"receiver_tax_id_type":"PE-RUC",
"receiver_legal_name":"ESCUELA KEMPER URGATES",
"receiver_address":"<string>",
"receiver_district":"<string>",
"receiver_city":"<string>",
"receiver_department":"<string>",
"receiver_country_id":"83",
"receiver_phone":"<string>",
"receiver_activity":"<string>",
"receiver_postalcode":"12343456",
"payment_conditions":"0",
"currency_id":7,
"observations":"Muestra promocional",
"additional":{
"pe_header":{
"operation_type":"0101"
}
}
},
"details":[
{
"quantity":1,
"line_description":"Prueba Koywe",
"unit_measure":"NIU",
"unit_price":0,
"long_description":"Test descripcion",
"modifier_amount":0,
"total_taxes":0,
"modifier_percentage":0,
"total_amount_line":0,
"sku":"3245",
"taxes":[
{
"tax_type_id":"413",
"tax_percentage":18,
"tax_amount":0,
"tax_base_amount":1000
}
]
}
],
"totals":{
"net_amount":0,
"taxes_amount":0,
"total_amount":0
}
}
Factura con PDF térmico 80mm (Factura electrónica con pdf térmico 80mm)
Para crear una nueva factura peruana, debe usar el endpoint /documents con los parámetros adecuados.
Soporte para térmico 80mm en document_type_id 96, 97 y 100; consulte la tabla de códigos.
- Endpoint: https://apifacto.com/v1/documents
- Método: POST
- Cabeceras requeridas:
- Content-Type: application/json
- Authorization: Bearer \<token>
- Accept: */*
{
"options": {
"template_id": 5000
},
"header":{
"account_id":16268,
"document_type_id":"96",
"received_issued_flag":0,
"issue_date":"2025-02-03",
"issuer_tax_id_code":"20610383727",
"issuer_tax_id_type":"PE-RUC",
"issuer_legal_name":"<string>",
"issuer_address":"<string>",
"issuer_district":"<string>",
"issuer_city":"<string>",
"issuer_department":"<string>",
"issuer_country_id":"83",
"issuer_phone":"<string>",
"issuer_activity":"<string>",
"issuer_postalcode":"12345456",
"receiver_tax_id_code":"20473731828",
"receiver_tax_id_type":"PE-RUC",
"receiver_legal_name":"ESCUELA KEMPER URGATES",
"receiver_address":"<string>",
"receiver_district":"<string>",
"receiver_city":"<string>",
"receiver_department":"<string>",
"receiver_country_id":"83",
"receiver_phone":"<string>",
"receiver_activity":"<string>",
"receiver_postalcode":"12343456",
"payment_conditions":"0",
"currency_id":7,
"additional":{
"pe_header":{
"signature_id":"ASDFG",
"operation_type":"0101"
}
}
},
"details":[
{
"quantity":1,
"line_description":"Prueba Koywe",
"unit_measure":"NIU",
"unit_price":1000,
"long_description":"Test descripcion",
"modifier_amount":0,
"total_taxes":180,
"modifier_percentage":0,
"total_amount_line":1180,
"sku":"3245",
"taxes":[
{
"tax_type_id":"413",
"tax_percentage":18,
"tax_amount":180
}
]
}
],
"totals":{
"net_amount":1000,
"taxes_amount":180,
"total_amount":1180
}
}
Factura de exportación (Factura electrónica para casos de exportación)
Para crear una nueva factura de exportación peruana, debe usar el endpoint /documents con los parámetros adecuados. Tenga en cuenta que, a diferencia de otros países, el tipo de documento es el mismo que las facturas regulares, ya que es solo un caso especial de la factura electrónica estándar.
- Endpoint: https://apifacto.com/v1/documents
- Método: POST
- Cabeceras requeridas:
- Content-Type: application/json
- Authorization: Bearer \<token>
- Accept: */*
{
"header":{
"account_id":179,
"document_type_id":"96",
"document_sequence_code":"F001",
"received_issued_flag":0,
"issue_date":"2025-04-21",
"issuer_tax_id_code":"20610383727",
"issuer_tax_id_type":"PE-RUC",
"issuer_legal_name":"<string>",
"issuer_address":"<string>",
"issuer_district":"<string>",
"issuer_city":"<string>",
"issuer_department":"<string>",
"issuer_country_id":"83",
"issuer_phone":"<string>",
"issuer_activity":"<string>",
"issuer_postalcode":"12345456",
"receiver_tax_id_code":"851855616",
"receiver_tax_id_type":"US-EIN",
"receiver_legal_name":"ESCUELA KEMPER URGATES",
"receiver_address":"<string>",
"receiver_district":"<string>",
"receiver_city":"<string>",
"receiver_department":"<string>",
"receiver_country_id":"83",
"receiver_phone":"<string>",
"receiver_activity":"<string>",
"receiver_postalcode":"12343456",
"payment_conditions":"0",
"currency_id":7,
"additional":{
"pe_header":{
"signature_id":"ASDFG",
"operation_type":"0200"
}
}
},
"details":[
{
"quantity":1,
"line_description":"Prueba ROW",
"unit_measure":"NIU",
"unit_price":1000,
"long_description":"Test descripcion",
"modifier_amount":0,
"total_taxes":0,
"modifier_percentage":0,
"total_amount_line":1000,
"sku":"3245",
"taxes":[
{
"tax_type_id":"425",
"tax_percentage":0,
"tax_amount":0
}
]
}
],
"totals":{
"net_amount":1000,
"taxes_amount":0,
"total_amount":1000
}
}
Factura con referencia a otros documentos (reference_number)
Para crear una nueva factura peruana con documentos referenciados, debe usar el endpoint /documents con los parámetros adecuados y agregar el campo reference_number que indica el número del documento original al que se refiere la factura.
Use reference_number o reference_document_id para identificar el documento referido (no ambos a la vez). Si el documento ya existe en Facto, puede usar reference_document_id en lugar de reference_number. Los campos reference_date y description son obligatorios.
Sobre reference_code:
"09": referencia a una guía de remisión (document_type_id"100")."99": referencia a cualquier otro documento (por ejemplo, un anticipo).
Este ejemplo usa reference_code "99" para referenciar otro documento (anticipo).
- Endpoint: https://apifacto.com/v1/documents
- Método: POST
- Cabeceras requeridas:
- Content-Type: application/json
- Authorization: Bearer \<token>
- Accept: */*
{
"header":{
"account_id":16268,
"document_type_id":"96",
"document_sequence_code":"FZ01",
"received_issued_flag":0,
"issue_date":"2026-07-28",
"issuer_tax_id_code":"20610383727",
"issuer_tax_id_type":"PE-RUC",
"issuer_legal_name":"<string>",
"issuer_address":"<string>",
"issuer_district":"<string>",
"issuer_city":"<string>",
"issuer_department":"<string>",
"issuer_country_id":"83",
"issuer_phone":"<string>",
"issuer_activity":"<string>",
"issuer_postalcode":"12345456",
"receiver_tax_id_code":"20473731828",
"receiver_tax_id_type":"PE-RUC",
"receiver_legal_name":"ESCUELA KEMPER URGATES",
"receiver_address":"<string>",
"receiver_district":"<string>",
"receiver_city":"<string>",
"receiver_department":"<string>",
"receiver_country_id":"83",
"receiver_phone":"<string>",
"receiver_activity":"<string>",
"receiver_postalcode":"12343456",
"payment_conditions":"0",
"currency_id":7,
"additional":{
"pe_header":{
"signature_id":"ASDFG",
"operation_type":"0101"
}
}
},
"details":[
{
"quantity":1,
"line_description":"Prueba Koywe",
"unit_measure":"NIU",
"unit_price":1000,
"long_description":"Test descripcion",
"modifier_amount":0,
"total_taxes":180,
"modifier_percentage":0,
"total_amount_line":1180,
"sku":"3245",
"taxes":[
{
"tax_type_id":"413",
"tax_percentage":18,
"tax_amount":180
}
]
}
],
"references":[
{
"document_type_id":"96",
"reference_number":"FZ01-00000046",
"reference_code":"99",
"description":"Anticipo",
"reference_date":"2026-07-28"
}
],
"totals":{
"net_amount":1000,
"taxes_amount":180,
"total_amount":1180
}
}
Factura con referencia a otros documentos (reference_document_id)
Para crear una nueva factura peruana con documentos referenciados, debe usar el endpoint /documents con los parámetros adecuados y agregar el campo reference_document_id que indica el ID del documento original al que se refiere la factura.
Use reference_number o reference_document_id para identificar el documento referido (no ambos a la vez). Si el documento ya existe en Facto, puede usar reference_document_id en lugar de reference_number. Los campos reference_date y description son obligatorios.
Sobre reference_code:
"09": referencia a una guía de remisión (document_type_id"100")."99": referencia a cualquier otro documento (por ejemplo, un anticipo).
Este ejemplo usa reference_code "99" para referenciar otro documento (anticipo) con reference_document_id.
- Endpoint: https://apifacto.com/v1/documents
- Método: POST
- Cabeceras requeridas:
- Content-Type: application/json
- Authorization: Bearer \<token>
- Accept: */*
{
"header":{
"account_id":16268,
"document_type_id":"96",
"document_sequence_code":"FZ01",
"received_issued_flag":0,
"issue_date":"2026-07-28",
"issuer_tax_id_code":"20610383727",
"issuer_tax_id_type":"PE-RUC",
"issuer_legal_name":"<string>",
"issuer_address":"<string>",
"issuer_district":"<string>",
"issuer_city":"<string>",
"issuer_department":"<string>",
"issuer_country_id":"83",
"issuer_phone":"<string>",
"issuer_activity":"<string>",
"issuer_postalcode":"12345456",
"receiver_tax_id_code":"20473731828",
"receiver_tax_id_type":"PE-RUC",
"receiver_legal_name":"ESCUELA KEMPER URGATES",
"receiver_address":"<string>",
"receiver_district":"<string>",
"receiver_city":"<string>",
"receiver_department":"<string>",
"receiver_country_id":"83",
"receiver_phone":"<string>",
"receiver_activity":"<string>",
"receiver_postalcode":"12343456",
"payment_conditions":"0",
"currency_id":7,
"additional":{
"pe_header":{
"signature_id":"ASDFG",
"operation_type":"0101"
}
}
},
"details":[
{
"quantity":1,
"line_description":"Prueba Koywe",
"unit_measure":"NIU",
"unit_price":1000,
"long_description":"Test descripcion",
"modifier_amount":0,
"total_taxes":180,
"modifier_percentage":0,
"total_amount_line":1180,
"sku":"3245",
"taxes":[
{
"tax_type_id":"413",
"tax_percentage":18,
"tax_amount":180
}
]
}
],
"references":[
{
"document_type_id":"96",
"reference_document_id":"1587",
"reference_code":"99",
"description":"Anticipo",
"reference_date":"2026-07-28"
}
],
"totals":{
"net_amount":1000,
"taxes_amount":180,
"total_amount":1180
}
}
Factura con referencia a guía de remisión (reference_number)
Para referenciar una guía de remisión en una factura peruana, use document_type_id "100" y reference_code "09" en el bloque references. Identifique la guía con reference_number (por ejemplo "T002-00000099") o, si la guía ya existe en Facto, con reference_document_id (no ambos a la vez). Los campos reference_date y description son obligatorios.
Recuerde: reference_code "09" es para guía de remisión; "99" es para cualquier otro documento.
- Endpoint: https://apifacto.com/v1/documents
- Método: POST
- Cabeceras requeridas:
- Content-Type: application/json
- Authorization: Bearer \<token>
- Accept: */*
{
"header":{
"account_id":16268,
"document_type_id":"96",
"document_sequence_code":"FZ01",
"received_issued_flag":0,
"issue_date":"2026-07-28",
"issuer_tax_id_code":"20610383727",
"issuer_tax_id_type":"PE-RUC",
"issuer_legal_name":"<string>",
"issuer_address":"<string>",
"issuer_district":"<string>",
"issuer_city":"<string>",
"issuer_department":"<string>",
"issuer_country_id":"83",
"issuer_phone":"<string>",
"issuer_activity":"<string>",
"issuer_postalcode":"12345456",
"receiver_tax_id_code":"20473731828",
"receiver_tax_id_type":"PE-RUC",
"receiver_legal_name":"ESCUELA KEMPER URGATES",
"receiver_address":"<string>",
"receiver_district":"<string>",
"receiver_city":"<string>",
"receiver_department":"<string>",
"receiver_country_id":"83",
"receiver_phone":"<string>",
"receiver_activity":"<string>",
"receiver_postalcode":"12343456",
"payment_conditions":"0",
"currency_id":7,
"additional":{
"pe_header":{
"signature_id":"ASDFG",
"operation_type":"0101"
}
}
},
"details":[
{
"quantity":1,
"line_description":"Prueba Koywe",
"unit_measure":"NIU",
"unit_price":1000,
"long_description":"Test descripcion",
"modifier_amount":0,
"total_taxes":180,
"modifier_percentage":0,
"total_amount_line":1180,
"sku":"3245",
"taxes":[
{
"tax_type_id":"413",
"tax_percentage":18,
"tax_amount":180
}
]
}
],
"references":[
{
"document_type_id":"100",
"reference_code":"09",
"reference_number":"T002-00000099",
"description":"Guía de remisión",
"reference_date":"2026-07-28"
}
],
"totals":{
"net_amount":1000,
"taxes_amount":180,
"total_amount":1180
}
}
Factura con referencia a guía de remisión (reference_document_id)
Para referenciar una guía de remisión en una factura peruana cuando la guía ya existe en Facto, use document_type_id "100", reference_code "09" y reference_document_id en el bloque references (sin reference_number). Los campos reference_date y description son obligatorios.
Recuerde: reference_code "09" es para guía de remisión; "99" es para cualquier otro documento.
- Endpoint: https://apifacto.com/v1/documents
- Método: POST
- Cabeceras requeridas:
- Content-Type: application/json
- Authorization: Bearer \<token>
- Accept: */*
{
"header":{
"account_id":16268,
"document_type_id":"96",
"document_sequence_code":"FZ01",
"received_issued_flag":0,
"issue_date":"2026-07-28",
"issuer_tax_id_code":"20610383727",
"issuer_tax_id_type":"PE-RUC",
"issuer_legal_name":"<string>",
"issuer_address":"<string>",
"issuer_district":"<string>",
"issuer_city":"<string>",
"issuer_department":"<string>",
"issuer_country_id":"83",
"issuer_phone":"<string>",
"issuer_activity":"<string>",
"issuer_postalcode":"12345456",
"receiver_tax_id_code":"20473731828",
"receiver_tax_id_type":"PE-RUC",
"receiver_legal_name":"ESCUELA KEMPER URGATES",
"receiver_address":"<string>",
"receiver_district":"<string>",
"receiver_city":"<string>",
"receiver_department":"<string>",
"receiver_country_id":"83",
"receiver_phone":"<string>",
"receiver_activity":"<string>",
"receiver_postalcode":"12343456",
"payment_conditions":"0",
"currency_id":7,
"additional":{
"pe_header":{
"signature_id":"ASDFG",
"operation_type":"0101"
}
}
},
"details":[
{
"quantity":1,
"line_description":"Prueba Koywe",
"unit_measure":"NIU",
"unit_price":1000,
"long_description":"Test descripcion",
"modifier_amount":0,
"total_taxes":180,
"modifier_percentage":0,
"total_amount_line":1180,
"sku":"3245",
"taxes":[
{
"tax_type_id":"413",
"tax_percentage":18,
"tax_amount":180
}
]
}
],
"references":[
{
"document_type_id":"100",
"reference_code":"09",
"reference_document_id":"1587",
"description":"Guía de remisión",
"reference_date":"2026-07-28"
}
],
"totals":{
"net_amount":1000,
"taxes_amount":180,
"total_amount":1180
}
}
Factura con detracción general (Factura electrónica sujeta a detracción 1001)
Para crear una factura peruana sujeta a detracción general, debe usar el endpoint /documents con pe_header.operation_type "1001" y el bloque pe_detraction. En este ejemplo se usa el código "022" al 9% sobre el total de la factura (amount = 9% de total_amount). Consulte los códigos en la tabla de códigos.
- Endpoint: https://apifacto.com/v1/documents
- Método: POST
- Cabeceras requeridas:
- Content-Type: application/json
- Authorization: Bearer \<token>
- Accept: */*
{
"header":{
"account_id":16268,
"document_type_id":"96",
"document_sequence_code":"FC01",
"received_issued_flag":0,
"issue_date":"2026-08-31",
"issuer_tax_id_code":"20610383727",
"issuer_tax_id_type":"PE-RUC",
"issuer_legal_name":"<string>",
"issuer_address":"<string>",
"issuer_district":"<string>",
"issuer_city":"<string>",
"issuer_department":"<string>",
"issuer_country_id":"83",
"issuer_phone":"<string>",
"issuer_activity":"<string>",
"issuer_postalcode":"12345456",
"receiver_tax_id_code":"20473731828",
"receiver_tax_id_type":"PE-RUC",
"receiver_legal_name":"ESCUELA KEMPER URGATES",
"receiver_address":"<string>",
"receiver_district":"<string>",
"receiver_city":"<string>",
"receiver_department":"<string>",
"receiver_country_id":"83",
"receiver_phone":"<string>",
"receiver_activity":"<string>",
"receiver_postalcode":"12343456",
"payment_conditions":"0",
"currency_id":7,
"additional":{
"pe_header":{
"signature_id":"ASDFG",
"operation_type":"1001"
},
"pe_detraction":{
"code":"022",
"percent":9.00,
"amount":106.20,
"nation_bank_account":"00-000-000000",
"payment_means_code":"001"
}
}
},
"details":[
{
"quantity":1,
"line_description":"Prueba Koywe",
"unit_measure":"NIU",
"unit_price":1000,
"long_description":"Test descripcion",
"modifier_amount":0,
"total_taxes":180,
"modifier_percentage":0,
"total_amount_line":1180,
"sku":"3245",
"taxes":[
{
"tax_type_id":"413",
"tax_percentage":18,
"tax_amount":180
}
]
}
],
"totals":{
"net_amount":1000,
"taxes_amount":180,
"total_amount":1180
}
}
Factura con detracción de transporte de pasajeros (Factura electrónica sujeta a detracción 1003)
Para crear una factura peruana sujeta a detracción por transporte de pasajeros, debe usar el endpoint /documents con pe_header.operation_type "1003" y el bloque pe_detraction. En este ejemplo se usa el código "028" al 10% sobre el total de la factura (amount = 10% de total_amount).
- Endpoint: https://apifacto.com/v1/documents
- Método: POST
- Cabeceras requeridas:
- Content-Type: application/json
- Authorization: Bearer \<token>
- Accept: */*
{
"header":{
"account_id":16268,
"document_type_id":"96",
"document_sequence_code":"FC01",
"received_issued_flag":0,
"issue_date":"2026-08-31",
"issuer_tax_id_code":"20610383727",
"issuer_tax_id_type":"PE-RUC",
"issuer_legal_name":"<string>",
"issuer_address":"<string>",
"issuer_district":"<string>",
"issuer_city":"<string>",
"issuer_department":"<string>",
"issuer_country_id":"83",
"issuer_phone":"<string>",
"issuer_activity":"<string>",
"issuer_postalcode":"12345456",
"receiver_tax_id_code":"20473731828",
"receiver_tax_id_type":"PE-RUC",
"receiver_legal_name":"ESCUELA KEMPER URGATES",
"receiver_address":"<string>",
"receiver_district":"<string>",
"receiver_city":"<string>",
"receiver_department":"<string>",
"receiver_country_id":"83",
"receiver_phone":"<string>",
"receiver_activity":"<string>",
"receiver_postalcode":"12343456",
"payment_conditions":"0",
"currency_id":7,
"additional":{
"pe_header":{
"signature_id":"ASDFG",
"operation_type":"1003"
},
"pe_detraction":{
"code":"028",
"percent":10.00,
"amount":118.00,
"nation_bank_account":"00-000-000000",
"payment_means_code":"001"
}
}
},
"details":[
{
"quantity":1,
"line_description":"Servicio de transporte de pasajeros",
"unit_measure":"ZZ",
"unit_price":1000,
"long_description":"Venta sujeta a detraccion 1003",
"modifier_amount":0,
"total_taxes":180,
"modifier_percentage":0,
"total_amount_line":1180,
"sku":"028-PASAJ",
"taxes":[
{
"tax_type_id":"413",
"tax_percentage":18,
"tax_amount":180
}
]
}
],
"totals":{
"net_amount":1000,
"taxes_amount":180,
"total_amount":1180
}
}
Factura con detracción de transporte de carga (Factura electrónica sujeta a detracción 1004)
Para crear una factura peruana sujeta a detracción por transporte de carga, debe usar el endpoint /documents con pe_header.operation_type "1004", el bloque pe_detraction y el bloque pe_cargo_transport. En este ejemplo se usa el código "027" al 12% sobre el total de la factura (amount = 12% de total_amount).
IMPORTANTE: En operaciones 1004 es obligatorio enviar pe_cargo_transport (ubigeo y dirección de origen y destino, detalle del viaje y montos de referencia). Si falta, E-Fact rechaza el comprobante con el error 3116.
- Endpoint: https://apifacto.com/v1/documents
- Método: POST
- Cabeceras requeridas:
- Content-Type: application/json
- Authorization: Bearer \<token>
- Accept: */*
{
"header":{
"account_id":16268,
"document_type_id":"96",
"document_sequence_code":"FC01",
"received_issued_flag":0,
"issue_date":"2026-08-31",
"issuer_tax_id_code":"20610383727",
"issuer_tax_id_type":"PE-RUC",
"issuer_legal_name":"<string>",
"issuer_address":"<string>",
"issuer_district":"<string>",
"issuer_city":"<string>",
"issuer_department":"<string>",
"issuer_country_id":"83",
"issuer_phone":"<string>",
"issuer_activity":"<string>",
"issuer_postalcode":"12345456",
"receiver_tax_id_code":"20473731828",
"receiver_tax_id_type":"PE-RUC",
"receiver_legal_name":"ESCUELA KEMPER URGATES",
"receiver_address":"<string>",
"receiver_district":"<string>",
"receiver_city":"<string>",
"receiver_department":"<string>",
"receiver_country_id":"83",
"receiver_phone":"<string>",
"receiver_activity":"<string>",
"receiver_postalcode":"12343456",
"payment_conditions":"0",
"currency_id":7,
"additional":{
"pe_header":{
"signature_id":"ASDFG",
"operation_type":"1004"
},
"pe_detraction":{
"code":"027",
"percent":12.00,
"amount":141.60,
"nation_bank_account":"00-000-000000",
"payment_means_code":"001"
},
"pe_cargo_transport":{
"origin_ubigeo":"150102",
"origin_address":"PUNTO ORIGEN DIRECCION DETALLADA",
"destination_ubigeo":"150119",
"destination_address":"PUNTO DESTINO DIRECCION DETALLADA",
"trip_detail":"DETALLE DEL VIAJE",
"service_reference_amount":1000.00,
"effective_load_reference_amount":1000.00,
"payload_reference_amount":1000.00
}
}
},
"details":[
{
"quantity":1,
"line_description":"Servicio de transporte de carga",
"unit_measure":"ZZ",
"unit_price":1000,
"long_description":"Venta sujeta a detraccion 1004",
"modifier_amount":0,
"total_taxes":180,
"modifier_percentage":0,
"total_amount_line":1180,
"sku":"027-CARGA",
"taxes":[
{
"tax_type_id":"413",
"tax_percentage":18,
"tax_amount":180
}
]
}
],
"totals":{
"net_amount":1000,
"taxes_amount":180,
"total_amount":1180
}
}
Boleta de venta (Boleta electrónica)
Para crear una nueva boleta peruana, debe usar el endpoint /documents con los parámetros adecuados. Puede emitir boletas a receptores identificados con DNI usando el campo "receiver_tax_id_type" con el valor "PE-DNI".
IMPORTANTE: Al emitir boletas, DEBE usar la fecha de hoy como issue_date. De lo contrario, recibirá el "Error 1079: Solo puede enviar el comprobante en un resumen diario", que indica que no está permitido emitir boletas individuales para fechas anteriores.
- Endpoint: https://apifacto.com/v1/documents
- Método: POST
- Cabeceras requeridas:
- Content-Type: application/json
- Authorization: Bearer \<token>
- Accept: */*
{
"header":{
"account_id":16268,
"document_type_id":"97",
"document_sequence_code":"B001",
"received_issued_flag":0,
"issue_date":"2025-02-03",
"issuer_tax_id_code":"20610383727",
"issuer_tax_id_type":"PE-RUC",
"issuer_legal_name":"<string>",
"issuer_address":"<string>",
"issuer_district":"<string>",
"issuer_city":"<string>",
"issuer_department":"<string>",
"issuer_country_id":"80",
"issuer_phone":"<string>",
"issuer_activity":"<string>",
"issuer_postalcode":"12345456",
"receiver_tax_id_code":"20473731828",
"receiver_tax_id_type":"PE-RUC",
"receiver_legal_name":"ESCUELA KEMPER URGATES",
"receiver_address":"<string>",
"receiver_district":"<string>",
"receiver_city":"<string>",
"receiver_department":"<string>",
"receiver_country_id":"80",
"receiver_phone":"<string>",
"receiver_activity":"<string>",
"receiver_postalcode":"12343456",
"payment_conditions":"0",
"currency_id":7,
"additional":{
"pe_header":{
"signature_id":"ASDFG",
"operation_type":"0101"
}
}
},
"details":[
{
"quantity":1,
"line_description":"Prueba Koywe",
"unit_measure":"NIU",
"unit_price":1000,
"long_description":"Test descripcion",
"modifier_amount":0,
"total_taxes":180,
"modifier_percentage":0,
"total_amount_line":1180,
"sku":"3245",
"taxes":[
{
"tax_type_id":"413",
"tax_percentage":18,
"tax_amount":180
}
]
}
],
"totals":{
"net_amount":1000,
"taxes_amount":180,
"total_amount":1180
}
}
Boleta con costo cero (Boleta electrónica con costo cero)
Para crear una boleta peruana con costo cero (por ejemplo, muestras promocionales), debe usar el endpoint /documents con los parámetros adecuados. Los montos de la línea y los totales deben ser cero, e incluya el campo tax_base_amount en los impuestos para indicar la base imponible de referencia.
IMPORTANTE: Al emitir boletas, DEBE usar la fecha de hoy como issue_date. De lo contrario, recibirá el "Error 1079: Solo puede enviar el comprobante en un resumen diario", que indica que no está permitido emitir boletas individuales para fechas anteriores.
- Endpoint: https://apifacto.com/v1/documents
- Método: POST
- Cabeceras requeridas:
- Content-Type: application/json
- Authorization: Bearer \<token>
- Accept: */*
{
"header":{
"account_id":16268,
"document_type_id":"97",
"document_sequence_code":"BZ03",
"received_issued_flag":0,
"issue_date":"2026-07-01",
"issuer_tax_id_code":"20610383727",
"issuer_tax_id_type":"PE-RUC",
"issuer_legal_name":"<string>",
"issuer_address":"<string>",
"issuer_district":"<string>",
"issuer_city":"<string>",
"issuer_department":"<string>",
"issuer_country_id":"83",
"issuer_phone":"<string>",
"issuer_activity":"<string>",
"issuer_postalcode":"12345456",
"receiver_tax_id_code":"20473731828",
"receiver_tax_id_type":"PE-RUC",
"receiver_legal_name":"ESCUELA KEMPER URGATES",
"receiver_address":"<string>",
"receiver_district":"<string>",
"receiver_city":"<string>",
"receiver_department":"<string>",
"receiver_country_id":"83",
"receiver_phone":"<string>",
"receiver_activity":"<string>",
"receiver_postalcode":"12343456",
"payment_conditions":"0",
"currency_id":7,
"observations":"Muestra promocional",
"additional":{
"pe_header":{
"operation_type":"0101"
}
}
},
"details":[
{
"quantity":1,
"line_description":"Prueba Koywe",
"unit_measure":"NIU",
"unit_price":0,
"long_description":"Test descripcion",
"modifier_amount":0,
"total_taxes":0,
"modifier_percentage":0,
"total_amount_line":0,
"sku":"3245",
"taxes":[
{
"tax_type_id":"413",
"tax_percentage":18,
"tax_amount":0,
"tax_base_amount":1000
}
]
}
],
"totals":{
"net_amount":0,
"taxes_amount":0,
"total_amount":0
}
}
Boleta menor a 700 soles (Boleta electrónica)
Si el monto total de la boleta es inferior a 700 soles, no es necesario incluir la información del cliente.
Para crear una nueva boleta peruana, debe usar el endpoint /documents con los parámetros adecuados. Puede emitir boletas a receptores identificados con DNI usando el campo "receiver_tax_id_type" con el valor "PE-DNI".
IMPORTANTE: Al emitir boletas, DEBE usar la fecha de hoy como issue_date. De lo contrario, recibirá el "Error 1079: Solo puede enviar el comprobante en un resumen diario", que indica que no está permitido emitir boletas individuales para fechas anteriores.
- Endpoint: https://apifacto.com/v1/documents
- Método: POST
- Cabeceras requeridas:
- Content-Type: application/json
- Authorization: Bearer \<token>
- Accept: */*
{
"header":{
"account_id":16268,
"document_type_id":"97",
"document_sequence_code":"B001",
"received_issued_flag":0,
"issue_date":"2025-07-21",
"issuer_tax_id_code":"20610383727",
"issuer_tax_id_type":"PE-RUC",
"issuer_legal_name":"<string>",
"issuer_address":"<string>",
"issuer_district":"<string>",
"issuer_city":"<string>",
"issuer_department":"<string>",
"issuer_country_id":"80",
"issuer_phone":"<string>",
"issuer_activity":"<string>",
"issuer_postalcode":"12345456",
"payment_conditions":"0",
"currency_id":7,
"additional":{
"pe_header":{
"signature_id":"ASDFG",
"operation_type":"0101"
}
}
},
"details":[
{
"quantity":1,
"line_description":"Prueba ROW",
"unit_measure":"NIU",
"unit_price":500,
"long_description":"Test descripcion",
"modifier_amount":0,
"total_taxes":90,
"modifier_percentage":0,
"total_amount_line":590,
"sku":"3245",
"taxes":[
{
"tax_type_id":"412",
"tax_percentage":18,
"tax_amount":90
}
]
}
],
"totals":{
"net_amount":500,
"taxes_amount":90,
"total_amount":590
}
}
Boleta emitida a cliente extranjero (Boleta electrónica nominativa con receptor extranjero)
Para crear una nueva boleta peruana, debe usar el endpoint /documents con los parámetros adecuados. Puede emitir boletas tanto a receptores locales como extranjeros configurando el campo receiver_tax_id_type según corresponda. Por ejemplo, use "PE-DNI" para cédulas de identidad peruanas, o "US-EIN" para receptores identificados con un EIN de EE.UU.
IMPORTANTE: Al emitir boletas, DEBE usar la fecha de hoy como issue_date. De lo contrario, recibirá el "Error 1079: Solo puede enviar el comprobante en un resumen diario", que indica que no está permitido emitir boletas individuales para fechas anteriores.
- Endpoint: https://apifacto.com/v1/documents
- Método: POST
- Cabeceras requeridas:
- Content-Type: application/json
- Authorization: Bearer \<token>
- Accept: */*
{
"header": {
"account_id": 16268,
"document_type_id": "97",
"document_sequence_code":"B001",
"received_issued_flag": 1,
"issue_date": "2025-07-23",
"issuer_tax_id_code": "20610383727",
"issuer_tax_id_type": "PE-RUC",
"issuer_legal_name": "KOYWE PERU SAC",
"issuer_address": "AV. REPUBLICA DE PANAMA NRO. 3535 INT. 403",
"issuer_district": "SAN ISIDRO",
"issuer_department": "LIMA",
"issuer_city": "LIMA",
"issuer_phone": "+51949944464",
"issuer_activity": "OTROS TIPOS DE INTERMEDIACIoN MONETARIA",
"issuer_postalcode": "15036",
"issuer_country_id": "83",
"receiver_tax_id_type": "US-EIN",
"receiver_tax_id_code": "10752012",
"receiver_legal_name": "Hapi Corp",
"receiver_email": "hapi@koywe.com",
"receiver_address": "2261 Market Street #4257",
"receiver_district": "San Francisco ",
"receiver_city": "San Francisco ",
"receiver_activity": "Brokers de acciones",
"receiver_country_id": "83",
"receiver_department": "",
"payment_conditions": "0",
"currency_id": 7,
"additional": {
"pe_header": {
"signature_id": "ASDFG",
"operation_type": "0101"
}
}
},
"details": [
{
"quantity": 1,
"unit_price": 400,
"unit_measure": "NIU",
"line_description": "Servicio de obtencion de bienes digitales por su cuenta y orden. Orden ID c4250e3d-95db-4da3-a01f-14e6b3b0b239. Monto Total: 18.00 PEN",
"long_description": "Servicio de obtencion de bienes digitales por su cuenta y orden. Orden ID c4250e3d-95db-4da3-a01f-14e6b3b0b239. Monto Total: 18.00 PEN",
"taxes": [
{
"tax_type_id": "413",
"tax_percentage": 18,
"tax_amount": 72
}
]
}
],
"totals": {
"net_amount": 400,
"taxes_amount": 72,
"total_amount": 472
}
}
Boleta de venta con referencia a otros documentos (reference_number)
Para crear una nueva boleta peruana con documentos referenciados, debe usar el endpoint /documents con los parámetros adecuados y agregar el campo reference_number que indica el número del documento original al que se refiere la boleta.
Use reference_number o reference_document_id para identificar el documento referido (no ambos a la vez). Si el documento ya existe en Facto, puede usar reference_document_id en lugar de reference_number. Los campos reference_date y description son obligatorios.
Sobre reference_code:
"09": referencia a una guía de remisión (document_type_id"100")."99": referencia a cualquier otro documento (por ejemplo, un anticipo).
Este ejemplo usa reference_code "99" para referenciar otro documento (anticipo).
IMPORTANTE: Al emitir boletas, DEBE usar la fecha de hoy como issue_date. De lo contrario, recibirá el "Error 1079: Solo puede enviar el comprobante en un resumen diario", que indica que no está permitido emitir boletas individuales para fechas anteriores.
- Endpoint: https://apifacto.com/v1/documents
- Método: POST
- Cabeceras requeridas:
- Content-Type: application/json
- Authorization: Bearer \<token>
- Accept: */*
{
"header":{
"account_id":16268,
"document_type_id":"97",
"document_sequence_code":"BZ01",
"received_issued_flag":0,
"issue_date":"2026-07-28",
"issuer_tax_id_code":"20610383727",
"issuer_tax_id_type":"PE-RUC",
"issuer_legal_name":"<string>",
"issuer_address":"<string>",
"issuer_district":"<string>",
"issuer_city":"<string>",
"issuer_department":"<string>",
"issuer_country_id":"80",
"issuer_phone":"<string>",
"issuer_activity":"<string>",
"issuer_postalcode":"12345456",
"receiver_tax_id_code":"20473731828",
"receiver_tax_id_type":"PE-RUC",
"receiver_legal_name":"ESCUELA KEMPER URGATES",
"receiver_address":"<string>",
"receiver_district":"<string>",
"receiver_city":"<string>",
"receiver_department":"<string>",
"receiver_country_id":"80",
"receiver_phone":"<string>",
"receiver_activity":"<string>",
"receiver_postalcode":"12343456",
"payment_conditions":"0",
"currency_id":7,
"additional":{
"pe_header":{
"signature_id":"ASDFG",
"operation_type":"0101"
}
}
},
"details":[
{
"quantity":1,
"line_description":"Prueba Koywe",
"unit_measure":"NIU",
"unit_price":1000,
"long_description":"Test descripcion",
"modifier_amount":0,
"total_taxes":180,
"modifier_percentage":0,
"total_amount_line":1180,
"sku":"3245",
"taxes":[
{
"tax_type_id":"413",
"tax_percentage":18,
"tax_amount":180
}
]
}
],
"references":[
{
"document_type_id":"97",
"reference_number":"BZ01-00000046",
"reference_code":"99",
"description":"Anticipo",
"reference_date":"2026-07-28"
}
],
"totals":{
"net_amount":1000,
"taxes_amount":180,
"total_amount":1180
}
}
Boleta de venta con referencia a otros documentos (reference_document_id)
Para crear una nueva boleta peruana con documentos referenciados, debe usar el endpoint /documents con los parámetros adecuados y agregar el campo reference_document_id que indica el ID del documento original al que se refiere la boleta.
Use reference_number o reference_document_id para identificar el documento referido (no ambos a la vez). Si el documento ya existe en Facto, puede usar reference_document_id en lugar de reference_number. Los campos reference_date y description son obligatorios.
Sobre reference_code:
"09": referencia a una guía de remisión (document_type_id"100")."99": referencia a cualquier otro documento (por ejemplo, un anticipo).
Este ejemplo usa reference_code "99" para referenciar otro documento (anticipo) con reference_document_id.
IMPORTANTE: Al emitir boletas, DEBE usar la fecha de hoy como issue_date. De lo contrario, recibirá el "Error 1079: Solo puede enviar el comprobante en un resumen diario", que indica que no está permitido emitir boletas individuales para fechas anteriores.
- Endpoint: https://apifacto.com/v1/documents
- Método: POST
- Cabeceras requeridas:
- Content-Type: application/json
- Authorization: Bearer \<token>
- Accept: */*
{
"header":{
"account_id":16268,
"document_type_id":"97",
"document_sequence_code":"BZ01",
"received_issued_flag":0,
"issue_date":"2026-07-28",
"issuer_tax_id_code":"20610383727",
"issuer_tax_id_type":"PE-RUC",
"issuer_legal_name":"<string>",
"issuer_address":"<string>",
"issuer_district":"<string>",
"issuer_city":"<string>",
"issuer_department":"<string>",
"issuer_country_id":"80",
"issuer_phone":"<string>",
"issuer_activity":"<string>",
"issuer_postalcode":"12345456",
"receiver_tax_id_code":"20473731828",
"receiver_tax_id_type":"PE-RUC",
"receiver_legal_name":"ESCUELA KEMPER URGATES",
"receiver_address":"<string>",
"receiver_district":"<string>",
"receiver_city":"<string>",
"receiver_department":"<string>",
"receiver_country_id":"80",
"receiver_phone":"<string>",
"receiver_activity":"<string>",
"receiver_postalcode":"12343456",
"payment_conditions":"0",
"currency_id":7,
"additional":{
"pe_header":{
"signature_id":"ASDFG",
"operation_type":"0101"
}
}
},
"details":[
{
"quantity":1,
"line_description":"Prueba Koywe",
"unit_measure":"NIU",
"unit_price":1000,
"long_description":"Test descripcion",
"modifier_amount":0,
"total_taxes":180,
"modifier_percentage":0,
"total_amount_line":1180,
"sku":"3245",
"taxes":[
{
"tax_type_id":"413",
"tax_percentage":18,
"tax_amount":180
}
]
}
],
"references":[
{
"document_type_id":"97",
"reference_document_id":"190",
"reference_code":"99",
"description":"Anticipo",
"reference_date":"2026-07-28"
}
],
"totals":{
"net_amount":1000,
"taxes_amount":180,
"total_amount":1180
}
}
Boleta de venta con referencia a guía de remisión (reference_number)
Para referenciar una guía de remisión en una boleta peruana, use document_type_id "100" y reference_code "09" en el bloque references. Identifique la guía con reference_number (por ejemplo "T002-00000099") o, si la guía ya existe en Facto, con reference_document_id (no ambos a la vez). Los campos reference_date y description son obligatorios.
Recuerde: reference_code "09" es para guía de remisión; "99" es para cualquier otro documento.
IMPORTANTE: Al emitir boletas, DEBE usar la fecha de hoy como issue_date. De lo contrario, recibirá el "Error 1079: Solo puede enviar el comprobante en un resumen diario", que indica que no está permitido emitir boletas individuales para fechas anteriores.
- Endpoint: https://apifacto.com/v1/documents
- Método: POST
- Cabeceras requeridas:
- Content-Type: application/json
- Authorization: Bearer \<token>
- Accept: */*
{
"header":{
"account_id":16268,
"document_type_id":"97",
"document_sequence_code":"BZ01",
"received_issued_flag":0,
"issue_date":"2026-07-28",
"issuer_tax_id_code":"20610383727",
"issuer_tax_id_type":"PE-RUC",
"issuer_legal_name":"<string>",
"issuer_address":"<string>",
"issuer_district":"<string>",
"issuer_city":"<string>",
"issuer_department":"<string>",
"issuer_country_id":"80",
"issuer_phone":"<string>",
"issuer_activity":"<string>",
"issuer_postalcode":"12345456",
"receiver_tax_id_code":"20473731828",
"receiver_tax_id_type":"PE-RUC",
"receiver_legal_name":"ESCUELA KEMPER URGATES",
"receiver_address":"<string>",
"receiver_district":"<string>",
"receiver_city":"<string>",
"receiver_department":"<string>",
"receiver_country_id":"80",
"receiver_phone":"<string>",
"receiver_activity":"<string>",
"receiver_postalcode":"12343456",
"payment_conditions":"0",
"currency_id":7,
"additional":{
"pe_header":{
"signature_id":"ASDFG",
"operation_type":"0101"
}
}
},
"details":[
{
"quantity":1,
"line_description":"Prueba Koywe",
"unit_measure":"NIU",
"unit_price":1000,
"long_description":"Test descripcion",
"modifier_amount":0,
"total_taxes":180,
"modifier_percentage":0,
"total_amount_line":1180,
"sku":"3245",
"taxes":[
{
"tax_type_id":"413",
"tax_percentage":18,
"tax_amount":180
}
]
}
],
"references":[
{
"document_type_id":"100",
"reference_code":"09",
"reference_number":"T002-00000099",
"description":"Guía de remisión",
"reference_date":"2026-07-28"
}
],
"totals":{
"net_amount":1000,
"taxes_amount":180,
"total_amount":1180
}
}
Boleta de venta con referencia a guía de remisión (reference_document_id)
Para referenciar una guía de remisión en una boleta peruana cuando la guía ya existe en Facto, use document_type_id "100", reference_code "09" y reference_document_id en el bloque references (sin reference_number). Los campos reference_date y description son obligatorios.
Recuerde: reference_code "09" es para guía de remisión; "99" es para cualquier otro documento.
IMPORTANTE: Al emitir boletas, DEBE usar la fecha de hoy como issue_date. De lo contrario, recibirá el "Error 1079: Solo puede enviar el comprobante en un resumen diario", que indica que no está permitido emitir boletas individuales para fechas anteriores.
- Endpoint: https://apifacto.com/v1/documents
- Método: POST
- Cabeceras requeridas:
- Content-Type: application/json
- Authorization: Bearer \<token>
- Accept: */*
{
"header":{
"account_id":16268,
"document_type_id":"97",
"document_sequence_code":"BZ01",
"received_issued_flag":0,
"issue_date":"2026-07-28",
"issuer_tax_id_code":"20610383727",
"issuer_tax_id_type":"PE-RUC",
"issuer_legal_name":"<string>",
"issuer_address":"<string>",
"issuer_district":"<string>",
"issuer_city":"<string>",
"issuer_department":"<string>",
"issuer_country_id":"80",
"issuer_phone":"<string>",
"issuer_activity":"<string>",
"issuer_postalcode":"12345456",
"receiver_tax_id_code":"20473731828",
"receiver_tax_id_type":"PE-RUC",
"receiver_legal_name":"ESCUELA KEMPER URGATES",
"receiver_address":"<string>",
"receiver_district":"<string>",
"receiver_city":"<string>",
"receiver_department":"<string>",
"receiver_country_id":"80",
"receiver_phone":"<string>",
"receiver_activity":"<string>",
"receiver_postalcode":"12343456",
"payment_conditions":"0",
"currency_id":7,
"additional":{
"pe_header":{
"signature_id":"ASDFG",
"operation_type":"0101"
}
}
},
"details":[
{
"quantity":1,
"line_description":"Prueba Koywe",
"unit_measure":"NIU",
"unit_price":1000,
"long_description":"Test descripcion",
"modifier_amount":0,
"total_taxes":180,
"modifier_percentage":0,
"total_amount_line":1180,
"sku":"3245",
"taxes":[
{
"tax_type_id":"413",
"tax_percentage":18,
"tax_amount":180
}
]
}
],
"references":[
{
"document_type_id":"100",
"reference_code":"09",
"reference_document_id":"190",
"description":"Guía de remisión",
"reference_date":"2026-07-28"
}
],
"totals":{
"net_amount":1000,
"taxes_amount":180,
"total_amount":1180
}
}
Nota de crédito para Factura con reference_number (Nota de crédito electrónica para Factura)
Para crear una nueva nota de crédito peruana, debe usar el endpoint /documents con los parámetros adecuados y agregar el campo reference_number que indica el número del documento original (como una factura) al que se refiere la nota de crédito.
- Endpoint: https://apifacto.com/v1/documents
- Método: POST
- Cabeceras requeridas:
- Content-Type: application/json
- Authorization: Bearer \<token>
- Accept: */*
{
"header": {
"account_id": 16268,
"document_type_id": "98",
"document_sequence_code":"FC01",
"received_issued_flag": 0,
"issue_date": "2025-01-27",
"issuer_tax_id_code": "20610383727",
"issuer_tax_id_type": "PE-RUC",
"issuer_legal_name": "<string>",
"issuer_address": "<string>",
"issuer_district": "<string>",
"issuer_city": "<string>",
"issuer_department":"<string>",
"issuer_country_id": "80",
"issuer_phone": "<string>",
"issuer_activity": "<string>",
"issuer_postalcode":"12345456",
"receiver_tax_id_code": "20473731828",
"receiver_tax_id_type": "PE-RUC",
"receiver_legal_name": "ESCUELA KEMPER URGATES",
"receiver_address": "<string>",
"receiver_district": "<string>",
"receiver_city": "<string>",
"receiver_department":"<string>",
"receiver_country_id": "80",
"receiver_phone": "<string>",
"receiver_activity": "<string>",
"receiver_postalcode":"12343456",
"payment_conditions": "0",
"currency_id": 7,
"additional":{
"pe_header":{
"signature_id":"ASDFG",
"operation_type":"0101"
}
}
},
"details": [
{
"quantity": 1,
"line_description": "Prueba Koywe",
"unit_measure": "NIU",
"unit_price": 1000,
"long_description": "Test descripcion",
"modifier_amount": 0,
"total_taxes": 180,
"modifier_percentage": 0,
"total_amount_line": 1180,
"sku": "3245",
"taxes": [
{
"tax_type_id": "413",
"tax_percentage": 18,
"tax_amount": 180
}
]
}
],
"references": [
{
"document_type_id": "96",
"reference_number": "F001-00000087",
"reference_code": "01",
"description": "Anulacion solicitada por el emisor",
"reference_date": "2025-01-27"
}
],
"totals": {
"net_amount": 1000,
"taxes_amount": 180,
"total_amount": 1180
}
}
Nota de crédito para Factura con reference_document_id (Nota de crédito electrónica para Factura)
Para crear una nueva nota de crédito peruana, debe usar el endpoint /documents con los parámetros adecuados y agregar el campo reference_document_id que indica el ID del documento original (como una factura) al que se refiere la nota de crédito.
- Endpoint: https://apifacto.com/v1/documents
- Método: POST
- Cabeceras requeridas:
- Content-Type: application/json
- Authorization: Bearer \<token>
- Accept: */*
{
"header": {
"account_id": 16268,
"document_type_id": "98",
"received_issued_flag": 0,
"document_sequence_code":"FC01",
"issue_date": "2025-11-11",
"issuer_tax_id_code": "20610383727",
"issuer_tax_id_type": "PE-RUC",
"issuer_legal_name": "<string>",
"issuer_address": "<string>",
"issuer_district": "<string>",
"issuer_city": "<string>",
"issuer_department":"<string>",
"issuer_country_id": "80",
"issuer_phone": "<string>",
"issuer_activity": "<string>",
"issuer_postalcode":"12345456",
"receiver_tax_id_code": "20473731828",
"receiver_tax_id_type": "PE-RUC",
"receiver_legal_name": "ESCUELA KEMPER URGATES",
"receiver_address": "<string>",
"receiver_district": "<string>",
"receiver_city": "<string>",
"receiver_department":"<string>",
"receiver_country_id": "80",
"receiver_phone": "<string>",
"receiver_activity": "<string>",
"receiver_postalcode":"12343456",
"payment_conditions": "0",
"currency_id": 7,
"additional":{
"pe_header":{
"signature_id":"ASDFG",
"operation_type":"0101"
}
}
},
"details": [
{
"quantity": 1,
"line_description": "Prueba Koywe",
"unit_measure": "NIU",
"unit_price": 1000,
"long_description": "Test descripcion",
"modifier_amount": 0,
"total_taxes": 180,
"modifier_percentage": 0,
"total_amount_line": 1180,
"sku": "3245",
"taxes": [
{
"tax_type_id": "413",
"tax_percentage": 18,
"tax_amount": 180
}
]
}
],
"references": [
{
"document_type_id": "96",
"reference_document_id": "1587",
"reference_code": "01",
"description": "Anulacion solicitada por el emisor",
"reference_date": "2025-11-11"
}
],
"totals": {
"net_amount": 1000,
"taxes_amount": 180,
"total_amount": 1180
}
}
Nota de crédito para Boleta con reference_number (Nota de crédito electrónica para Boleta)
Para crear una nueva nota de crédito peruana para una boleta, debe usar el endpoint /documents con los parámetros adecuados y agregar el campo reference_number que indica el número de la boleta original a la que se refiere la nota de crédito.
- Endpoint: https://apifacto.com/v1/documents
- Método: POST
- Cabeceras requeridas:
- Content-Type: application/json
- Authorization: Bearer \<token>
- Accept: */*
{
"header": {
"account_id": 16268,
"document_type_id": "155",
"document_sequence_code":"BC01",
"received_issued_flag": 1,
"issue_date": "2025-01-27",
"issuer_tax_id_code": "20610383727",
"issuer_tax_id_type": "PE-RUC",
"issuer_legal_name": "<string>",
"issuer_address": "<string>",
"issuer_district": "<string>",
"issuer_city": "<string>",
"issuer_department":"<string>",
"issuer_country_id": "83",
"issuer_phone": "<string>",
"issuer_activity": "<string>",
"issuer_postalcode":"12345456",
"receiver_tax_id_code": "20473731828",
"receiver_tax_id_type": "PE-RUC",
"receiver_legal_name": "ESCUELA KEMPER URGATES",
"receiver_address": "<string>",
"receiver_district": "<string>",
"receiver_city": "<string>",
"receiver_department":"<string>",
"receiver_country_id": "83",
"receiver_phone": "<string>",
"receiver_activity": "<string>",
"receiver_postalcode":"12343456",
"payment_conditions": "0",
"currency_id": 7,
"additional":{
"pe_header":{
"signature_id":"ASDFG",
"operation_type":"0101"
}
}
},
"details": [
{
"quantity": 1,
"line_description": "Prueba Koywe",
"unit_measure": "NIU",
"unit_price": 1000,
"long_description": "Test descripcion",
"modifier_amount": 0,
"total_taxes": 180,
"modifier_percentage": 0,
"total_amount_line": 1180,
"sku": "3245",
"taxes": [
{
"tax_type_id": "413",
"tax_percentage": 18,
"tax_amount": 180
}
]
}
],
"references": [
{
"document_type_id": "97",
"reference_number": "B001-00000087",
"reference_code": "01",
"description": "Anulacion solicitada por el emisor",
"reference_date": "2025-01-27"
}
],
"totals": {
"net_amount": 1000,
"taxes_amount": 180,
"total_amount": 1180
}
}
Nota de crédito para Boleta con reference_document_id (Nota de crédito electrónica para Boleta)
Para crear una nueva nota de crédito peruana para una boleta, debe usar el endpoint /documents con los parámetros adecuados y agregar el campo reference_document_id que indica el ID de la boleta original a la que se refiere la nota de crédito.
- Endpoint: https://apifacto.com/v1/documents
- Método: POST
- Cabeceras requeridas:
- Content-Type: application/json
- Authorization: Bearer \<token>
- Accept: */*
{
"header": {
"account_id": 16268,
"document_type_id": "155",
"document_sequence_code":"BC01",
"received_issued_flag": 1,
"issue_date": "2025-01-27",
"issuer_tax_id_code": "20610383727",
"issuer_tax_id_type": "PE-RUC",
"issuer_legal_name": "<string>",
"issuer_address": "<string>",
"issuer_district": "<string>",
"issuer_city": "<string>",
"issuer_department":"<string>",
"issuer_country_id": "83",
"issuer_phone": "<string>",
"issuer_activity": "<string>",
"issuer_postalcode":"12345456",
"receiver_tax_id_code": "20473731828",
"receiver_tax_id_type": "PE-RUC",
"receiver_legal_name": "ESCUELA KEMPER URGATES",
"receiver_address": "<string>",
"receiver_district": "<string>",
"receiver_city": "<string>",
"receiver_department":"<string>",
"receiver_country_id": "83",
"receiver_phone": "<string>",
"receiver_activity": "<string>",
"receiver_postalcode":"12343456",
"payment_conditions": "0",
"currency_id": 7,
"additional":{
"pe_header":{
"signature_id":"ASDFG",
"operation_type":"0101"
}
}
},
"details": [
{
"quantity": 1,
"line_description": "Prueba Koywe",
"unit_measure": "NIU",
"unit_price": 1000,
"long_description": "Test descripcion",
"modifier_amount": 0,
"total_taxes": 180,
"modifier_percentage": 0,
"total_amount_line": 1180,
"sku": "3245",
"taxes": [
{
"tax_type_id": "413",
"tax_percentage": 18,
"tax_amount": 180
}
]
}
],
"references": [
{
"document_type_id": "97",
"reference_document_id": "190",
"reference_code": "01",
"description": "Anulacion solicitada por el emisor",
"reference_date": "2025-01-27"
}
],
"totals": {
"net_amount": 1000,
"taxes_amount": 180,
"total_amount": 1180
}
}
Nota de débito con reference_number (Nota de débito electrónica)
Para crear una nueva nota de débito peruana, debe usar el endpoint /documents con los parámetros adecuados y agregar el campo reference_number que indica el número del documento original (como una factura o boleta) al que se refiere la nota de débito.
- Endpoint: https://apifacto.com/v1/documents
- Método: POST
- Cabeceras requeridas:
- Content-Type: application/json
- Authorization: Bearer \<token>
- Accept: */*
{
"header":{
"account_id":16268,
"document_type_id":"99",
"document_sequence_code":"FD01",
"received_issued_flag":0,
"issue_date":"2025-01-23",
"issuer_tax_id_code":"20610383727",
"issuer_tax_id_type":"PE-RUC",
"issuer_legal_name":"<string>",
"issuer_address":"<string>",
"issuer_district":"<string>",
"issuer_city":"<string>",
"issuer_department":"<string>",
"issuer_country_id":"80",
"issuer_phone":"<string>",
"issuer_activity":"<string>",
"issuer_postalcode":"12345456",
"receiver_tax_id_code":"20473731828",
"receiver_tax_id_type":"PE-RUC",
"receiver_legal_name":"ESCUELA KEMPER URGATES",
"receiver_address":"<string>",
"receiver_district":"<string>",
"receiver_city":"<string>",
"receiver_department":"<string>",
"receiver_country_id":"80",
"receiver_phone":"<string>",
"receiver_activity":"<string>",
"receiver_postalcode":"12343456",
"payment_conditions":"0",
"currency_id":7,
"additional":{
"pe_header":{
"signature_id":"ASDFG",
"operation_type":"0101"
}
}
},
"details":[
{
"quantity":1,
"line_description":"Prueba Koywe",
"unit_measure":"NIU",
"unit_price":1000,
"long_description":"Test descripcion",
"modifier_amount":0,
"total_taxes":180,
"modifier_percentage":0,
"total_amount_line":1180,
"sku":"3245",
"taxes":[
{
"tax_type_id":"413",
"tax_percentage":18,
"tax_amount":180
}
]
}
],
"references": [
{
"document_type_id":"96",
"reference_number":"F001-00000080",
"reference_code":"03",
"description":"Penalidad/otros conceptos",
"reference_date":"2025-01-23"
}
],
"totals":{
"net_amount":1000,
"taxes_amount":180,
"total_amount":1180
}
}
Nota de débito con reference_document_id (Nota de débito electrónica)
Para crear una nueva nota de débito peruana, debe usar el endpoint /documents con los parámetros adecuados y agregar el campo reference_document_id que indica el ID del documento original (como una factura o boleta) al que se refiere la nota de débito.
- Endpoint: https://apifacto.com/v1/documents
- Método: POST
- Cabeceras requeridas:
- Content-Type: application/json
- Authorization: Bearer \<token>
- Accept: */*
{
"header":{
"account_id":16268,
"document_type_id":"99",
"document_sequence_code":"FD01",
"received_issued_flag":0,
"issue_date":"2025-01-23",
"issuer_tax_id_code":"20610383727",
"issuer_tax_id_type":"PE-RUC",
"issuer_legal_name":"<string>",
"issuer_address":"<string>",
"issuer_district":"<string>",
"issuer_city":"<string>",
"issuer_department":"<string>",
"issuer_country_id":"80",
"issuer_phone":"<string>",
"issuer_activity":"<string>",
"issuer_postalcode":"12345456",
"receiver_tax_id_code":"20473731828",
"receiver_tax_id_type":"PE-RUC",
"receiver_legal_name":"ESCUELA KEMPER URGATES",
"receiver_address":"<string>",
"receiver_district":"<string>",
"receiver_city":"<string>",
"receiver_department":"<string>",
"receiver_country_id":"80",
"receiver_phone":"<string>",
"receiver_activity":"<string>",
"receiver_postalcode":"12343456",
"payment_conditions":"0",
"currency_id":7,
"additional":{
"pe_header":{
"signature_id":"ASDFG",
"operation_type":"0101"
}
}
},
"details":[
{
"quantity":1,
"line_description":"Prueba Koywe",
"unit_measure":"NIU",
"unit_price":1000,
"long_description":"Test descripcion",
"modifier_amount":0,
"total_taxes":180,
"modifier_percentage":0,
"total_amount_line":1180,
"sku":"3245",
"taxes":[
{
"tax_type_id":"413",
"tax_percentage":18,
"tax_amount":180
}
]
}
],
"references": [
{
"document_type_id":"96",
"reference_document_id": "1587",
"reference_code":"03",
"description":"Penalidad/otros conceptos",
"reference_date":"2025-01-23"
}
],
"totals":{
"net_amount":1000,
"taxes_amount":180,
"total_amount":1180
}
}
Guía de remisión remitente (Guía de remisión electrónica remitente)
Para crear una nueva guía de remisión remitente peruana (document_type_id "100", código SUNAT "09"), debe usar el endpoint /documents con los parámetros adecuados y agregar los campos adicionales de envío. La serie suele comenzar con T (por ejemplo T002).
Para la guía emitida por el transportista (document_type_id "101"), use el ejemplo siguiente.
- Endpoint: https://apifacto.com/v1/documents
- Método: POST
- Cabeceras requeridas:
- Content-Type: application/json
- Authorization: Bearer \<token>
- Accept: */*
{
"header":{
"account_id":16268,
"document_type_id":"100",
"document_sequence_code":"T002",
"received_issued_flag":0,
"issue_date":"2026-02-17",
"issuer_tax_id_code":"20610383727",
"issuer_tax_id_type":"PE-RUC",
"issuer_legal_name":"<string>",
"issuer_address":"<string>",
"issuer_district":"<string>",
"issuer_city":"<string>",
"issuer_department":"<string>",
"issuer_country_id":"83",
"issuer_phone":"<string>",
"issuer_activity":"<string>",
"issuer_postalcode":"12345456",
"receiver_tax_id_code":"20610383727",
"receiver_tax_id_type":"PE-RUC",
"receiver_legal_name":"ESCUELA KEMPER URGATES",
"receiver_address":"<string>",
"receiver_district":"<string>",
"receiver_department":"<string>",
"receiver_city":"<string>",
"receiver_country_id":"83",
"receiver_phone":"<string>",
"receiver_activity":"<string>",
"receiver_postalcode":"12343456",
"payment_conditions":"0",
"currency_id":7,
"additional":{
"pe_header":{
"operation_type":"0101"
},
"pe_shipping":{
"handling_code":"13",
"special_instructions":6,
"handling_instructions":"DESCRIPCION DEL MOTIVO DE TRASLADO",
"gross_weight_measure":"500",
"gross_weight_measure_id":"KGM",
"shipment_stage":{
"transport_mode_code":"01",
"transit_period":"2026-02-17",
"driver_person":{
"driver_id":"72257341",
"first_name":"NOMBRE CONDUCTOR",
"family_name":"APELLIDOS CONDUCTOR",
"identity_document_reference":"LICENC1234"
},
"carrier_party":{
"party_identification": "20104498044",
"party_legal_entity_name": "EMPRESA TRANSPORTISTA",
"party_legal_entity_id": "NUMREGISTRANS",
"agent_party_id": "NUMAUTRANS"
}
},
"delivery":{
"delivery_address":{
"id":"150110",
"city_subdivision_name":"URBANIZACION",
"city_name":"PROVINCIA",
"country_subentity":"DEPARTAMENTO",
"district":"DISTRITO",
"address_line":"DIRECCION PUNTO LLEGADA",
"country_id":"83"
},
"dispatch":{
"id":"150112",
"city_subdivision_name":"URBANIZACION",
"city_name":"PROVINCIA",
"country_subentity":"DEPARTAMENTO",
"district":"DISTRITO",
"address_line":"DIRECCION PUNTO LLEGADA",
"country_id":"83"
}
},
"transport_handling_unit":{
"transport_equipment_id":"PLACA1"
}
}
}
},
"details":[
{
"quantity":1,
"line_description":"Prueba Koywe",
"unit_measure":"NIU",
"long_description":"Test descripcion",
"sku":"3245"
}
]
}
Guía de remisión transportista (Guía de remisión electrónica transportista)
Para crear una guía de remisión transportista peruana, use document_type_id "101" (código SUNAT "31") en el endpoint /documents. El emisor es la empresa de transporte; el receptor es el destinatario de la mercadería.
La serie debe comenzar con V (por ejemplo V001). En pe_shipping.despatch_party debe indicar al remitente (quién envía los bienes). El conductor (driver_person) y la placa (transport_handling_unit.transport_equipment_id) son obligatorios. Los ítems no llevan montos ni impuestos.
Opcionalmente puede referenciar una guía de remisión remitente (document_type_id "100") en references.
- Endpoint: https://apifacto.com/v1/documents
- Método: POST
- Cabeceras requeridas:
- Content-Type: application/json
- Authorization: Bearer \<token>
- Accept: */*
{
"header":{
"account_id":16268,
"document_type_id":"101",
"document_sequence_code":"V001",
"received_issued_flag":0,
"issue_date":"2026-09-14",
"issuer_tax_id_code":"20610383727",
"issuer_tax_id_type":"PE-RUC",
"issuer_legal_name":"<string>",
"issuer_address":"<string>",
"issuer_district":"<string>",
"issuer_city":"<string>",
"issuer_department":"<string>",
"issuer_country_id":"83",
"issuer_phone":"<string>",
"issuer_activity":"<string>",
"issuer_postalcode":"12345456",
"receiver_tax_id_code":"20473731828",
"receiver_tax_id_type":"PE-RUC",
"receiver_legal_name":"ESCUELA KEMPER URGATES",
"receiver_address":"<string>",
"receiver_district":"<string>",
"receiver_department":"<string>",
"receiver_city":"<string>",
"receiver_country_id":"83",
"receiver_phone":"<string>",
"receiver_activity":"<string>",
"receiver_postalcode":"12343456",
"payment_conditions":"0",
"currency_id":7,
"additional":{
"pe_header":{
"operation_type":"0101"
},
"pe_shipping":{
"handling_code":"01",
"handling_instructions":"TRANSPORTE DE MERCADERIA",
"gross_weight_measure":"500",
"gross_weight_measure_id":"KGM",
"despatch_party":{
"party_identification":"20100070970",
"scheme_id":"6",
"party_legal_entity_name":"EMPRESA REMITENTE SAC"
},
"shipment_stage":{
"transport_mode_code":"01",
"transit_period":"2026-09-14",
"driver_person":{
"driver_id":"72257341",
"first_name":"NOMBRE CONDUCTOR",
"family_name":"APELLIDOS CONDUCTOR",
"identity_document_reference":"LICENC1234"
},
"carrier_party":{
"party_identification":"20610383727",
"party_legal_entity_name":"EMPRESA TRANSPORTISTA",
"party_legal_entity_id":"NUMREGISTRANS",
"agent_party_id":"NUMAUTRANS"
}
},
"delivery":{
"delivery_address":{
"id":"150110",
"city_subdivision_name":"URBANIZACION",
"city_name":"PROVINCIA",
"country_subentity":"DEPARTAMENTO",
"district":"DISTRITO",
"address_line":"DIRECCION PUNTO LLEGADA",
"country_id":"83"
},
"dispatch":{
"id":"150112",
"city_subdivision_name":"URBANIZACION",
"city_name":"PROVINCIA",
"country_subentity":"DEPARTAMENTO",
"district":"DISTRITO",
"address_line":"DIRECCION PUNTO PARTIDA",
"country_id":"83"
}
},
"transport_handling_unit":{
"transport_equipment_id":"ABC123"
}
}
}
},
"details":[
{
"quantity":1,
"line_description":"Prueba Koywe",
"unit_measure":"NIU",
"long_description":"Test descripcion",
"sku":"3245"
}
],
"references":[
{
"reference_code": "6",
"document_type_id":"100",
"reference_number":"T001-00000001",
"description":"Guia de remision remitente",
"reference_date":"2026-09-14"
}
]
}
Comprobante de retención con reference_number (Comprobante de retención)
Para crear un nuevo comprobante de retención peruano, debe usar el endpoint /documents con los parámetros adecuados y agregar el campo reference_number que indica el número del documento original (como una factura) al que se refiere el comprobante de retención, junto con los campos de retención requeridos.
- Endpoint: https://apifacto.com/v1/documents
- Método: POST
- Cabeceras requeridas:
- Content-Type: application/json
- Authorization: Bearer \<token>
- Accept: */*
{
"header":{
"account_id":16268,
"document_type_id":"109",
"document_sequence_code":"R001",
"received_issued_flag":0,
"issue_date":"2025-01-24",
"issuer_tax_id_code":"20610383727",
"issuer_tax_id_type":"PE-RUC",
"issuer_legal_name":"<string>",
"issuer_address":"<string>",
"issuer_district":"<string>",
"issuer_city":"<string>",
"issuer_department":"<string>",
"issuer_country_id":"80",
"issuer_phone":"<string>",
"issuer_activity":"<string>",
"issuer_postalcode":"12345456",
"receiver_tax_id_code":"20473731828",
"receiver_tax_id_type":"PE-RUC",
"receiver_legal_name":"ESCUELA KEMPER URGATES",
"receiver_address":"<string>",
"receiver_district":"<string>",
"receiver_city":"<string>",
"receiver_department":"<string>",
"receiver_country_id":"80",
"receiver_phone":"<string>",
"receiver_activity":"<string>",
"receiver_email":"rockman-jjlb@hotmail.com",
"receiver_postalcode":"12343456",
"payment_conditions":"0",
"currency_id":7,
"additional":{
"pe_header":{
"operation_type":"0101"
},
"pe_retention_header":{
"pe_sunat_retention_system_code":"01",
"pe_sunat_retention_percent":"3.00",
"pe_sunat_total_paid":"1144.60"
}
}
},
"details":[
{
"quantity":1,
"line_description":"Prueba Koywe",
"unit_measure":"NIU",
"unit_price":1000,
"long_description":"Test descripcion",
"modifier_amount":0,
"total_taxes":180,
"modifier_percentage":0,
"total_amount_line":1180,
"sku":"3245",
"taxes":[
{
"tax_type_id":"413",
"tax_percentage":18,
"tax_amount":180
}
]
}
],
"references":[
{
"document_type_id":"96",
"reference_number":"F001-00000080",
"reference_code":1,
"description":"Pago",
"reference_date":"2025-01-24",
"additional":{
"pe_retention_details":{
"reference_paid_amount":"1144.60",
"reference_total_invoice_amount": "1180",
"reference_paid_date":"2025-01-24",
"reference_payment_id":"1",
"pe_reference_sunat_retention_amount":"34.34",
"pe_reference_sunat_retention_date":"2025-01-23",
"calculation_rate":"1",
"currency_id":"7"
}
}
}
],
"totals":{
"net_amount":1000,
"taxes_amount":180,
"total_amount":1180
}
}
Comprobante de retención con reference_document_id (Comprobante de retención)
Para crear un nuevo comprobante de retención peruano, debe usar el endpoint /documents con los parámetros adecuados y agregar el campo reference_document_id que indica el ID del documento original (como una factura) al que se refiere el comprobante de retención, junto con los campos de retención requeridos.
- Endpoint: https://apifacto.com/v1/documents
- Método: POST
- Cabeceras requeridas:
- Content-Type: application/json
- Authorization: Bearer \<token>
- Accept: */*
{
"header":{
"account_id":16268,
"document_type_id":"109",
"document_sequence_code":"R001",
"received_issued_flag":0,
"issue_date":"2025-01-24",
"issuer_tax_id_code":"20610383727",
"issuer_tax_id_type":"PE-RUC",
"issuer_legal_name":"<string>",
"issuer_address":"<string>",
"issuer_district":"<string>",
"issuer_city":"<string>",
"issuer_department":"<string>",
"issuer_country_id":"80",
"issuer_phone":"<string>",
"issuer_activity":"<string>",
"issuer_postalcode":"12345456",
"receiver_tax_id_code":"20473731828",
"receiver_tax_id_type":"PE-RUC",
"receiver_legal_name":"ESCUELA KEMPER URGATES",
"receiver_address":"<string>",
"receiver_district":"<string>",
"receiver_city":"<string>",
"receiver_department":"<string>",
"receiver_country_id":"80",
"receiver_phone":"<string>",
"receiver_activity":"<string>",
"receiver_email":"rockman-jjlb@hotmail.com",
"receiver_postalcode":"12343456",
"payment_conditions":"0",
"currency_id":7,
"additional":{
"pe_header":{
"operation_type":"0101"
},
"pe_retention_header":{
"pe_sunat_retention_system_code":"01",
"pe_sunat_retention_percent":"3.00",
"pe_sunat_total_paid":"1144.60"
}
}
},
"details":[
{
"quantity":1,
"line_description":"Prueba Koywe",
"unit_measure":"NIU",
"unit_price":1000,
"long_description":"Test descripcion",
"modifier_amount":0,
"total_taxes":180,
"modifier_percentage":0,
"total_amount_line":1180,
"sku":"3245",
"taxes":[
{
"tax_type_id":"413",
"tax_percentage":18,
"tax_amount":180
}
]
}
],
"references":[
{
"document_type_id":"96",
"reference_document_id": "511",
"reference_code":1,
"description":"Pago",
"reference_date":"2025-01-24",
"additional":{
"pe_retention_details":{
"reference_paid_amount":"1144.60",
"reference_total_invoice_amount": "1180",
"reference_paid_date":"2025-01-24",
"reference_payment_id":"1",
"pe_reference_sunat_retention_amount":"34.34",
"pe_reference_sunat_retention_date":"2025-01-23",
"calculation_rate":"1",
"currency_id":"7"
}
}
}
],
"totals":{
"net_amount":1000,
"taxes_amount":180,
"total_amount":1180
}
}
Estado de respuesta en el resultado de la API REST
| status | description |
|---|---|
| 0 | El borrador fue creado exitosamente, firmado y enviado al SII correctamente. |
| 1 | Hay errores en los datos de entrada, por lo que el borrador no fue generado ni enviado al SII. Los detalles del error estarán en error_message. |
| 2 | El borrador fue creado exitosamente; sin embargo, hay otros problemas (ej., falta de folios) que impidieron su envío al SII. Los detalles del error estarán en error_message. |
Tras emitir un documento en Perú, la API obtiene el CDR (después del XML) y lo incluye en electronic_document como document_cdr (base64) y document_cdr_filename (por ejemplo, F001-00000001.cdr), junto con document_xml y document_pdf.
{
"document_id": 377,
"header": {
"account_id": 14540,
"document_type_id": 82,
"document_type_taxbureau": "01",
"document_number": 1040447,
"received_issued_flag": 1,
"taxbureau_validation_status": null,
"issue_date": "2025-04-15",
"issuer_tax_id_code": "860517022-2",
"issuer_tax_id_type": "PE-RUC",
"issuer_legal_name": "Demo Colombia",
"issuer_address": "",
"issuer_district": "",
"issuer_city": "",
"issuer_country_id": 253,
"issuer_phone": "442020550",
"issuer_activity": "",
"receiver_tax_id_code": "1097491385-1",
"receiver_tax_id_type": "PE-RUC",
"receiver_legal_name": "ESCUELAa KEMPER URGATE",
"receiver_address": "",
"receiver_district": "",
"receiver_city": "",
"receiver_country_id": 66,
"receiver_phone": "<string>",
"receiver_activity": "<string>",
"document_status": 1,
"payment_conditions": "0",
"currency_id": 28
},
"details": [ {
"quantity": "1.000000",
"line_description": "Prueba Koywe",
"long_description": "Esta es una linea de prueba",
"unit_measure": "70",
"unit_price": "3660.000000",
"vat_status": "0"
}],
"references": null,
"global_modifiers": null,
"totals": {
"net_amount": 3660,
"taxes_amount": 695.4,
"total_amount": "4355.40"
},
"electronic_document": {
"document_xml": "PD94bWwgdmVyc2lvbj0iMS4wIiB...",
"document_cdr": "PD94bWwgdmVyc2lvbj0iMS4wIiB...",
"document_cdr_filename": "F001-00000001.cdr",
"document_pdf": "JVBERi0xLjMKMyAwIG9iago8PC9..."
},
"payment_link": null,
"result": {
"status": 0,
"error_message": ""
},
"_links": {"self": {"href": "https://apifacto.com/v1/documents"}}
}
API Reference POST /documents
Documentación detallada del endpoint