Resumen
| Herramienta | Auth | Descripcion |
|---|---|---|
crearFactura | Si | Emitir factura electronica completa |
listarFacturas | Si | Listar facturas paginadas |
obtenerFactura | Si | Detalle de factura por UUID |
obtenerFacturaPorCuf | Si | Detalle de factura por CUF |
anularFactura | Si | Anular factura ante el SIAT |
verificarEstadoFactura | Si | Estado actual en el SIAT |
crearNotaCreditoDebito | Si | Emitir nota credito/debito |
resumenFacturacion | Si | Dashboard de facturacion |
descargarDocumento | Si | Descargar PDF, ticket o XML como base64 |
verificarFormatoNit | No | Validar formato NIT |
historialCliente | Si | Historial de facturacion por NIT |
buscarNormativa | No | RAG normativa SIAT |
erroresComunesSiat | No | Errores comunes y soluciones |
buscarContingencias | No | RAG contingencias |
calcularMontoLiteral | No | Monto numerico a texto literal |
Herramientas de Facturacion
crearFactura
Crea y emite una factura electronica validada por el SIAT. Firma digital, CUF, validacion fiscal, generacion de PDF/XML y envio de email al cliente — todo en una sola llamada.| Parametro | Tipo | Requerido | Descripcion |
|---|---|---|---|
requestJson | String | Si | 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 emision descendente.| Parametro | Tipo | Requerido | Descripcion |
|---|---|---|---|
page | int | No | Pagina (inicia en 0, default: 0) |
size | int | No | Elementos por pagina (max 50, default: 10) |
“Lista mis ultimas 5 facturas”
obtenerFactura
Obtiene los detalles completos de una factura por UUID, incluyendo datos del cliente, montos, estado SIAT, CUF y codigo QR.| Parametro | Tipo | Requerido | Descripcion |
|---|---|---|---|
id | String | Si | 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 (Codigo Unico de Factura), el identificador unico ante el SIN.| Parametro | Tipo | Requerido | Descripcion |
|---|---|---|---|
cuf | String | Si | Codigo Unico de Factura |
“Busca la factura con CUF 2872F729450…”
anularFactura
Anula una factura electronica emitida. La anulacion es irreversible ante el SIAT.| Parametro | Tipo | Requerido | Descripcion |
|---|---|---|---|
id | String | Si | UUID de la factura |
codigoMotivo | int | Si | 1=Error datos, 2=Devolucion, 3=Periodo 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.| Parametro | Tipo | Requerido | Descripcion |
|---|---|---|---|
id | String | Si | UUID de la factura |
“Verifica el estado de la factura a1b2c3d4… en el SIAT”
crearNotaCreditoDebito
Crea y emite una Nota de Credito o Debito contra una factura original validada. La nota se envia al SIAT para validacion con documento sector 24.| Parametro | Tipo | Requerido | Descripcion |
|---|---|---|---|
requestJson | String | Si | JSON con los datos de la nota |
“Emite una nota de credito contra la factura a1b2c3d4… por devolucion de Bs. 100”
resumenFacturacion
Obtiene un resumen tipo dashboard de la facturacion del tenant: total facturas, montos, estados, facturas recientes.| Parametro | Tipo | Requerido | Descripcion |
|---|---|---|---|
| (ninguno) | - | - | No requiere parametros |
“Dame un resumen de mi facturacion”
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.| Parametro | Tipo | Requerido | Descripcion |
|---|---|---|---|
cuf | String | Si | Codigo Unico de Factura |
formato | String | Si | a4 (PDF A4), ticket (PDF 80mm) o xml |
“Descarga el PDF de la factura con CUF 2872F729…”
Herramientas de Utilidades SIAT
verificarFormatoNit
Valida el formato de un NIT boliviano. Los NITs validos tienen 7-15 digitos. El NIT 0 es valido (consumidor final).| Parametro | Tipo | Requerido | Descripcion |
|---|---|---|---|
nit | String | Si | NIT a validar (solo digitos) |
“Verifica si el NIT 1023456789 es valido”
historialCliente
Obtiene el historial de facturacion de un cliente por NIT. Muestra razon social, email, telefono y cantidad de facturas emitidas.| Parametro | Tipo | Requerido | Descripcion |
|---|---|---|---|
nit | String | Si | NIT del cliente |
“Cual es el historial de facturacion del cliente con NIT 99001?”
buscarNormativa
Busqueda semantica (RAG) en la normativa oficial del SIAT sobre facturacion electronica boliviana.| Parametro | Tipo | Requerido | Descripcion |
|---|---|---|---|
consulta | String | Si | Pregunta o termino de busqueda |
“Como funciona el CUFD segun la normativa?”
erroresComunesSiat
Lista los errores mas comunes del SIAT con sus codigos, descripciones y soluciones recomendadas.| Parametro | Tipo | Requerido | Descripcion |
|---|---|---|---|
| (ninguno) | - | - | No requiere parametros |
“Cuales son los errores mas comunes del SIAT?”
buscarContingencias
Busqueda semantica (RAG) en el historial de contingencias y eventos significativos. Encuentra caidas del SIAT, puntos de venta con problemas, duracion y patrones.| Parametro | Tipo | Requerido | Descripcion |
|---|---|---|---|
consulta | String | Si | Pregunta sobre contingencias |
“Cuantas caidas del SIAT hubo este mes?”
calcularMontoLiteral
Convierte un monto numerico a su representacion en texto literal (requerido por el SIAT en cada factura).| Parametro | Tipo | Requerido | Descripcion |
|---|---|---|---|
monto | double | Si | Monto numerico a convertir |
"Quinientos 50/100 Bolivianos"
Ejemplo de uso con AI:
“Convierte 1500.75 a texto literal”
Conceptos clave
CUF — Codigo Unico de Facturacion
CUF — Codigo Unico de Facturacion
El CUF es un codigo alfanumerico de ~50 caracteres generado por el SIAT que identifica univocamente
cada factura electronica ante el SIN. Es el equivalente a un “DNI” de la factura.
- Se genera al momento de emision y no cambia
- Es necesario para anulaciones, consultas y descargas publicas
- Los endpoints publicos
/public/invoice/{cuf}/pdfy/public/invoice/{cuf}/xmlusan el CUF como identificador - Ejemplo:
2872F7294502332E637FABFBC3654EA82202AD48E0969F14EBEB8AF74
Contingencia — Facturacion offline
Contingencia — Facturacion offline
Cuando el SIAT no esta disponible (caida, mantenimiento, problemas de red), CUCU activa
el modo contingencia automaticamente:
- 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 automaticamente las facturas pendientes
- El CUF temporal se reemplaza por el CUF definitivo del SIAT
NIT — Formato y validacion
NIT — Formato y validacion
El NIT (Numero de Identificacion Tributaria) boliviano tiene estas reglas:
- Longitud: 7 a 15 digitos (solo numeros)
- NIT 0: Valido — representa “consumidor final” (Sin nombre)
- Validacion: Usa
verificarFormatoNitantes de emitir para evitar rechazos del SIAT - Documento tipo 5: En
clientDocumentType, el valor5= NIT - Los NITs se validan contra el algoritmo oficial del SIN (modulo 11)
Codigos de producto SIN
Codigos de producto SIN
Cada item en una factura requiere un
Usa la herramienta
codeProductSin del catalogo oficial del SIN.
Ejemplos comunes:| Codigo | Descripcion |
|---|---|
83141 | Servicios de consultoria en tecnologia |
86101 | Servicios de consultoria en gestion |
46211 | Venta de software |
73119 | Servicios de publicidad |
85960 | Servicios de capacitacion |
buscarNormativa para consultar codigos especificos.Unidades de medida SIAT
Unidades de medida SIAT
El campo
La unidad mas comun para servicios es
unitMeasure usa codigos numericos del catalogo SIN:| Codigo | Descripcion |
|---|---|
1 | Unidad |
2 | Kilogramo |
14 | Metro |
57 | Pieza |
58 | Servicio |
58. Para productos fisicos, usa la unidad que corresponda.