Skip to Content
Regulatory · Law 69-21 · Morocco

Law 69-21 on payment terms: automate your compliance with Odoo

Law 69-21 governs business-to-business payment terms in Morocco: 60 days by default (120 days maximum where contractually agreed), periodic reporting to the DGI, and fines indexed on the Bank Al-Maghrib key rate in the event of late payment. An ERP such as Odoo automates due-date traceability, the aged balance, dunning and the preparatory statement for the return.

Updated: July 2026

What the law requires, what you are exposed to, and how your ERP turns this constraint into genuine cash-flow control.

What the law says

Law 69-21: the essentials for your business

Law 69-21 on payment terms governs payment periods between businesses in Morocco: a standard term of 60 days (up to 120 days where contractually agreed), mandatory periodic reporting of payment terms to the DGI for companies within scope, and financial penalties calculated on amounts paid late, indexed on the Bank Al-Maghrib key rate.

In practical terms, your business must be able to track every invoice (issue date, due date, actual payment date), calculate late payments and produce the return on time. That is precisely what an ERP should automate. (As the scope thresholds and the timetable continue to evolve, check your situation with your chartered accountant — we keep this page up to date.)

Odoo in practice

What Odoo automates for Law 69-21

Due-date traceability

Every invoice carries its issue date, its contractual due date and its actual settlement date — the basis for any late-payment calculation.

Aged balance and late payments

Real-time customer and supplier aged balances, identifying overdue invoices and the amount exposed to fines.

Automated dunning

Automated customer dunning plans by level: cutting late collections means cutting your own knock-on exposure.

Preparatory statement for the return

Extraction of the data required for the periodic payment-terms return, ready for validation by your accountant.

Preventive blocking

Alerts and approvals on derogating payment terms (beyond 60 days) so you stay within the authorised contractual framework.

Cash-flow control

Cash-in and cash-out forecasts aligned with statutory due dates: compliance becomes a cash lever.

FAQ

Law 69-21: frequently asked questions

The standard term is 60 days from the invoice date. A contractual term may be agreed between the parties without exceeding 120 days. Certain sectors benefit from specific exemptions.

A financial penalty calculated on the amount paid late, indexed on the Bank Al-Maghrib key rate and increased according to the length of the delay. Failure to file, or late filing, also exposes you to specific fines.

The reporting obligation applies progressively according to the company's turnover. As the thresholds and deadlines continue to evolve, check your situation with your chartered accountant.

By tracking every invoice (issue, due date, payment), producing the aged balance and the detail of late payments, automating customer dunning and preparing the data for the periodic return.

The basic functions exist, but often in separate modules that require re-entry. Odoo's advantage is integration: the invoice, the collection and the return all rely on the same real-time data. See our Odoo vs Sage comparison.

Are you ready for the payment-terms return?

A rapid audit of your invoice-to-payment traceability and your exposure to fines.

Request an audit