Bolivia
In Bolivia, Floogos connects directly to the SIN (National Tax Service) through the SIAT (Invoicing System), with no mandatory intermediate provider: the engine itself builds the invoice XML, signs it with the issuer’s certificate, and speaks the SIN’s SOAP protocol, with the body compressed in GZIP.
Integration model
Section titled “Integration model”- Direct, no PAC: the flow goes straight to the SIAT’s SOAP services, depending on the mode (testing/pilot or production) and the certificate provided by the credential.
- Daily CUFD: before issuing any invoice, you need to obtain the CUFD (Daily Unique Invoicing Code), valid for 24 hours, together with its control code. The CUIS (System Startup Unique Code) can also be obtained there if you don’t have one yet.
- CUF per invoice: each invoice generates its own CUF (Unique Invoicing Code), computed from the issuer’s NIT, the issuance date, the day’s CUFD and other document data.
- Digital signature: the invoice XML is signed with XMLDSig using the credential’s certificate (.p12) before sending it.
- SOAP submission with GZIP: the signed XML is compressed and sent over SOAP to the SIN’s services, for reception and, optionally, status validation.
- 13% included VAT: the Value Added Tax is included in each item’s unit price, not reported as a separate tax.
When an invoice becomes valid
Section titled “When an invoice becomes valid”The SIN receiving the XML doesn’t close the process by itself. The issuance node can, in the same step, query the status validation (default behavior), and only then does the invoice become validated. If the SIN rejects it during reception or validation, it stays rejected and has no tax validity until it’s corrected and resent.
Available nodes
Section titled “Available nodes”| Node | Description |
|---|---|
| SiatObtenerCufd | Gets the valid CUFD (24h) and its control code; optionally the CUIS |
| SiatEmitirFactura | Generates the CUF, builds and signs the XML, and sends the sale invoice over SOAP/GZIP |
| SiatAnular | Cancels an invoice by its CUF with a reason code from the SIN catalog |
| SiatRepresentacion | Generates the printable representation (HTML/PDF) with the lookup QR |
Typical flow
Section titled “Typical flow”- SiatObtenerCufd — at the start of the day (or when the previous CUFD expires), the valid CUFD and its control code are obtained.
- SiatEmitirFactura — with that CUFD, each sale invoice is issued throughout the day.
- SiatAnular — if an already-issued invoice needs to be cancelled, it’s done by its CUF (also requires a valid CUFD).
- SiatRepresentacion — the HTML/PDF with the QR is generated to hand the customer their printed receipt.
- The
siatcredential type stores the certificate (.p12 or private key + cert PEM), its password, the issuer’s NIT, the SIN token/apikey (or delegated token) and the environment (testing/pilot or production). - The Floogos engine validates that the certificate is not expired before attempting to sign and send a document.