Facturación
El ciclo completo de facturación electrónica en 9 herramientas.crearFactura
Emite una factura electrónica completa. Firma digital, CUF, validación SIAT,
PDF/XML y email al cliente. Soporta contingencia automática.
listarFacturas
Lista facturas con filtros por fecha, estado, NIT, número.
Paginación incluida. Ideal para reportes y conciliaciones.
obtenerFactura
Detalle completo de una factura: datos fiscales, CUF, estado SIAT,
items, montos, impuestos y metadata.
anularFactura
Anula una factura ante el SIAT con motivo del catálogo SIN.
Registra la anulación y notifica al cliente.
obtenerFacturaPorCuf
Obtiene una factura por su CUF (Código Único de Factura),
el identificador único ante el SIN.
verificarEstadoFactura
Verifica el estado actual de una factura directamente con el SIAT.
Estados: VALIDATED, REJECTED, CANCELLED, PENDING, CONTINGENCY.
crearNotaCreditoDebito
Emite nota de crédito o débito contra una factura validada.
Devoluciones parciales o totales con validación SIAT sector 24.
resumenFacturacion
Dashboard de facturación: total facturas, montos, estados,
facturas recientes y métricas del periodo.
descargarDocumento
Descarga PDF (A4 o ticket) o XML de una factura como base64.
Busca primero en CDN, genera al vuelo si no existe.
crearFactura \
Crea y emite una factura electrónica validada por el SIAT. Firma digital, CUF, validación fiscal, generación de PDF/XML y envío de email al cliente — todo en una sola llamada.| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
requestJson | String | Sí | JSON con los datos de la factura |
“Emite una factura a DEMO S.R.L. con NIT 99001 por Bs. 500 de servicio de desarrollo”
listarFacturas \
Lista facturas emitidas por el tenant autenticado, paginadas y ordenadas por fecha de emisión descendente.| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
page | int | No | Página (inicia en 0, default: 0) |
size | int | No | Elementos por página (max 50, default: 10) |
“Lista mis últimas 5 facturas”
obtenerFactura \
Obtiene los detalles completos de una factura por UUID, incluyendo datos del cliente, montos, estado SIAT, CUF y código QR.| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
id | String | Sí | UUID de la factura |
“Muestra los detalles de la factura a1b2c3d4-e5f6-7890-abcd-ef1234567890”
obtenerFacturaPorCuf \
Obtiene los detalles de una factura por su CUF (Código Único de Factura), el identificador único ante el SIN.| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
cuf | String | Sí | Código Único de Factura |
“Busca la factura con CUF 2872F729450…”
anularFactura \
Anula una factura electrónica emitida. La anulación es irreversible ante el SIAT.| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
id | String | Sí | UUID de la factura |
codigoMotivo | int | Sí | 1=Error datos, 2=Devolución, 3=Período posterior, 4=Otro |
“Anula la factura a1b2c3d4… por error de datos”
verificarEstadoFactura \
Verifica el estado actual de una factura directamente con el SIAT. Estados posibles: VALIDATED, REJECTED, CANCELLED, PENDING, CONTINGENCY.| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
id | String | Sí | UUID de la factura |
“Verifica el estado de la factura a1b2c3d4… en el SIAT”
crearNotaCreditoDebito \
Crea y emite una Nota de Crédito o Débito contra una factura original validada. La nota se envía al SIAT para validación con documento sector 24.| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
requestJson | String | Sí | JSON con los datos de la nota |
“Emite una nota de crédito contra la factura a1b2c3d4… por devolución de Bs. 100”
resumenFacturacion \
Obtiene un resumen tipo dashboard de la facturación del tenant: total facturas, montos, estados, facturas recientes.| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
| (ninguno) | - | - | No requiere parámetros |
“Dame un resumen de mi facturación”
descargarDocumento \
Descarga el PDF (A4 o ticket) o XML de una factura como contenido base64. Busca primero en S3 (CDN), si no existe genera el documento al vuelo.| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
cuf | String | Sí | Código Único de Factura |
formato | String | Sí | a4 (PDF A4), ticket (PDF 80mm) o xml |
“Descarga el PDF de la factura con CUF 2872F729…”
Conceptos clave
CUF — Código Único de Facturación
CUF — Código Único de Facturación
El CUF es un código alfanumérico de ~50 caracteres generado por el SIAT que identifica unívocamente
cada factura electrónica ante el SIN. Es el equivalente a un “DNI” de la factura.
- Se genera al momento de emisión y no cambia
- Es necesario para anulaciones, consultas y descargas públicas
- Los endpoints públicos
/public/invoice/{cuf}/pdfy/public/invoice/{cuf}/xmlusan el CUF como identificador - Ejemplo:
2872F7294502332E637FABFBC3654EA82202AD48E0969F14EBEB8AF74
Contingencia — Facturación offline
Contingencia — Facturación offline
Cuando el SIAT no está disponible (caída, mantenimiento, problemas de red), CUCU activa
el modo contingencia automáticamente:
- La factura se emite localmente con un CUF temporal
- Se almacena en la base de datos con estado
CONTINGENCY - Cuando el SIAT vuelve, CUCU sincroniza automáticamente las facturas pendientes
- El CUF temporal se reemplaza por el CUF definitivo del SIAT
Códigos de producto SIN
Códigos de producto SIN
Cada item en una factura requiere un
Usa la herramienta
codeProductSin del catálogo oficial del SIN.
Ejemplos comunes:| Código | Descripción |
|---|---|
83141 | Servicios de consultoría en tecnología |
86101 | Servicios de consultoría en gestión |
46211 | Venta de software |
73119 | Servicios de publicidad |
85960 | Servicios de capacitación |
buscarNormativa para consultar códigos específicos.Unidades de medida SIAT
Unidades de medida SIAT
El campo
La unidad más común para servicios es
unitMeasure usa códigos numéricos del catálogo SIN:| Código | Descripción |
|---|---|
1 | Unidad |
2 | Kilogramo |
14 | Metro |
57 | Pieza |
58 | Servicio |
58. Para productos físicos, usa la unidad que corresponda.