Guides & comparisonsInvoicingRetail in Morocco

Discounts and multiple VAT rates on one invoice: full example

Two lines, two discounts and two rates: calculate net excluding VAT, VAT by rate and gross without an average rate or rounding gap.

By BelloCommerce

·

Do not calculate a multiple-rate invoice with an average VAT rate. Calculate every line after its discount, group net bases by rate, then add net, VAT and gross. Article 58 of Law 104-12 requires reductions quantifiable at sale to be shown, while the Tax Code requires VAT separately when applicable.

Calculating a discount and multiple VAT rates on an invoice
Calculating a discount and multiple VAT rates on an invoice.

The formula in six lines

  • Line gross = quantity × unit price excluding VAT.
  • Line discount = gross × discount rate.
  • Line net = gross − discount.
  • Line VAT = net × validated rate.
  • Group bases and VAT by rate.
  • Gross = net total + VAT total.
  • Use one documented rounding policy.
  • Never apply an average rate to the total.

1. Full two-rate example

Teaching example: 20% and 10% demonstrate the arithmetic only. They do not determine the rate for your items.

LineGross netDiscountNetRateVATGross
2 × MAD 5001,000.0010% = 100.00900.0020%180.001,080.00
3 × MAD 200600.005% = 30.00570.0010%57.00627.00
Total1,600.00130.001,470.00By rate237.001,707.00

Recomposition is 1,470 + 237 = MAD 1,707. A discount first reduces the line base; it is neither a payment nor a standalone credit.


2. Break VAT down instead of merely showing it

A MAD 237 VAT total is not enough to check a mixed-rate invoice. Retain the base and VAT subtotal of each rate group.

GroupNet baseVATCheck
Illustrative 20%MAD 900.00MAD 180.00900 × 20%
Illustrative 10%MAD 570.00MAD 57.00570 × 10%
All ratesMAD 1,470.00MAD 237.00Gross MAD 1,707.00

Validate nature, rate, any exemption and wording before issue. The invoice without VAT guide covers transactions outside this calculation.

3. Rounding without phantom cents

Choose a consistent calculation level in software and the accounting export. Mixing line VAT rounding with a fresh global calculation can create a small difference.

  1. Retain enough calculation precision.
  2. Display money to two decimals.
  3. Apply one rule to every line.
  4. Add rounded values under the selected policy.
  5. Handle permitted differences traceably.
  6. Test fractional discounts and quantities.
  7. Compare PDF, sales journal and accounting export.
  8. Never hand-edit gross after issue.

If the PDF is issued, follow correcting an invoice instead of silently changing its total.

Checking an invoice VAT breakdown by rate
Checking an invoice VAT breakdown by rate.

A configured rate is not tax advice

BelloPOS applies the rate configured on the product and produces the breakdown. It does not legally classify your product or replace accountant validation.

4. Line discount or global discount

A line discount belongs to its item and reduces that base. A global discount on a mixed-rate invoice must be allocated under a defined method; putting all of it against the highest rate distorts the breakdown.

Displaying the reduction on affected lines is often clearest. For a global commercial discount, validate allocation and retain the reason.

Do not confuse discount, deposit and settlement. A discount changes price; a payment reduces customer balance. The deposit and balance guide shows the difference.

5. What BelloPOS covers

BelloPOS reads product price, discount and VAT rate, calculates the basket and prints the breakdown. Go issues the A4 invoice from the sale; Pro retains quote→order→delivery→invoice lineage and feeds the accounting bridge.

ControlBelloPOSOwner
Rate by productConfigurableBusiness/accountant
Discount and netCalculatedAuthorised user
VAT by rateBroken downReviewer
Invoice PDFGo/ProIssue authority
Journal/VATProAccountant
Tax classificationNot decidedProfessional adviser

Test a basket mixing rates, discounts and quantities before going live. Compare PDF with the accounting export.

Mistakes to avoid

  • Calculating VAT before discount.
  • Applying an average rate.
  • Hiding reduction in unit price.
  • Confusing discount and payment.
  • Rounding differently in PDF and journal.
  • Hand-editing gross.
  • Copying a rate without classifying the item.
  • Omitting rate subtotals.

Frequently asked questions

Is a discount calculated before VAT?

In this example, a quantifiable reduction lowers the line net before VAT. Validate special cases.

Can I use an average rate?

Not to recompose a mixed-rate invoice. Calculate and total each rate group separately.

Do 10% and 20% apply to my products?

Not necessarily. They demonstrate arithmetic; each item or service must be classified.

How do I handle a global discount?

Allocate it across affected bases under a validated method and retain the reason.

What should I do with a one-cent difference?

Check line-versus-global rounding and keep one policy from PDF through accounting.

Does BelloPOS break VAT down?

Yes, from the rates configured per product. The tax setup remains yours to validate.

What to take away

Calculate gross, discount, net and VAT line by line, then group by rate. A visible breakdown and stable rounding policy make gross recomposable.

Sources

The figures and rules quoted above come from these pages, read on the date given in the article.

Test the two-rate invoice

Create two demonstration products, apply the example discounts and reconcile basket, PDF and journal.

Read next

Other practical guides on the same subject: