SIFEN — Electronic Invoicing Paraguay (DNIT / e-Kuatia)
Overview
Section titled “Overview”The SIFEN nodes connect your workflows with Paraguay’s electronic invoicing system (SIFEN / e-Kuatia, from the DNIT) through direct integration with the official Web Services: no intermediary provider and no per-document fee. Floogos builds the Electronic Document (DE) XML, computes its CDC, digitally signs it with your certificate, sends it over SOAP with mutual TLS and generates the KuDE (graphical representation with QR).
| Node | SIFEN service | What it does |
|---|---|---|
SIFEN: Issue e-invoice (sifenEmitirDE) | siRecepDE | Issues a DE synchronously (invoice, credit/debit note, remission, self-invoice) |
SIFEN: Send batch of DE (sifenEnviarLote) | siRecepLoteDE | Sends up to 50 DE at once (asynchronous) |
SIFEN: Query batch (sifenConsultarLote) | siResultLoteDE | Fetches a batch result and reconciles each DE |
SIFEN: Query DE by CDC (sifenConsultarDE) | siConsDE | Checks a DE status |
SIFEN: Query RUC (sifenConsultarRUC) | siConsRUC | Validates a RUC in the DNIT registry |
SIFEN: Cancel DE (sifenCancelarDE) | siRecepEvento | Cancels an approved DE (signed event) |
SIFEN: Generate KuDE (PDF/QR) (sifenKuDE) | — | Generates the printable graphical representation with QR |
Credential
Section titled “Credential”The nodes use a SIFEN credential. Create it under Credentials → Add → SIFEN with these fields:
| Field | Description |
|---|---|
| Certificate (.p12) | Your signing certificate, base64-encoded, issued by a DNIT-authorized provider. |
| Certificate password | The .p12 password. Never shown in logs. |
| RUC and DV | The issuer’s RUC (without check digit) and its DV. |
| Environment | test or prod. |
| CSC ID and CSC | The taxpayer security code and its identifier — required for the KuDE QR hash. |
| Establishment and Point of issue | The issuer’s default codes (can be overridden per document). |
The same certificate is used both to sign the DE and to authenticate to SIFEN via mutual TLS. If the certificate is expired, the issuing nodes stop with a clear message.
The full flow
Section titled “The full flow”-
Prepare the DE as a JSON object (issuer, recipient, operation and items). The issuer, establishment and point of issue are filled from the credential if omitted.
-
Issue with Issue e-invoice (synchronous) or Send batch (several at once). Floogos computes the CDC, signs the XML and sends it.
-
SIFEN responds with
ApprovedorRejected. For batches, fetch the result later with Query batch. -
Generate the KuDE with Generate KuDE to deliver/print the document with its QR.
-
If needed, cancel the DE with Cancel DE within the DNIT deadline.
Issuing a DE
Section titled “Issuing a DE”Node: SIFEN: Issue e-invoice. The document comes from the de field (JSON) or the input data. Example of a cash invoice:
{ "tipoDE": 1, "timbrado": "12558946", "fechaEmision": "2026-07-29T10:00:00", "numero": "0000123", "receptor": { "naturaleza": 2, "tipoOperacion": 2, "nombre": "Final Consumer" }, "operacion": { "condicionVenta": 1, "moneda": "PYG", "indicadorPresencia": 1 }, "items": [ { "codigo": "P1", "descripcion": "Perfume 100ml", "cantidad": 1, "precioUnitario": 110000, "afectacionIVA": 1, "tasaIVA": 10 } ]}Output (approved):
{ "cdc": "0180012345600100100001232202607291071136690X", "estado": "Aprobado", "protocolo": "998877", "codigo": "0300"}Document types (tipoDE)
Section titled “Document types (tipoDE)”tipoDE | Document | Extra requirements |
|---|---|---|
| 1 | E-invoice | — |
| 4 | Self-invoice | vendedor (non-taxpayer seller data) |
| 5 | Credit note | documentoAsociado (original invoice CDC) + motivoEmision |
| 6 | Debit note | same as the credit note |
| 7 | Remission note | transporte + motivoRemision (no amounts) |
Batch delivery
Section titled “Batch delivery”For high volumes, Send batch of DE signs each document, compresses them and sends them together (up to 50). SIFEN immediately returns a protocol (dProtConsLote); the actual result of each DE is fetched later with Query batch, which also reconciles each one’s status.
{ "documentos": [ { "numero": "0000124", "items": [ /* ... */ ] }, { "numero": "0000125", "items": [ /* ... */ ] } ] }Queries
Section titled “Queries”- Query DE by CDC (
sifenConsultarDE): checks a document status; useful to reconcile after a timeout. - Query RUC (
sifenConsultarRUC): fetches legal name and status of a RUC in the registry — ideal to validate the recipient before issuing.
Cancelling a DE
Section titled “Cancelling a DE”Cancel DE issues a signed cancellation event. It requires the CDC and a reason (5 to 500 characters), and is only valid within the DNIT deadline after approval.
cdc: 0180012345600100100001232202607291071136690Xreason: Wrong invoiced amountKuDE (graphical representation)
Section titled “KuDE (graphical representation)”Generate KuDE produces the printable document in HTML (the browser can export it to PDF), with the public-lookup QR code. You can pass the CDC of an already-issued DE (it retrieves the signed XML from the database) or a DE JSON to preview. The QR includes the cHashQR, a hash computed with your CSC; without the correct CSC the QR won’t validate.
Error handling
Section titled “Error handling”| Situation | Retryable | What to do |
|---|---|---|
| SIFEN rejection (code in the response) | No | The node returns SIFEN’s code and message. Fix the document. |
| Expired certificate | No | Renew the .p12 and update the credential. |
| Invalid data (missing item, bad CDC/reason) | No | The node validates before sending and explains what’s missing. |
| Network / Timeout | Yes | Transient issue; retried automatically. |
See also
Section titled “See also”- Retry queue (DLQ) — how failed executions are retried.
- HTTP node — for SIFEN services not covered by these nodes.