Skip to content

facturaBoEmitirLote

Issues several invoices in one call (the API accepts 20 per request; the node splits bigger batches). Validates ALL before sending any and returns each result. Partial success is supported. No idempotency and no credit/debit notes: if the network fails mid-batch, check with “Query → list” before retrying.

Part of the Bolivia Fiscal Hub as an alternative to connecting directly to the SIAT: factura.bo (SimplifyIT S.R.L.) is a provider that builds and signs the XML and sends it to the SIN. Node: «Emitir facturas en lote».

FieldTypeRequiredDescription
credentials_idcredentialsYesfacturabo credential
invoicesjsonYesInvoices (JSON) — Array of {sector, factura}; the invoice uses the same fields as “Issue invoice” (or the API format with cliente and emisor)
document_sectorselectNoSector (common) — For invoices that do not set their own · 1, 2, 3, 4, 6, 8, 11, 13, 14, 16, 17, 28
branch_codenumberNoBranch (SIAT code) — 0 = head office. Empty = the credential default branch
point_of_sale_codenumberNoPoint of sale (SIAT code) — 0 = main point. Empty = the credential one
payment_method_codenumberNoPayment method (common)
default_codigo_sinnumberNoDefault SIN product code — Applied to lines without codigo_sin (productos_servicios catalog)
default_unit_measurenumberNoDefault unit of measure — 58 = Service, 1 = Unit (unidades_medida catalog)
default_activitytextNoDefault economic activity (CAEB) — 6 or 7 digits. Applied to lines without actividad_economica
chunk_sizenumberNoInvoices per call — Max 20 (API limit)
max_invoicesnumberNoMaximum invoices
invalid_itemsselectNoIf an invoice is invalid — abort, skip
fail_on_partialbooleanNoError if any fails
output_keytextNoOutput key — The result is added to data[key] keeping the rest of the data

This module requires a credential of type facturabo with the fields:

  • API key: get it at app.factura.bo → More → API Key
  • Environment: testing (sandbox, pilot SIAT) or production; the key does not reveal it, you choose
  • NIT and SIAT system code: to sync CUIS/CUFD and catalogs
  • Default branch and point of sale: 0 = head office / main point
  • Webhook secret (whsec_…): to verify event signatures
{
"success": false,
"total": 45,
"successful": 44,
"failed": 1,
"chunks": 3,
"results": [
{
"index": 0,
"success": true,
"sector": 1,
"invoice_number": 1,
"cuf": "A…",
"state": "EMITIDA"
},
{
"index": 23,
"success": false,
"stage": "facturabo",
"sector": 1,
"error": "NIT invalido"
}
],
"warnings": [],
"environment": "sandbox"
}

The output is stored under the configured key (output_key, default facturabo) and the rest of data is kept. On error: error.message, error.type and, where applicable, status and siat_code.

{
"credentials_id": "cred-facturabo",
"invoices": [
{
"sector": 1,
"factura": {
"client_document_number": "1023456789",
"client_business_name": "CLIENTE A S.R.L.",
"items": [
{
"descripcion": "Servicio A",
"cantidad": 1,
"precio_unitario": 200,
"codigo_sin": 83141
}
]
}
}
],
"default_codigo_sin": 83141,
"invalid_items": "abort"
}
  • Validates ALL invoices before sending any (unless “skip invalid”). Splits into calls of 20 and re-maps indexes so results[i] matches the input list.
  • A batch supports partial success and does NOT support idempotency or credit/debit notes. A timeout is not retried, to avoid duplicates: if it fails midway the error carries partial with what was confirmed; check with “Query → list” before resending.
  • Each element can use the “Issue invoice” fields or the native API format (emisor, cliente, items), which is sent as is.
  • The exact shape of each batch result is not detailed in the public docs; the node recognises ok/exito and the data in datos.