In this article
The problem nobody sees coming
Imagine this: the DGI portal opens. You try to submit your first invoice. Immediate rejection. Reason: invalid customer ICE.
This scenario will happen thousands of times when the Moroccan e-invoicing portal opens. Not because businesses are disorganized, but because they did not think to prepare their data now, during the transition period.
Here are the checks to run today.
The ICE: the linchpin of all electronic invoicing
The Identifiant Commun de l'Entreprise (ICE) is a unique 15-digit number assigned to every business registered in the Moroccan trade register. It is managed by the Registre National du Commerce (RNCA).
In the e-invoicing system, the ICE plays a central role:
- It identifies the seller (your business) with certainty to the DGI
- It identifies the buyer (your B2B customer) to confirm that the transaction is between two legal entities
- The DGI automatically rejects any invoice with a missing or invalid ICE
How do you check your ICE?
- Your ICE appears on your trade register registration certificate
- It is visible on your Billora dashboard under Settings → Company
- You can check it on the rnca.ma portal
A valid ICE has exactly 15 digits. Not 14, not 16 — exactly 15.
The 5 data points to check in your invoicing software
Before the DGI portal opens, go through this checklist in your settings:
✅ 1. Your ICE (seller) — 15 digits
Where to find it: Trade register, K-bis extract, RNCA Where to enter it: Settings → Company → Legal information Common mistake: a 14-digit ICE (old format), or spaces or dashes included
✅ 2. Your IF (tax identifier)
The IF is assigned by the DGI when you register for tax purposes. It is mandatory on all invoices, regardless of e-invoicing.
✅ 3. Your RC (trade register number) and TP (professional tax number)
These identifiers must appear on your tax documents. Billora automatically includes them in PDFs as soon as they are filled in.
✅ 4. The ICE of each of your B2B customers
This is the most critical point. You will need the 15-digit ICE of every customer for whom you issue B2B invoices.
Practical strategy: with every new contract or purchase order, systematically ask for the ICE. For your existing customers, send an email to update your supplier records.
✅ 5. Your sequential numbering
Invoice numbering must be continuous and without gaps (e.g. INV-2026-0001, INV-2026-0002…). Billora handles this automatically.
Why your customer could also block you
In the e-invoicing system based on the clearance model, the DGI checks both parties: seller AND buyer. If your customer does not have a valid ICE (unregistered sole proprietor, individual, foreign entity…), the invoice will be handled differently.
For individuals (B2C): the e-invoicing system primarily targets B2B transactions. The rules for individuals will be specified in the implementing texts.
For foreign customers: specific rules will apply to exports. To be followed in the implementing decrees.
For sole proprietors (auto-entrepreneurs): if your customer is a sole proprietor without an ICE, consult your accountant for the appropriate treatment.
What Billora checks automatically
Before submitting an invoice to the DGI portal, Billora performs an automatic validation:
| Check | Rule | On failure |
|---|---|---|
| Seller ICE | Exactly 15 digits | Error message + link to Settings |
| Customer ICE | Exactly 15 digits | Error message + link to the customer record |
| Invoice number | Not empty (not a draft) | Submit button disabled |
| Invoice lines | At least one non-comment line | Error message |
These checks prevent DGI rejections, which are costly in time and can block your invoicing cycle.
The QR code: your anti-fraud safeguard starting today
While waiting for the DGI portal to open, Billora has already integrated an authenticity QR code on every invoice PDF. This QR code encodes:
`` N°FA-2026-0001 | 2026-05-30 | ICE:123456789012345 | ICE_CLIENT | HT:10000 | TVA:2000 | TTC:12000 | HASH:A3F9B2C1... ``
The SHA-256 hash guarantees that no figure has been altered after generation. Your customers can scan the QR code to instantly verify that the invoice is authentic.
This mechanism is in line with the anticipated requirements of the DGI portal and already provides a level of assurance recognized by auditors.
Action plan in 3 steps
Step 1 — This week: check your company data
Log in to your Billora account, go to Settings → Company and check:
- ICE: 15 digits ✓
- IF, RC, TP: filled in ✓
- Full address: filled in ✓
Step 2 — This month: update your customer records
In Customers, review your 10 largest B2B customers and add their ICE. Then continue with the rest gradually.
Step 3 — As soon as the portal opens: test on the DGI sandbox
As soon as the sandbox portal opens, run test submissions with a few invoices to make sure your setup is correct before going live.
Frequently asked questions
My customer refuses to give me their ICE — what should I do?
The ICE is public information recorded in the trade register. You can look it up on rnca.ma. If the customer is not registered, they cannot benefit from the VAT deduction on your invoice.
I have ongoing invoices without a customer ICE — are they still valid?
The transition rules will be defined by decree. In general, invoices issued before the date the obligation takes effect remain valid under the rules in force at the time they were issued.
Will Billora automatically update the e-invoicing system?
Yes. The infrastructure is already in place in Billora. When the DGI portal opens, activation is done on the platform side — you have nothing to configure.
Updated: May 25, 2026. The information in this article is based on the legal texts available. Implementing decrees may change certain points. Consult your accountant for application to your specific situation.