Bolivia implementó la facturación electrónica a través del SIAT (Sistema Integrado de Administración Tributaria) del SIN (Servicio de Impuestos Nacionales). Toda factura emitida debe validarse en tiempo real por el SIAT antes de tener validez fiscal.El proceso involucra:
Firma digital con certificado emitido por el SIN
Generación del CUF (Código Único de Facturación)
Validación en línea contra el SIAT
Generación de PDF y XML firmado
CUCU abstrae toda esta complejidad en una sola API REST:
Emite facturas
Un solo POST /api/v1/invoices. CUCU firma, valida con el SIAT, genera CUF, PDF, XML y envía el email al cliente.
15 tipos de documento
Compra-venta, exportación, zona franca, educación, salud, hoteles, aerolíneas y más. Mismo endpoint, distinto invoiceType.
Notas de crédito/débito
Documentos de ajuste fiscal con cálculo automático de montos contra la factura original.
Contingencia offline
Cuando el SIAT no está disponible, CUCU emite con CUF offline y sincroniza al reconectarse.
CUCU opera en dos ambientes completamente aislados. Mismo formato de respuesta, mismas validaciones, misma lógica. La única diferencia es la conexión al SIAT.
Sandbox
https://sandbox.cucu.bo
SIAT Piloto — facturas de desarrollo, sin validez fiscal. Incluido en tu plan.
Producción
https://api.cucu.bo
SIAT Producción — facturas fiscalmente válidas ante el SIN.
Característica
Sandbox
Producción
API Key
sk_test_...
sk_live_...
Ambiente SIAT
Piloto (ambiente 2)
Producción (ambiente 1)
Validez fiscal
No — facturas de prueba
Sí — reportadas al SIN
Certificado digital
Demo (preconfigurado)
Requerido (emitido por el SIN)
PDF
Con marca “SIN VALOR LEGAL”
Sin marca de agua
Cambiar de ambiente requiere solo dos variables: la URL base y la API Key. Todos los endpoints, request bodies y response formats son idénticos.
Si tu integración funciona en sandbox, funciona en producción con solo cambiar la URL y la key.
Todas las llamadas autenticadas requieren el header X-API-Key:
curl -X GET https://sandbox.cucu.bo/api/v1/invoices \ -H "X-API-Key: YOUR_API_KEY"
Prefijo
Ambiente
Validez fiscal
sk_test_...
Sandbox (SIAT Piloto)
No
sk_live_...
Producción (SIAT real)
Sí
Las keys sk_live_ nunca deben exponerse en código frontend, repos públicos ni apps móviles. Solo en tu backend, vía variables de entorno o secret manager.