SDK · API REST · Bolivia SIN/SIAT
SDK de facturación electrónica para Bolivia
Integra la emisión válida ante el SIN en tu lenguaje: un método por factura, CUF + QR + PDF + XML automáticos, CUIS/CUFD sin cron jobs y webhooks en tiempo real.
Emite con un método
POST https://api.supay.dev/v1/invoices
Authorization: Bearer SUPAY_API_KEY
{
"client": { "name": "Panadería Sol", "nit": "1234567012" },
"items": [{ "description": "Pan integral", "qty": 10, "unitPrice": 5.5 }],
"branchId": "sucursal-central"
}
→ 200 OK
{ "cuf": "A1B2…", "qr": "https://…", "pdfUrl": "https://…", "xmlUrl": "https://…" }7 lenguajes, mismo contrato
TypeScript
npm i @supay/sdksupay.invoices.issue({...})Python
pip install supaysupay.invoices.issue({...})Go
go get github.com/supay8/supay-gosupay.Invoices.Issue(ctx, ...)Java
maven: dev.supay:sdksupay.invoices().issue(...).NET
dotnet add package Supayawait supay.Invoices.IssueAsync(...)Ruby
gem install supaySupay::Invoices.issue(...)PHP
composer require supay/sdkSupay::invoices()->issue([...])Contrato completo y sandbox en docs.supay.dev · código en GitHub.
Lo que el SDK resuelve por ti
CUIS / CUFD automático
Sin cron jobs. Renovación diaria con reintentos.
Firma + CUF + QR
XML firmado y código único verificable por factura.
Contingencia SIAT
Cola, backoff y regularización cuando el SIN vuelve.
Webhooks + idempotencia
Estados en tiempo real sin duplicar facturas.
Preguntas frecuentes
¿Qué hace el SDK exactamente?+
Esconde el protocolo fiscal del SIN: tú llamas invoices.issue con cliente, ítems e impuestos y el SDK + API generan el XML, lo firman, calculan el CUF, gestionan CUIS/CUFD y lo presentan al SIAT. Recibes CUF, QR, PDF y XML listos.
¿Puedo usar solo la API REST sin SDK?+
Sí. Todo lo del SDK es un POST a /v1/invoices con tu API key más webhooks de estado. El SDK solo tipa, firma y reintenta por ti en tu lenguaje.
¿Hay sandbox para probar sin NIT real?+
El sandbox del Early Access está previsto para probar sin tarjeta ni NIT real. Únete vía /contacto y te avisamos cuando abra. Mientras tanto, la documentación en docs.supay.dev muestra contratos y ejemplos.
¿Cómo sé cuando la factura quedó válida?+
Por webhooks de estado (emitida, observada, rechazada, anulada) más polling por ID con idempotencia. Si el SIAT se cae, Supay encola y reintenta solo.
¿El SDK maneja CUIS, CUFD y CUF?+
Sí. El CUIS se obtiene por sucursal, el CUFD se renueva a diario y el CUF se genera por factura con su QR. Tú nunca rotas códigos a mano.
¿Dónde está el código?+
En GitHub (supay8/supay) y en la documentación. Si tu lenguaje no está en la lista, usa la API REST directa: es el mismo contrato que usan los SDKs.
¿No eres dev? Mira el sistema completo o la guía de implementación paso a paso.
¿Integramos tu primera factura hoy?
Dinos tu stack y volumen. Te pasamos snippet + plan sandbox.