Ir al contenido

facturaBoContingencia

Gestiona la contingencia cuando el SIAT no responde: 1) registrar el evento DESPUÉS del corte, 2) emitir las facturas con «contingencia» activada (quedan OFFLINE), 3) enviar el paquete (máx. 500) y 4) validarlo con el código de recepción; solo entonces pasan a EMITIDA y descuentan crédito. Los eventos 5, 6 y 7 exigen un CAFC que se pide al SIN.

Forma parte del Hub Fiscal de Bolivia como alternativa a la conexión directa con el SIAT: factura.bo (SimplifyIT S.R.L.) es un proveedor que construye y firma el XML y lo envía al SIN. Nodo: «Contingencia (SIAT caído)».

CampoTipoRequeridoDescripción
credentials_idcredentialsSíCredencial facturabo
operationselectNoOperación — start_event, send_package, validate_package, list_events
branch_codenumberNoSucursal (código SIAT) — 0 = casa matriz. Vacío = la sucursal por defecto de la credencial
point_of_sale_codenumberNoPunto de venta (código SIAT) — 0 = punto principal. Vacío = el de la credencial
event_typeselectNoTipo de evento — 1, 2, 3, 4, 5, 6, 7
descriptiontextNoDescripción del evento
start_datetextNoInicio del corte — ISO 8601, hora de Bolivia, sin zona
end_datetextNoFin del corte — No puede estar en el futuro (el SIAT lo rechaza con 981). Usa el fecha_emision de las facturas, no el reloj local
reception_codetextNoCódigo de recepción — El que devuelve «Enviar paquete». Se puede repetir la validación sin cobrar dos veces
document_sectornumberNoSector de los documentos
event_datetextNoFecha (listar)
output_keytextNoClave de salida — El resultado se añade a data[clave] sin perder el resto de datos

Este módulo requiere una credencial de tipo facturabo con los campos:

  • API key: se obtiene en app.factura.bo → Más → API Key
  • Entorno: pruebas (sandbox, SIAT piloto) o producción; la clave no lo delata, lo eliges tú
  • NIT y código de sistema del SIAT: para sincronizar CUIS/CUFD y catálogos
  • Sucursal y punto de venta por defecto: 0 = casa matriz / punto principal
  • Secreto de webhooks (whsec_…): para verificar la firma de los eventos
{
"success": true,
"operation": "validate_package",
"data": {
"mensajes": []
},
"warnings": [],
"environment": "production"
}

La salida se guarda en la clave configurada (output_key, por defecto facturabo) y se conserva el resto de data. En error: error.message, error.type y, si aplica, status y siat_code.

{
"credentials_id": "cred-facturabo",
"operation": "start_event",
"event_type": 1,
"description": "Corte de internet en la oficina",
"start_date": "2026-10-26T10:00:00",
"end_date": "2026-10-26T12:30:00"
}
  • Flujo: 1) registrar el evento DESPUÉS del corte, 2) emitir las facturas con «contingencia» (quedan OFFLINE), 3) enviar el paquete (máx. 500) y 4) validarlo con el código de recepción; solo entonces pasan a EMITIDA y descuentan crédito. La validación se puede repetir sin cobrar dos veces.
  • El fin del corte no puede estar en el futuro en hora de Bolivia (el SIAT rechaza con 981) y se construye con el fecha_emision de las facturas, no con el reloj local.
  • Los eventos 5, 6 y 7 exigen un CAFC en cada factura; se solicita al SIN, no es autoservicio.