Electronic invoicing with the DGII (Dominican Republic)
If you invoice in the Dominican Republic, the DGII requires your invoices to be filed electronically as e-CF (Comprobantes Fiscales Electrónicos). Suprata does this through Alanube, an authorized provider.
This is a real tax obligation with real deadlines, and getting it half-configured is worse than not starting. Read this whole article before switching it on.
The single most misunderstood thing
The government does not hand out invoice numbers one at a time.
People expect an integration where you press "send" and the DGII gives you a number back. That's not how it works. What actually happens:
- You request blocks of numbers from the DGII's Oficina Virtual, in advance — say, numbers 1 through 5,000 for consumer invoices.
- Suprata hands those numbers out, in order, as you close invoices.
- The finished document goes to the DGII for acceptance.
So running out of numbers is your problem to see coming, and Suprata warns you before it happens. More on that below.
Your invoice numbers don't change
Worth stating plainly because it's the first question everyone asks: your existing invoice numbering is untouched. The number your customers know, the one on their statements and in your reports, stays exactly as it is.
The e-NCF is a second, fiscal reference recorded alongside it and printed on the invoice. If you ever stop filing electronically, every invoice number you've ever issued still makes sense.
An e-NCF looks like E320000000147 — the letter E, a two-digit document type, and a ten-digit sequential.
Document types you'll actually see
| Type | What it is | When Suprata uses it |
|---|---|---|
| E31 | Factura de Crédito Fiscal | The customer has an RNC on file — they intend to claim the ITBIS back |
| E32 | Factura de Consumo | The customer has no RNC |
| E34 | Nota de Crédito | Reversing an invoice the DGII has already accepted |
You'll need a block of numbers for each type you actually issue. At minimum that's E32 and E34; add E31 if you invoice businesses.
Before you can switch it on
In order:
- Register with the DGII as an electronic issuer and obtain a digital certificate. This is between you and the DGII; Suprata isn't involved.
- Sign up with Alanube and pass their test run (set de pruebas). They issue your live access key only after you pass.
- Request authorized e-NCF ranges from the Oficina Virtual for each document type.
- Configure Suprata (below) and use Check my setup.
- Leave Practice mode on until step 2 is genuinely finished.
Configuring Suprata
Go to Integrations → Alanube DGII.
Your Alanube account. Your RNC — it must match the certificate you registered with the DGII — plus the access key Alanube gave you. There are separate boxes for the testing key and the live key, deliberately, so one can never be mistaken for the other.
Mode. Leave this on Automatic unless Alanube asks you to change it. The page always tells you which mode you are in and why.
Practice mode. While this is ticked, Suprata prepares every invoice exactly as it would file it and sends nothing. It also uses none of your DGII numbers. This is how you check your setup before anything reaches the tax authority. Untick it only when Alanube has approved you.
Default document type. What to issue when a customer has no RNC on file. Almost always E32.
Status notification password. Optional. Make up a long password, save it, then give Alanube the address shown on the page along with that same password. It lets Alanube tell us the moment the DGII responds. Without it, Suprata simply checks with Alanube every few minutes instead — so getting this wrong slows things down but breaks nothing.
Entering your DGII numbers
For each block the DGII gave you, add: the invoice type, the first and last number, and the date it stops being valid.
Blocks stop being valid on 31 December of the year after you were given them. A block issued in 2026 is dead on 1 January 2028 whether or not you used it.
Suprata shows how many numbers are left in each block and flags them when they run low or approach expiry. Watch for this — running out mid-month means invoices stop filing, and getting a new range from the DGII is not instant.
Setting ITBIS rates
Every line on a Dominican invoice has to state its ITBIS rate: 18%, 16%, 0%, exempt, or not taxable. Tell Suprata which rate each of your tax categories uses.
Anything you leave unset is declared exempt. That's deliberate — declaring ITBIS you never charged would leave you owing it. But it does mean an unset category quietly under-declares, so set them all and check again whenever you add one.
Checking your setup
Check my setup tests everything on the page and confirms Suprata can reach Alanube. It files nothing and uses none of your numbers, so run it as often as you like. Everything should be green before you switch on.
What happens day to day
Nothing changes about how you invoice. Create and close invoices as you always have.
When an invoice is closed, it's queued for filing. Filing happens in the background — closing an invoice never waits on the tax authority, so a slow DGII day doesn't stop you working.
Each invoice shows its filing status in the Tools panel:
- Waiting to be sent — queued, nothing has gone yet
- Waiting for the DGII — sent, they haven't ruled yet
- Accepted — done. The e-NCF now prints on the invoice.
- Refused by the DGII — they rejected it, and the reason is shown
- Could not be sent — it didn't reach Alanube
The e-NCF and verification QR only print on an invoice once it's been accepted. Until then the customer's copy shows your normal invoice number alone, which is correct — an unaccepted number isn't a valid fiscal reference yet.
Invoices of RD$250,000 or more
The DGII requires the customer to be identified on these. If the customer has no RNC on file, Suprata refuses the invoice with a message telling you to add it, rather than letting the DGII reject it hours later.
Add RNCs to your business customers' records before you switch this on.
Reversing an invoice
Once the DGII has accepted a document you can't simply cancel it. The only lawful reversal is a credit note (E34), which Suprata files automatically when you reverse the invoice.
If the DGII hasn't accepted it yet, reversing withdraws it and declares the unused number as cancelled.
See Closing, reversing, and reactivating invoices.
Giving back unused numbers
If a block will never be used — you're switching invoice types, or it's about to expire with numbers left — use Give back unused on that block. The DGII requires you to declare numbers you were given and didn't use.
This only ever affects numbers not yet handed out. Anything already issued is a real filed document and is left alone.
Common mistakes
- Switching on before Alanube approves you. Your live access key only exists after they do. Switching on early means every invoice fails. Stay in Practice mode.
- Letting a block run dry. The warning appears when a block drops to 10% remaining. That is not an early warning — request the next one then, not when it hits zero.
- Forgetting a block's expiry date. Numbers left in an expired block are gone, and you still have to give them back to the DGII.
- Leaving tax categories without an ITBIS rate. They are declared exempt, silently. Check my setup tells you how many are still unset.
- Not collecting RNCs. A business customer with no RNC gets a consumer invoice they can't claim ITBIS on, and they will come back to you about it. Over RD$250,000 the invoice won't file at all.
- Assuming the e-NCF replaces your invoice number. It doesn't. Both appear; yours is still the one you and your customer talk about.
- Assuming a practice site is harmless to experiment on elsewhere. Suprata practice sites always use your testing key, on purpose — a stray invoice filed with the DGII is a real tax document and cannot be quietly undone. Your live site is not a practice site.
- Ignoring a rejection. A rejected document is not filed. The reason appears on the invoice; fix the underlying data and retry from the integration page. Rejections don't resolve themselves.