Skip to main content
POST
https://sandbox.cucu.bo
/
api
/
v1
/
invoices
curl -X POST https://sandbox.cucu.bo/api/v1/invoices \
  -H "Content-Type: application/json" \
  -H "X-API-Key: YOUR_API_KEY" \
  -d '{
    "invoiceType": "ELECTRONIC_SALE",
    "pointOfSaleId": "660e8400-e29b-41d4-a716-446655440004",
    "clientDocumentType": 5,
    "clientDocumentNumber": "99001",
    "clientBusinessName": "EMPRESA DEMO S.R.L.",
    "clientEmail": "demo@ejemplo.com",
    "paymentMethodCode": 1,
    "details": [
      {
        "activityEconomic": "620100",
        "codeProductSin": "83141",
        "description": "Servicio de desarrollo de software",
        "quantity": 1,
        "unitMeasure": 58,
        "priceUnit": 500.00
      }
    ]
  }'
{
  "success": true,
  "message": "Factura emitida exitosamente",
  "data": {
    "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    "invoiceNumber": 1,
    "cuf": "2872F7294502332E637FABFBC3654EA82202AD48E0969F14EBEB8AF74",
    "state": "VALIDATED",
    "emissionType": "NORMAL",
    "clientBusinessName": "EMPRESA DEMO S.R.L.",
    "clientDocumentNumber": "99001",
    "amountSubtotal": 500.00,
    "amountDiscount": 0.00,
    "amountTotal": 500.00,
    "literal": "Quinientos 00/100 Bolivianos",
    "emissionDate": "2026-02-11T12:00:00",
    "pdfUrl": "https://sandbox.cucu.bo/api/v1/public/invoice/2872F...AF74/pdf",
    "xmlUrl": "https://sandbox.cucu.bo/api/v1/public/invoice/2872F...AF74/xml"
  },
  "timestamp": "2026-02-11T12:00:00"
}
Crea una nueva factura electronica, la firma digitalmente, la envia al SIAT para validacion, genera PDF (A4 y ticket), XML, y opcionalmente envia por email al cliente.

Headers

HeaderTipoReqDescripcion
X-API-KeystringSiTu API Key de sandbox (sk_test_) o produccion (sk_live_)
Content-TypestringSiapplication/json

Request Body

CampoTipoReqDescripcion
invoiceTypestringSiTipo de factura que determina el documento sector y modalidad. Default: ELECTRONIC_SALE. Ver Documentos Sector para todos los valores.
pointOfSaleIdstringSiUUID del punto de venta. Ejemplo: 660e8400-e29b-41d4-a716-446655440004
clientDocumentTypeintegerSiTipo de documento del cliente. Valores: 1 (CI), 2 (CEX), 3 (PAS), 4 (OD), 5 (NIT)
clientDocumentNumberstringSiNumero de documento del cliente (max 50 caracteres)
clientBusinessNamestringSiRazon social del cliente (max 255 caracteres)
clientEmailstringNoEmail del cliente. Si se proporciona, se envia automaticamente la factura por correo
clientComplementstringNoComplemento del documento de identidad
paymentMethodCodeintegerSiCodigo de metodo de pago del catalogo SIAT (1-308). Consultar catalogo sincronizado: GET /api/v1/siat/sync/catalogs/payment-methods. Ejemplos: 1 = Efectivo, 2 = Tarjeta credito, 5 = Transferencia, 27 = Gift-Card
cardNumberstringNoUltimos 4 digitos de tarjeta (solo si paymentMethodCode = 2 o 3)
exchangeRatenumberNoTipo de cambio (solo si la factura es en moneda extranjera)
descuentoAdicionalnumberNoDescuento global sobre el total de la factura. Default: 0. El SIAT valida: montoTotal = Σ(subTotal) - descuentoAdicional
montoGiftCardnumberNoMonto pagado con gift card. Default: 0. Requiere paymentMethodCode de tipo gift card (ej: 27, 35). Error SIAT [1050] si el metodo de pago no corresponde
observationsstringNoObservaciones o notas (max 500 caracteres). Aparece en el PDF A4 y ticket
isTicketbooleanNoSi true, adjunta tambien el formato ticket (80mm) en el email. Default: false
detailsarraySiLista de items de la factura (minimo 1). Ver tabla siguiente

Items del detalle (details[])

CampoTipoReqDescripcion
activityEconomicstringSiCodigo de actividad economica (CAEB)
codeProductSinstringSiCodigo de producto/servicio del SIN
codeProductstringNoCodigo interno de tu producto
descriptionstringSiDescripcion del producto/servicio (max 500 caracteres)
quantitynumberSiCantidad (mayor a 0.00001)
unitMeasureintegerSiUnidad de medida. 58 = Servicio, 1 = Unidad, 57 = Pieza, etc.
priceUnitnumberSiPrecio unitario (mayor a 0.00001)
amountDiscountnumberNoMonto de descuento por item. Default: 0
serialNumberstringNoNumero de serie del producto
imeiNumberstringNoNumero IMEI (solo para telecomunicaciones)

Response

CampoTipoDescripcion
successbooleantrue si la factura fue emitida exitosamente
data.idstringUUID de la factura
data.invoiceNumberintegerNumero correlativo de factura
data.cufstringCodigo Unico de Factura (CUF). Identificador ante el SIN
data.statestringEstado SIAT: VALIDATED, REJECTED, PENDING
data.emissionTypestringNORMAL o CONTINGENCY
data.clientBusinessNamestringRazon social del cliente
data.amountTotalnumberMonto total de la factura
data.literalstringMonto en literal (requerido por SIAT)
data.emissionDatestringFecha y hora de emision
data.pdfUrlstringURL publica del PDF
data.xmlUrlstringURL publica del XML
curl -X POST https://sandbox.cucu.bo/api/v1/invoices \
  -H "Content-Type: application/json" \
  -H "X-API-Key: YOUR_API_KEY" \
  -d '{
    "invoiceType": "ELECTRONIC_SALE",
    "pointOfSaleId": "660e8400-e29b-41d4-a716-446655440004",
    "clientDocumentType": 5,
    "clientDocumentNumber": "99001",
    "clientBusinessName": "EMPRESA DEMO S.R.L.",
    "clientEmail": "demo@ejemplo.com",
    "paymentMethodCode": 1,
    "details": [
      {
        "activityEconomic": "620100",
        "codeProductSin": "83141",
        "description": "Servicio de desarrollo de software",
        "quantity": 1,
        "unitMeasure": 58,
        "priceUnit": 500.00
      }
    ]
  }'
{
  "success": true,
  "message": "Factura emitida exitosamente",
  "data": {
    "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    "invoiceNumber": 1,
    "cuf": "2872F7294502332E637FABFBC3654EA82202AD48E0969F14EBEB8AF74",
    "state": "VALIDATED",
    "emissionType": "NORMAL",
    "clientBusinessName": "EMPRESA DEMO S.R.L.",
    "clientDocumentNumber": "99001",
    "amountSubtotal": 500.00,
    "amountDiscount": 0.00,
    "amountTotal": 500.00,
    "literal": "Quinientos 00/100 Bolivianos",
    "emissionDate": "2026-02-11T12:00:00",
    "pdfUrl": "https://sandbox.cucu.bo/api/v1/public/invoice/2872F...AF74/pdf",
    "xmlUrl": "https://sandbox.cucu.bo/api/v1/public/invoice/2872F...AF74/xml"
  },
  "timestamp": "2026-02-11T12:00:00"
}