Why do invoice details matter so much?
An invoice is more than a request for payment. It is the supporting document behind your bookkeeping, your VAT return and your customer's VAT return. When a detail is missing or wrong, your business customer usually feels it first: during a tax audit, its deductible VAT or the expense itself may be challenged. So it asks you to reissue the invoice, and payment is delayed.
A complete invoice protects both sides. For the seller it proves the receivable and makes collection easier; for the buyer it justifies the expense and the VAT recovery. The detailed rules sit in the Moroccan General Tax Code and are clarified by the tax administration; they change with the annual finance laws. This guide covers the usual details, but always have your template reviewed by your expert-comptable (chartered accountant).
What details does a Moroccan invoice usually include?
An invoice issued by a Moroccan company normally has three blocks: who is selling, who is buying, and the figures of the transaction. The table further down summarises each item and how to fill it in.
Four identifiers come up every time. The ICE (Identifiant Commun de l'Entreprise) is the company's single identifier shared across administrations; it is required on business-to-business invoices for both the seller and the customer. The IF is the tax identification number issued by the DGI. The RC is the trade register number, together with the city of registration. Finally, the business tax (taxe professionnelle, formerly called patente) has its own number.
- Seller: company name, legal form, address, ICE, IF, RC and business tax number.
- Customer: name or company name, address and, for a business customer, its ICE number.
- Document: unique number, issue date, and ideally the purchase order or delivery note reference.
- Lines: precise description, quantity, unit price excluding VAT, any discount, line amount.
- Taxes: VAT rate on each line, VAT amount per rate, total including VAT.
- Payment: method, terms and due date.
| Detail | What to show | Note |
|---|---|---|
| Seller identity | Company name, legal form, address | Same as in the trade register |
| Seller ICE | Identifiant Commun de l'Entreprise | Required on business-to-business invoices |
| IF | Tax identification number issued by the DGI | Used for tax returns |
| RC | Trade register number and city | For registered companies |
| Business tax | Taxe professionnelle number (formerly patente) | Often missing from home-made templates |
| Number and date | Unique number and issue date | Chronological sequence, no gaps or duplicates |
| Customer identity | Name or company name, address | Needed to justify the expense |
| Customer ICE | ICE number of the business customer | Check every digit |
| Line details | Description, quantity, unit price excluding VAT, discount | Precise wording, no vague labels |
| VAT | Rate per line and VAT amount per rate | Rates are configurable and change with finance laws |
| Totals | Total excluding VAT, total VAT, total including VAT | Amounts in MAD (DH) |
| Payment | Method, terms and due date | Helps track payment delays |
How should invoices be numbered?
The common-sense rule followed in accounting practice is chronological, continuous numbering: each invoice gets a unique number, with no duplicates and no gaps in the sequence. A readable format such as FA-2026-0001, FA-2026-0002 lets you restart every year while keeping a clean sequence. In an audit, a missing number stands out immediately, so every gap must be explainable.
Typical mistakes come from manual tools: two salespeople sharing the same Excel file, a draft deleted after it took a number, or a sequence that restarts by accident. Keep separate sequences per document type, too: quotes, delivery notes and credit notes each have their own numbering, distinct from invoices.
Credit note or cancellation: how do you correct an invoice?
An invoice that has been issued and sent should not be edited or deleted, even if it contains a mistake. The correction is made with a credit note, a negative invoice that references the original invoice by number and date. It can cancel the invoice in full, followed by a new correct invoice, or only in part: returned goods, a discount granted afterwards, a wrong price on one line.
The credit note carries the same details as an invoice, including the matching VAT, so that output VAT is reduced by the right amount. Only a draft that was never sent to the customer, and never consumed a number, can simply be discarded. When in doubt, ask your accountant for the right procedure in your situation.
Which common invoice mistakes should you avoid?
Most invoices rejected by customers' accounts departments are rejected for simple reasons that a well-built template avoids.
- Customer ICE number missing or copied with a wrong digit.
- VAT calculated on a rounded total instead of line by line, creating differences of a few centimes.
- Several VAT rates on the same invoice without a separate total per rate.
- Invoice edited after sending instead of issuing a credit note.
- A gap or duplicate in the numbering after a deletion.
- Vague descriptions such as various services, which do not justify the expense.
- Missing payment terms and due date, which makes follow-up and payment-delay tracking harder.
How does SOGESTIO produce complete invoices?
In SOGESTIO you enter your company name, address, ICE, IF, RC, patente (business tax) number, logo and bank details (RIB) once; they then appear on every quote, delivery note, invoice and credit note as a PDF in French, Arabic or English. Numbering is assigned by the server, per document type and per year, which prevents duplicates even when several users invoice at the same time.
Totals excluding VAT, VAT and including VAT are calculated by the server, with VAT line by line and a summary per rate. An invoice is corrected with a credit note linked to the original. Payment terms (cash, 7 to 90 days or custom) compute the due date automatically, and customers can view and download their invoices through a private link. SOGESTIO also exports validated invoices in the structured UBL 2.1 format (with ICE, IF and RC), which prepares the move to the e-invoicing system announced by the DGI, whose official technical specification has not yet been published.
This guide is for information only and does not replace advice from your accountant or the relevant authority.
Frequently asked questions
Is the ICE number required on every invoice?
The seller's and the customer's ICE numbers are required on business-to-business invoices. When selling to an individual, the customer has no ICE, but your own identifiers must always appear. For specific situations, check with your accountant.
Can I edit an invoice I have already sent?
No. An issued invoice is neither edited nor deleted. You issue a credit note referencing the original, in full or in part, then a new correct invoice if needed. This keeps the numbering continuous and the VAT accurate.
Do invoice numbers have to restart every year?
No precise format is imposed, but a yearly prefix (FA-2026-0001) with a continuous sequence is common practice. What matters is that every number is unique and the sequence is chronological, without unexplained gaps.
Is an invoice made in Excel or Word valid?
Yes, if it contains all the required details. The risk lies mainly in numbering, VAT formulas and outdated template copies. Invoicing software reduces these mistakes by assigning numbers and calculating totals automatically.
Does SOGESTIO show the ICE, IF, RC and patente on invoices?
Yes. These identifiers are entered once in the company profile and printed on every PDF, with the logo, address and bank details. The customer ICE is taken from the customer record. You can try it free for 14 days, no card required.
How does SOGESTIO handle e-invoicing in Morocco?
SOGESTIO exports validated invoices and credit notes in the structured UBL 2.1 format (with ICE, IF and RC), which prepares the move to the e-invoicing system announced by the DGI. The official technical specification has not yet been published, so compatibility with the final system cannot be confirmed today.