SiatEmitirFactura
Descripción
Sección titulada «Descripción»Emite una Factura Electrónica de compra-venta al SIAT del SIN de Bolivia. El nodo genera el CUF (Código Único de Facturación) a partir del NIT del emisor, la fecha de emisión y la CUFD del día, arma el XML de la factura, lo firma digitalmente con XMLDSig usando el certificado de la credencial y realiza la recepción por SOAP con el cuerpo comprimido en GZIP.
Requiere una CUFD vigente (obtenida previamente con SiatObtenerCufd): sin ella el nodo no arma ni envía nada. El precio unitario de cada ítem de la factura se informa con el IVA del 13% ya incluido. Opcionalmente, el mismo nodo puede validar el estado final del documento inmediatamente después de la recepción.
Configuración
Sección titulada «Configuración»| Campo | Tipo | Requerido | Descripción |
|---|---|---|---|
| credentials_id | credentials | Sí | Credencial siat |
| factura | json | No | Factura en JSON: comprador (nit/documento, razonSocial, tipoDocumento), items (precioUnitario con IVA incluido, codigoProductoSin, actividadEconomica). Si se deja vacío se usan los datos de entrada del nodo |
| cufd | text | No | CUFD vigente (si no está en la credencial ni dentro de factura) |
| codigo_control | text | No | Código de control de la CUFD |
| validar_estado | boolean | No | Validar el estado del documento inmediatamente después de la recepción. Por defecto true |
El emisor (NIT, razón social, sucursal, punto de venta) se completa automáticamente desde la credencial cuando no viene en factura.
Credenciales
Sección titulada «Credenciales»Este módulo requiere una credencial de tipo siat con los siguientes campos:
- Certificado digital (.p12): certificado de firma, o alternativamente clave privada + certificado en PEM
- Contraseña del certificado: contraseña del .p12
- NIT del emisor: NIT de la empresa que factura
- Token/apikey del SIN: token de acceso a los servicios del SIAT (o token delegado)
- Ambiente: pruebas/piloto o producción
{ "cuf": "8A1B2C3D4E5F60718293A4B5C6D7E8F9", "numeroFactura": "128", "tipo": "1", "estado": "validated", "codigoRecepcion": "R-2026-000123", "qrUrl": "https://siat.impuestos.gob.bo/consulta?cuf=8A1B2C3D4E5F60718293A4B5C6D7E8F9", "total": 1130, "iva": 130, "mensajes": [], "xmlFirmado": "<Factura>...firmado...</Factura>"}Ejemplo de Uso
Sección titulada «Ejemplo de Uso»Factura de un servicio con un ítem (IVA 13% incluido)
Sección titulada «Factura de un servicio con un ítem (IVA 13% incluido)»{ "credentials_id": "cred-siat-prod", "cufd": "ABCDEFGHIJK0123456789LMNOPQRSTUVWXYZ", "codigo_control": "A1B2", "factura": { "comprador": { "nit": "1234567011", "razonSocial": "Cliente SRL", "tipoDocumento": "NIT" }, "items": [ { "descripcion": "Servicio de consultoría", "cantidad": 1, "precioUnitario": 1130, "codigoProductoSin": "99100", "actividadEconomica": "620100" } ] }}factura.itemses obligatorio y debe tener al menos un ítem; si falta, el nodo corta antes de armar el XML.- La CUFD y su código de control son obligatorios: si no vienen en
factura, en la configuración del nodo ni en la credencial, el nodo devuelve error (conseguilos con SiatObtenerCufd). - Si el certificado de la credencial está vencido, el nodo rechaza la emisión antes de firmar.
- Con
validar_estadoen true (por defecto) el documento queda envalidatedorejectedsegún lo que confirme el SIN; en false queda enreceivedsin resolver. - El precio unitario de cada ítem se informa con el IVA 13% ya incluido, no como impuesto aparte.
Nodos Relacionados
Sección titulada «Nodos Relacionados»- SiatObtenerCufd - Obtener la CUFD del día antes de emitir
- SiatAnular - Anular esta factura por su CUF
- SiatRepresentación - Generar la representación impresa con QR