Making an invoice in Morocco means turning a real sale into a readable, calculated and retrievable document. Start with both parties and the lines, then calculate net, VAT and gross; assign the final number only after review. The PDF is only the visible output. The customer record, source sale, payment and any correction must tell the same story.

The invoice in ten steps
- Confirm seller, customer and transaction.
- Enter the applicable business IDs, including ICE where required.
- Detail description, unit, quantity and price.
- Apply the validated discount and VAT treatment.
- Calculate net, tax by rate, gross and balance due.
- Add date, due date, currency and useful terms.
- Review before assigning the final number.
- Generate and visually read the PDF.
- Record payment without changing the invoice.
- Retain the source and link any correction.
1. Gather information before calculating
Create the issuer and customer records first. OMPIC describes ICE as a 15-position identifier added to the company’s other identifiers; it does not arbitrarily replace tax ID, business tax, commercial registration or CNSS. Applicable fields depend on issuer, customer and transaction.
| Block | Prepare | Check |
|---|---|---|
| Seller | Legal name, address and applicable IDs | Match source records |
| Customer | Name, address and B2B ICE where applicable | Validated record |
| Sale | Date, purpose, order or delivery | Source evidence |
| Lines | Description, unit, quantity, price, discount | Readable to customer |
| Tax | Applicable VAT treatment and rates | Validated with accountant |
| Payment | Method, due date, amount paid | Separate from invoice total |
See the detailed mandatory invoice fields. To choose a system that retains them, use our Morocco invoicing software comparison.
2. Build lines and calculate totals
Every line should explain what was sold. Avoid “miscellaneous” where a nature, period or reference can be stated. Calculate each line before adding, and group VAT by the rate actually applicable.
- Quantity × unit price gives the gross line amount.
- Apply the discount as agreed: line or document.
- Add the lines to obtain the net amount before VAT.
- Separate bases where rates or treatments differ.
- Calculate each VAT group and retain its rounding.
- Add net and taxes, then validated adjustments.
- Compare gross with payment without confusing them.
- Review units, currency and decimal precision.
| Teaching example | Calculation | Amount |
|---|---|---|
| 2 services at MAD 1,250 | 2 × 1,250 | MAD 2,500 net |
| 1 delivery at MAD 500 | 1 × 500 | MAD 500 net |
| Total net | 2,500 + 500 | MAD 3,000 |
| Illustrative VAT at 20% | 3,000 × 20% | MAD 600 |
| Gross total | 3,000 + 600 | MAD 3,600 |
| Advance recorded | payment tracking | MAD 1,000 |
| Balance due | 3,600 − 1,000 | MAD 2,600 |
The 20% rate only demonstrates the arithmetic. Do not copy it without checking the product, service, regime and date in the current Tax Code with your accountant. An exemption or another rate changes the document and may change the wording required.
3. Number, issue and send
Keep draft, quote and final invoice distinct. An issued invoice number is neither customer memory nor a way to hide deletion; it belongs to an organised sequence under your procedure.
- Create the document as a draft.
- Check identities, date, lines, tax and totals.
- Compare the order, delivery note or source sale.
- Have an unusual case approved by the responsible person.
- Assign the final number on issue.
- Generate the PDF and visually review it.
- Send through the agreed channel and keep useful evidence.
- Record payment separately.
- File the PDF with data and supporting records.
- For an error after issue, follow the validated correction route.
A consumer and a business do not always provide the same information. Our B2B versus B2C guide explains when to obtain a professional customer record instead of guessing identity after the sale.

Payment, invoice and credit note are not interchangeable
Receiving MAD 1,000 does not reduce the invoice gross: it reduces the balance. A discount agreed before issue changes the lines; a correction after issue may require a linked credit note or another validated process. Do not delete a final document to make the difference disappear.
4. Check and retain the file
Read the PDF as the customer: identity, number, date, uncut lines, totals, currency and contact details. Then check as the accountant: bases, VAT breakdown, payment, source reference and export.
The archive is not merely a PDF in Downloads. Keep the source sale or order, sent version, payment evidence, correction and exports for a validated period. Our invoice retention guide covers integrity, access and restoration.
Test restoration on a copy. A file on the same till computer is not an adequate backup against failure, theft or operator error.
5. Do it in BelloPOS
BelloPOS Go turns a sale into a numbered A4 invoice, produces PDF and provides UBL 2.1, SHA-256 and electronic-preparation exports. Pro adds quotes, orders, delivery notes, invoices, credits, purchasing and the accounting bridge.
| Need | Plan | Boundary |
|---|---|---|
| Sales receipt | Lite | Not Go’s A4 invoice |
| Invoice from a sale | Go | Data must be checked |
| PDF, UBL, hash, export | Go | No direct DGI transmission |
| Quote→order→delivery→invoice | Pro | Define business procedure |
| Linked credit | Pro | Validate treatment |
| Accounting bridge | Pro | Does not replace accountant |
Go and Pro are one-time purchases. Compare the plans, or begin with our Word, Excel and PDF templates while volume remains very low.
Mistakes to avoid
- Billing a company from an incomplete record.
- Using “miscellaneous” on every line.
- Applying 20% by reflex.
- Numbering before final review.
- Treating an advance as a lower gross total.
- Overwriting an issued invoice.
- Keeping only the sent PDF.
- Never testing restoration.
Frequently asked questions
What information goes on a Moroccan invoice?
Applicable identities and IDs, number, date, detailed goods or services, quantities, prices, discounts, VAT treatment, totals and useful terms. Check your case in the Tax Code with your accountant.
Is the customer’s ICE required?
For a business relationship, create an accurate customer record and collect ICE where the case requires it. OMPIC says ICE has 15 positions.
How do I calculate net, VAT and gross?
Add net lines by rate, calculate each tax, then add net and taxes. First validate the rate actually applicable.
Does an advance change the invoice total?
No. It changes paid and balance due, not the value of the goods or services invoiced.
Can I correct an invoice already sent?
Do not overwrite it. Qualify the error and use a linked credit or validated correction route while keeping the original.
Does BelloPOS send invoices directly to the DGI?
No. It prepares the announced outputs locally; direct DGI transmission is not active today.
What to take away
A sound invoice comes from correct data, reviewed arithmetic and a retained trail. Prepare records, check before final numbering, separate payment from correction, and test the archive.
Sources
The figures and rules quoted above come from these pages, read on the date given in the article.
- Moroccan General Tax Code 2026, DGI, read 29 August 2026
- OMPIC, Common Business Identifier (ICE), read 29 August 2026
- BelloPOS numbered PDF invoices and fields, read 29 August 2026
- BelloPOS quotes, orders, deliveries, invoices and credit notes, read 29 August 2026
- BelloPOS Lite, Go and Pro pricing, read 29 August 2026
Create an invoice from a real sale
Test customer, lines, PDF, payment and export in BelloPOS with a case reviewed by your accountant.
Read next
Other practical guides on the same subject: