How to write a construction invoice in Morocco
A construction invoice in Morocco rarely comes alone. A building job usually starts with a quote, goes through one or more progress invoices as the work advances, and ends with a final statement once the client takes over the site. Each of these papers has to carry the mentions of article 145 of the General Tax Code (CGI), and each has to match what was actually built. This guide is written for contractors who price houses, extensions and finishing work, with the 2026 VAT rules and a progress invoice you can rebuild in the generator above.
Building quote lines: m², days and supplies
A building quote is a list of measured quantities. When you pick "Construction", the generator fills three typical lines:
- Structural work (foundations, columns and slabs in reinforced concrete), priced per m² of floor built, or as a lump sum for a clearly defined part of the job.
- Finishing work such as tiling, plaster or painting, priced per m² laid. Say whether the price is "supply and laying" or "laying only": a client who buys his own tiles expects a labour-only rate.
- Labour by the day for what cannot be measured in advance: a mason and his helper, demolition, small repairs.
Keep supplies and labour on separate lines whenever the client provides part of the materials. Use the same descriptions and units from the quote to the last invoice, so each progress invoice can be checked line by line. The quantities on a progress invoice are the ones measured on site at that date, not the ones planned.
VAT on building work: 20%
Building works ("travaux immobiliers") are subject to VAT under article 89-I-4° of the CGI, and article 89-II-3° defines a building contractor as anyone who erects buildings for third parties. No reduced rate in article 99-B covers them, so the rate is the normal 20% (article 99-A) on every line: concrete, tiles supplied and laid, and labour alike.
The taxable amount is the amount of the contracts, statements ("mémoires") or invoices of work done (article 96-3°). By default VAT becomes due when you are paid, in full or in part (article 95). A deposit received when the client signs the quote therefore carries VAT on the amount received, and so does every progress payment. A business can opt for VAT on invoicing instead, by declaring it before 1 January or within 30 days of starting.
Progress invoices, final statement and retention
On a job that lasts several months, contractors usually bill as the work advances. Each progress invoice (in French "situation de travaux" or "décompte") shows the quantities done since the start or since the last invoice, priced at the quote's rates, minus what has already been paid. The final statement ("décompte définitif") closes the job once the work is handed over.
Many building contracts also include a retention ("retenue de garantie"): the client holds back part of each payment until the work is accepted and the guarantee period written in the contract has passed. The tax code does not set it; the contract does, both its size and its release date. On the default cash basis, VAT on the held-back part becomes due when you actually collect it (article 95). Mention the retention in the notes, so the client's accountant sees why the amount paid is lower than the total.
Site details to put on every document
Article 145-III asks for your identity, tax ID (IF) and professional tax (TP) number, the date, the client's name, address and ICE when it is a business, the nature and quantity of the works, and the VAT shown separately. On building sites, practice adds:
- the site address, which is often not the client's address;
- the plot reference (land title or lot number) and the building permit reference, when there is one;
- the number and date of the quote the invoice follows;
- for a progress invoice, the period covered and its rank (no. 1, no. 2...).
Put them in the first line's description or in the notes. With several sites running at once, every invoice then ties to the right one at a glance.
Worked example: a progress invoice with a deposit
A house in Nador: the client paid a 30,000 MAD deposit when signing the quote. At the first progress invoice, the site shows 120 m² of structural work at 800 MAD per m², 60 m² of tiling supplied and laid at 250 MAD per m², and 10 days of a mason and helper at 400 MAD a day. All lines are at 20%. The work done comes to 115,000.00 MAD before tax, the VAT is 23,000.00 MAD, and the total is 138,000.00 MAD. The deposit of 30,000.00 MAD already received comes off, so this invoice asks for 108,000.00 MAD.
| Description | Qty | Unit | Unit price excl. VAT | VAT | Total excl. VAT |
|---|---|---|---|---|---|
| Structural work, reinforced concrete (ground floor) | 120 | m² | 800.00 MAD | 20% | 96,000.00 MAD |
| Floor tiling, supply and laying | 60 | m² | 250.00 MAD | 20% | 15,000.00 MAD |
| Labour, mason and helper | 10 | day | 400.00 MAD | 20% | 4,000.00 MAD |
| Total excl. VAT | 115,000.00 MAD | ||||
| VAT 20% | 23,000.00 MAD | ||||
| Total incl. VAT | 138,000.00 MAD | ||||
| Deposit paid | 30,000.00 MAD | ||||
| Balance due | 108,000.00 MAD | ||||
Common mistakes
- Billing the planned quantities instead of the ones measured on site: the client's engineer will check, and the final statement will not add up.
- Forgetting to subtract the deposit and earlier payments: the client sees a total far above what is left to pay.
- Writing one lump sum "construction works" with no m² and no detail: hard to compare with the quote, and hard to defend in a dispute.
- Restarting the numbering on each site. Article 145-III requires one continuous series for the whole business.
Subcontracting the windows or the wiring? Your subcontractors have the aluminium and wood joinery invoice and the electrician and plumber invoice. For workers on a monthly wage, the salary calculator helps you check the pay.
Questions
What VAT rate applies to construction work in Morocco?
It is 20%, the normal rate of article 99-A. Building works are taxable under article 89-I-4° and no reduced rate applies to them.
Does a deposit on a building quote carry VAT?
Yes. On the default cash basis, VAT is due on every amount you collect, including the deposit taken when the quote is signed (article 95).
What is a "retenue de garantie"?
A share of each payment that the client keeps until the work is accepted and the guarantee period ends. The contract sets its size and release date, not the tax code.
Can I make a building quote with this tool?
Yes. Switch the document to "Quote", set a validity date and send it as a PDF; as the site advances, switch back to invoice for each progress payment.