Documentación SDK
Factura en minutos, solo con SDKs
TypeScript, Python, PHP, Ruby, Java, Go y .NET. Sin SOAP, sin XML manual, sin CUIS/CUFD a mano: el SDK lo resuelve por ti.
El flujo completo
- 1
Instala el SDK
Un comando por lenguaje, nada más. - 2
Crea el cliente con tu X-API-Key
Una key por tenant (empresa). Todo queda aislado por tenant. - 3
setupPointOfSale una vez
CUIS + catálogos + CUFD en una llamada idempotente. - 4
preview → emit → pdf
Valida sin SIAT, emite síncrono y descarga el PDF.
index.ts
1// 1. Deja el punto de venta listo (CUIS + catálogos + CUFD)2await supay.onboarding.setupPointOfSale({ pointOfSaleId: POS_ID });3 4// 2. Valida sin tocar el SIAT5await supay.invoices.preview({6 pointOfSaleId: POS_ID,7 customer: { documentType: "ci", documentNumber: "1234567", name: "Ada Lovelace" },8 items: [{ sku: "PLAN-PRO", quantity: 1, price: 150 }],9});10 11// 3. Emite (síncrono: ACCEPTED / OBSERVED / OFFLINE)12const factura = await supay.invoices.emit({13 pointOfSaleId: POS_ID,14 customer: { documentType: "ci", documentNumber: "1234567", name: "Ada Lovelace" },15 items: [{ sku: "PLAN-PRO", quantity: 1, price: 150 }],16});17 18// 4. PDF listo para entregar19const pdf = await supay.invoices.pdf(factura.id);Regla de oro de esta documentación
Aquí nunca verás `curl` ni `fetch` directo. Si un caso de uso existe en Supay, existe como método del SDK en los siete lenguajes.
Qué cubre esta documentación
Onboarding (empresa, sucursal, punto de venta y certificado), catálogos SIAT, facturación con payload mínimo de 6 campos, 51 sectores con ejemplos por sector, contingencia OFFLINE con paquetes, masiva y compras, anulaciones y errores accionables con `code` + `field` + sugerencias.
No homologado aún
Supay es software experimental en desarrollo activo, aún no homologado por el SIN. Usa sandbox para integrar y valida con tu contador antes de producción.