Skip to content
DevMarket
Odoo ModulesWordPress PluginsWordPress ThemesShopify ThemesApp TemplatesScripts & UtilitiesBlogSell on DevMarket

Customer & Vendor Statement of Account for Odoo 19 documentation

A guide to statements of account: open items and activity statements, ageing, vendor statements, emailing in bulk and every month, and the log.

Documents version 1.0.0Updated Oct 23, 2026

Start here

In plain words: A statement of account tells a customer, in one page, what they still owe you: every unpaid invoice, how late it is, and the total. This module makes it in two clicks, as a PDF in the customer's language, and can email it for you: to one customer, to many at once, or every month automatically.
Choose the partners, get the statement, email it with the PDF attached.
Choose the partners, get the statement, email it with the PDF attached.
Tip: It works for vendors too: a statement of what you owe them.

What you get

FeatureWhat it does
Open items statementEvery unpaid or partly paid invoice as of a date: original amount, amount still open, due date, days overdue.
Activity statementAll the movements of a period with the opening balance, a running balance and the closing balance.
AgeingNot due, 1-30, 31-60, 61-90 and over 90 days, plus what is on account. Exact as of the statement date.
Customers and vendorsWhat they owe you, or what you owe them.
Print, preview, emailFrom the partner, from the menu, or from the list for many partners at once.
Monthly runCustomers with a balance receive their statement by email each month, with a log.
LanguagesThe PDF and the email are in the partner's language, Arabic included, right to left.

Requirements

ItemDetails
Odoo19.0 (Community or Enterprise)
Apps neededInvoicing (account)
PDF printingOdoo's normal setup with wkhtmltopdf
EmailAn outgoing mail server, to send statements
LicenseOPL-1 (Odoo Proprietary License v1.0)

Install

  1. Unzip the package. Inside is taqnix_partner_statement.zip; unzip it to get the folder taqnix_partner_statement.
  2. Copy the folder into one of the addons_path folders of your Odoo server and restart Odoo.
  3. Log in as an administrator, activate Developer mode, open Apps and press Update Apps List.
  4. Remove the “Apps” filter, search Statement of Account and press Install.
# or from the command line
./odoo-bin -c odoo.conf -d YOUR_DATABASE -i taqnix_partner_statement --stop-after-init

Make a statement

In plain words: Open a customer or a vendor and press Statement. Or select several partners in a list, open Actions and choose Statement of account. A third way: Invoicing → Customers → Statement of Account.
The Statement button on a customer.
The Statement button on a customer.
Select several partners, then Actions → Statement of account.
Select several partners, then Actions → Statement of account.
Choose who, and which statement.
Choose who, and which statement.
The activity statement also asks for the start of the period.
The activity statement also asks for the start of the period.
ChoiceMeaning
Customer or vendor statementWhat they owe you, or what you owe them.
Open items as of a dateThe invoices still unpaid on that date.
All activity of a periodEvery movement from the start date to the end date, with the balances.
Skip partners with nothing to showPartners without open items or movements are left out.
Print / Send by email / PreviewThe PDF, an email with the PDF attached, or the page on screen.

The open items statement

In plain words: The classic statement: what is still unpaid, with the due date and how many days late.
Open items of a customer: a partly paid invoice shows its original and open amounts, and a credit note and an unapplied payment reduce the total.
Open items of a customer: a partly paid invoice shows its original and open amounts, and a credit note and an unapplied payment reduce the total.
ColumnMeaning
OriginalThe amount of the invoice, credit note or payment.
OpenWhat is still unpaid on the statement date.
Days overdueDays since the due date, in red when late.

The activity statement

Opening balance, every movement with a running balance, closing balance.
Opening balance, every movement with a running balance, closing balance.
PartMeaning
Opening balanceWhat was owed before the start date.
ChargesInvoices and debit notes.
PaymentsPayments and credit notes.
BalanceThe running balance after each line. The last one is the closing balance.

