You made 500,000 dirhams of sales this quarter, so 100,000 dirhams of output VAT? Almost never. Turnover reconciles cleanly to declared VAT only in a single-rate business paid at the till: everywhere else a series of legitimate gaps sit in between, and knowing them is the only way to spot the ones that are not legitimate.

The essentials in five points
- The check is done rate by rate, never on a single total. Two rates mixed together make any gap unreadable.
- The collection lag is the first gap and the largest: you declare what was collected, not what was invoiced.
- Exempt and out-of-scope sales leave the base without leaving turnover.
- Credit notes reduce the VAT of the period they are issued in, not that of the original invoice.
- An unexplained gap before filing beats one discovered on inspection.
1. Starting from the right total: the split by rate
The first mistake is checking a single total. Since the convergence of rates carried out between 2024 and 2026, Morocco mainly applies 20% and 10%, and a business selling under both must keep two separate columns.
- Pull the period’s turnover split by rate: 20%, 10%, exempt, out of scope.
- Check that the columns add back to total turnover.
- Apply its own rate to each taxable column to get a theoretical VAT figure.
- Compare that theoretical VAT with the VAT in your accounts.
- Only then explain the gaps, column by column.
This split cannot be reconstructed by hand at the end of a quarter: it is produced at the point of sale. That is why the rate belongs on the product record rather than being chosen at the moment of payment. A till that produces the total by rate at closing gives you that column for free.
2. The six legitimate gaps
A gap between theoretical and declared VAT is not in itself an anomaly. These six causes explain the vast majority of cases, and each is supported by a document.
| Gap | Effect on declared VAT | What supports it |
|---|---|---|
| Sales invoiced but not collected | Reduces it under the cash-received regime | The period’s customer balance |
| Collections from earlier periods | Increases it | The detail of payments received |
| Deposits collected without an invoice | Increases it | The collections journal |
| Exempt or out-of-scope sales | Removes them from the base | The status held on the product record |
| Credit notes issued in the period | Reduces it | Numbered credit notes referencing their invoices |
| Line-by-line rounding | A gap of a few dirhams | The invoicing detail |
The first two lines disappear if you have opted for debits, in which case VAT follows invoicing. So check first which chargeability regime you are actually under: checking collections while declaring on debits produces a gap that does not exist.
3. The gaps that are not legitimate
Once the six causes above are removed, whatever remains needs a correction, not an explanation.
- A product on the wrong rate: A record set to 10% instead of 20% produces a constant gap proportional to volume. It is the most expensive error and the easiest to fix.
- Exempt status used as a shortcut: Marking a sale exempt to avoid settling the rate question creates a direct understatement of the base.
- A sale collected outside the till: A payment received straight into the bank and never entered appears nowhere in the split.
- A credit note with no original invoice: It reduces VAT with no identifiable counterpart, and shows up immediately on inspection.
A wrong rate on a product record deserves a systematic annual check, because it is silent: nothing flags the error, the receipt prints normally, and the gap accumulates across thousands of sales before anyone notices.
Never check against a single global total
Applying an average rate to total turnover gives a reassuring and useless result: two errors in opposite directions cancel out, and a product at 10% that should be at 20% vanishes into the average. The check is only worth anything rate by rate, with exempt and out-of-scope sales isolated in their own columns. It is also the only presentation an inspector will accept as a starting point.
4. The checks before sending
Five minutes before validating the return beats three days of reconstruction two years later.
- Check that the columns by rate add back to accounting turnover.
- Reconcile the declared VAT to the output VAT account in the trial balance.
- Check that the period’s credit notes have been taken into account.
- Verify that no sale was marked exempt without justification.
- Compare the VAT-to-turnover ratio with the previous period’s.
- Keep the reconciliation sheet with the return.
The period-on-period ratio is the quickest and most revealing check. At comparable activity it should be stable; a sharp movement with no change in product mix almost always signals a misconfigured product record or a sale allocated to the wrong column.
Mistakes to avoid
- Checking VAT against global turnover, with no split by rate.
- Forgetting the lag between invoicing and collection.
- Not deducting credit notes issued during the period.
- Using exempt status to avoid settling a rate question.
- Leaving a product record on the wrong rate with no annual check.
- Keeping no reconciliation sheet with the return.
Frequently asked questions
Why does turnover times the rate not come out right?
Because the base is not turnover. Under the cash-received regime you declare what was collected; on top of that come exempt and out-of-scope sales, credit notes, deposits and rounding. Each of those gaps is supported by a document.
Should the check be done rate by rate?
Yes, always. A global check hides configuration errors, which are precisely what you are looking for. Each rate, plus exempt and out of scope, needs its own column.
How is a credit note handled in the check?
It reduces the VAT of the period it is issued in, not that of the original invoice. It must be numbered and reference the invoice it corrects, otherwise it cannot be justified.
What if a gap stays unexplained?
Do not validate the return and hope it passes. Document what you checked, isolate the period or product family concerned, and settle it with your accountant. A gap identified before filing gets corrected; discovered on inspection, it gets argued.
Does BelloPOS produce the split by rate?
Yes. The rate is held on the product record and the closing report gives total sales split by rate, from the free Lite licence onward. Since version 3.1 the Moroccan presets offer only 20% and 10%. The return itself is still prepared with your accountant.
What to take away
Checking output VAT is not about landing on a round number, it is about being able to name every gap. Split by rate, remove the six legitimate causes, correct what remains, and keep the sheet. The check takes five minutes a period and makes the return defensible.
Sources
The figures and rules quoted above come from these pages, read on the date given in the article.
- Moroccan Tax Administration, 2026 General Tax Code
- Ministry of Economy and Finance, General Code of Accounting Standardisation, read 1 September 2026
The split by rate, produced at the point of sale
BelloPOS holds the rate on the product record and produces total sales by rate at closing, from the free Lite licence onward. Accounting journals and exports arrive with Pro.
Read next
Other practical guides on the same subject: