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 /v1/invoices
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/sdk
supay.invoices.issue({...})

Python

pip install supay
supay.invoices.issue({...})

Go

go get github.com/supay8/supay-go
supay.Invoices.Issue(ctx, ...)

Java

maven: dev.supay:sdk
supay.invoices().issue(...)

.NET

dotnet add package Supay
await supay.Invoices.IssueAsync(...)

Ruby

gem install supay
Supay::Invoices.issue(...)

PHP

composer require supay/sdk
Supay::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.

Hablar con nosotros