Ageing and “on account”

In plain words: The table at the bottom splits what is open by how late it is. It is exact as of the statement date: a payment made after that date does not reduce the statement.
ColumnMeaning
Not dueOpen items whose due date is not reached.
1-30, 31-60, 61-90, Over 90 daysOpen items by days past the due date.
On accountPayments and credit notes not yet applied to an invoice. They reduce the total.
TotalThe total open, the same as on the statement.
Tip: To clear a customer's “on account” amount, reconcile the payment with the invoice in Odoo; the statement follows.

Vendor statements

In plain words: Choose Vendor statement to list what you owe a vendor. Amounts are positive when you owe them.
A vendor statement: two vendor bills, one overdue.
A vendor statement: two vendor bills, one overdue.

Email the statement

In plain words: Send by email sends the PDF to the partner's email address, in the partner's language, with the total and the overdue amount in the message.
The email in English, with the statement attached.
The email in English, with the statement attached.
The same email for an Arabic-speaking customer.
The same email for an Arabic-speaking customer.
SituationWhat happens
Many partners at onceOne email each. The message tells how many were queued and how many have no email address.
Partner without an email addressNothing is sent; the Statement Log says so.
After sendingA short note on the partner says what was sent; the log keeps the balance.

Every month, by itself

In plain words: In Settings → Statements switch on Send statements every month, choose the day (1 to 28) and the smallest balance. Once a month, from that day, every customer above that balance who has an email address receives the statement of open items.
Monthly statements: on or off, the day, the smallest balance.
Monthly statements: on or off, the day, the smallest balance.
The Statement Log: who received what, and who has no email address.
The Statement Log: who received what, and who has no email address.
Tip: Find the log in Invoicing → Reporting → Statement Log.

Arabic and right to left

In plain words: The statement follows the language of the partner. For an Arabic-speaking customer the headings, the dates and the layout are Arabic and right to left.
The statement of an Arabic-speaking customer.
The statement of an Arabic-speaking customer.

Limits

LimitDetail
Company currencyAmounts are in the company currency, not in the currency of each invoice.
Receivable and payable accountsOnly the entries of the receivable (customers) or payable (vendors) accounts are listed.
Posted entriesDraft and cancelled invoices are not shown.
One addressThe email goes to the partner's email address, not to each contact.
One companyIn a multi-company database only the current company is shown.

For developers

In plain words: Skip this chapter if you only use the module.
ItemDetails
Enginetaqnix.statement.engine.get_data(partner, kind, statement_type, date_from, date_to) returns the numbers, with positive meaning “owed”.
Emailpartner._tx_send_statement(kind, statement_type, date_to) sends it and writes the log.
Reporttaqnix_partner_statement.statement; the options travel under data['options'].
data = env['taqnix.statement.engine'].get_data(partner, 'customer', 'open', None, fields.Date.today())
print(data['total_open'], data['overdue'], data['aging'])

# email it
partner._tx_send_statement('customer', 'open')

Troubleshooting

ProblemWhat to do
“Nothing to print”The partner has no open items on that date. Untick “Skip partners with nothing to show” to print an empty statement.
A paid invoice still appearsThe payment is not reconciled with the invoice yet, or it is dated after the statement date.
The partner got no emailCheck the partner has an email address and look at the Statement Log.
Monthly statements did not go outCheck the setting is on, that the day has come, and that Odoo's scheduled actions run.
The PDF is empty or failsCheck that wkhtmltopdf works for other Odoo reports.

Updating and removing

Replace the folder with the new version, restart Odoo and run -u taqnix_partner_statement. Settings and the log are kept. To remove it, uninstall it from Apps: the log is deleted with it.

Support

Installation help and bug fixes are included for 6 months, with lifetime updates. Contact us through the marketplace page where you bought the module or write to support@taqnix.com with your Odoo version and a screenshot.