DGI Uruguay — Electronic Invoicing (CFE / e-Invoice)
Overview
Section titled “Overview”The DGI nodes connect your workflows with Uruguay’s electronic invoicing (Electronic Fiscal Receipts, CFE, from the DGI) through direct integration with the official web services. Floogos manages the authorized numbering (CAE), builds the CFE XML, digitally signs it, sends it to the recipient and includes it in the Daily Report to the DGI.
| Node | What it does |
|---|---|
DGI: Load CAE (dgiCargarCAE) | Loads a numbering range authorized by the DGI |
DGI: Query CAE balance (dgiConsultarCAE) | Available numbering by type/series |
DGI: Issue CFE (dgiEmitirCFE) | Issues a receipt (consumes CAE, builds, signs, stores) |
DGI: Send CFE to recipient (dgiEnviarReceptor) | Sends the receipt to the recipient and processes the acknowledgment |
DGI: Daily report (dgiReporteDiario) | Sends the daily CFE report to the DGI |
DGI: Query CFE (dgiConsultarCFE) | Status of a receipt at the DGI |
DGI: Representation / QR (dgiRepresentacion) | Generates the printable receipt with QR |
Credential
Section titled “Credential”The nodes use a DGI credential. Create it under Credentials → Add → Uruguay DGI / CFE with:
| Field | Description |
|---|---|
| Certificate (.p12) | Your advanced-signature certificate, base64-encoded. |
| Certificate password | The .p12 password. Never shown in logs. |
| RUT and Legal name | Issuer data. |
| Environment | test/homologation or prod. |
| Branch and Series | DGI branch code and default series. |
The same certificate signs the receipts and authenticates to the DGI via mutual TLS.
The full flow
Section titled “The full flow”-
Load the CAE the DGI issued you with Load CAE (once per range, one per CFE type). You can paste the CAE XML and its data is extracted.
-
Issue the receipt with Issue CFE. It consumes the next CAE number (safely under concurrency), builds the XML, signs it and stores it.
-
Send the receipt to the recipient with Send CFE to recipient (processes the acknowledgment).
-
Report to the DGI with Daily report (ideally in a scheduled workflow, once a day).
-
Generate the printable representation with Representation / QR to deliver/print the receipt.
Loading and consuming the CAE
Section titled “Loading and consuming the CAE”The CAE is the numbering range the DGI authorizes (one per CFE type, ~2-year validity). First you load it with Load CAE; then Issue CFE automatically consumes the next available number. Consumption is concurrency-safe: two simultaneous issuances never take the same number. With Query CAE balance you can alert before running out of numbering.
Issuing a CFE
Section titled “Issuing a CFE”Node: DGI: Issue CFE. The receipt comes from the cfe field (JSON) or the input data. Example of an e-Invoice:
{ "tipoCfe": 111, "fechaEmision": "2026-07-29", "receptor": { "tipoDocumento": 2, "documento": "218765432109", "razonSocial": "Cliente SA" }, "items": [ { "descripcion": "Consulting service", "cantidad": 1, "precioUnitario": 12200, "indFact": 3 } ]}indFact sets the VAT treatment per item: 1 exempt, 2 minimum rate (10%), 3 basic rate (22%). Prices are taken VAT-included and the node computes the net and VAT.
CFE types (tipoCfe)
Section titled “CFE types (tipoCfe)”tipoCfe | Receipt | Requirements |
|---|---|---|
| 101 / 111 | e-Ticket / e-Invoice | — |
| 102 / 103 / 112 / 113 | Credit and debit notes | referencia (type/series/number of the original CFE) |
| 121 / 122 / 123 | Export e-Invoice | Currency USD by default |
| 181 | e-Remito | No amounts (moves goods) |
| 182 | e-Resguardo | valorRetencion per item |
Sending to the recipient
Section titled “Sending to the recipient”Send CFE to recipient wraps the receipt in a signed envelope and sends it to the recipient’s endpoint (per-recipient) over SOAP with mutual TLS, processing the acknowledgment. Identify the CFE by type/series/number (fetched from the database) or pass it in the input.
Daily report
Section titled “Daily report”Daily report gathers the issued receipts not yet reported, wraps them in a signed report envelope and sends it to the DGI, marking them as reported. It’s meant to run in a scheduled workflow (once a day). If there’s nothing pending, it does nothing.
Printable representation (QR)
Section titled “Printable representation (QR)”Representation / QR generates the printable receipt in HTML (exportable to PDF by the browser), with the security code and the DGI lookup QR. You can pass the already-issued CFE (type/series/number) or a CFE JSON to preview.
Error handling
Section titled “Error handling”| Situation | Retryable | What to do |
|---|---|---|
| No CAE available | No | Load a CAE with valid numbering for that type. |
| DGI / recipient rejection | No | The node returns the status and message. Fix the receipt. |
| Expired certificate | No | Renew the .p12 and update the credential. |
| Network / Timeout | Yes | Transient issue; retried automatically. |
See also
Section titled “See also”- Retry queue (DLQ) — how failed executions are retried.
- HTTP node — for DGI services not covered by these nodes.