FAQ
The questions asked most often about Customer Statements & Ageing, answered.
Does it send reminder emails?
No. There is no dunning engine, no reminder emails and no escalation levels. Installing it will not start mailing your customers.
Version 1.x did, and it duplicated technovision_payment_reminders — a customer with both installed got two letters about one debt. The engine was removed in 2.0.0 and the division is now clean: this module answers what does this customer owe, the other answers who needs chasing.
Then what is the point of it?
A statement that reconciles, aged honestly, in a language the customer reads. That is a document you can attach to an email or hand to somebody in a meeting and defend line by line.
Chasing is a different job and it has its own module.
Do I need both modules?
No. Neither depends on the other and either works alone.
If you run both, flagging an invoice as Disputed here also stops the reminder module chasing it — the flag lives on the invoice, so both read it without either knowing the other exists.
Why is ageing measured from the due date?
Because that is when money becomes late.
An invoice on 60-day terms issued 45 days ago is not overdue, and a statement that says it is will be recognised as wrong by the person reading it — who knows their own payment terms perfectly well. Once one column is visibly wrong, the rest of the document stops being believed.
What happens to a disputed invoice?
It appears with a badge and stays out of the ageing buckets. It is neither hidden nor counted as overdue.
Sending somebody a statement that ignores a query they have already raised is how an account gets lost.
Disputed or excluded — which should I use?
Disputed keeps the invoice visible and out of the ageing. Use it when there is a genuine query.
Excluded removes it from the statement entirely. Use it only when the document is genuinely not part of the customer's account — a mis-posted entry, an internal adjustment. Excluding does not make them owe less; it stops the statement claiming they do.
Do branch invoices appear on the head office statement?
Yes, following Odoo's own parent/child contacts. The alternative quietly understates the figure, and a head office asking what the group owes should not get a number missing three of its own sites.
What if a customer trades with us in two currencies?
They get one statement in one currency, converted at each document's own date. Multi-currency statements are not implemented, and the single figure is honest about being a single figure rather than mixing units silently.
Is the Arabic a separate document?
No — one template, both languages. Two templates drift, and the one that drifts is always the one the customer reads.
Is there a customer portal page?
Not yet. Statements are produced and sent from the back office.
Is there an Excel export?
Not yet. The PDF is the deliverable.
I upgraded from 1.x. Where did my reminder history go?
Nowhere. statement_reminder_policy, statement_reminder_level and statement_communication keep their rows; nothing reads them any more.
That is your record of who was chased and when, and an upgrade should not delete it. The server log names the tables with row counts if you want to drop them yourself.
Does anything leave our instance?
Nothing. No external service, no API key, no outbound connection.
Multi-company?
Yes, by global record rule on every model. And the Statements User group implies account.group_account_readonly rather than using sudo(), so a user who cannot see another company's invoices cannot see them on a statement either.