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

Customer Outstanding Balances Widget for Odoo 19 documentation

A guide to the overdue banner on the sales order: the three levels, how the numbers are computed, the buttons, the customer card and list, and the settings.

Documents version 1.0.1Updated Oct 23, 2026

Start here

In plain words: Before you confirm a quotation you want to know one thing: does this customer already owe you money? This module puts the answer at the top of the quotation and sales order: how much is overdue, how late, how much they owe in total, and how much you owe them. It turns red when the delay is serious.
Red, orange and blue banners on the sales order.
Red, orange and blue banners on the sales order.
Tip: It only reads your accounting. Nothing is blocked and nothing is changed: your salespeople simply see the facts before they promise a delivery.

What you get

FeatureWhat it does
Banner on the sales orderOverdue amount, number of late invoices, days late, total owed, and the net position.
Two waysAlso shows what you owe the same contact (vendor bills) and the net balance.
Three levelsBlue for information, orange for overdue, red when the oldest invoice is late by your threshold.
Live numbersComputed when the form opens from the posted accounting entries, in the company currency.
Whole companyInvoices of the company and of all its contacts are added together.
ButtonsOpen the overdue invoices, or all open invoices, in one click.
Customer card and listA Balances block on the customer and an optional Overdue column and filter in the customers list.

Requirements

ItemDetails
Odoo19.0 (Community or Enterprise)
Apps neededSales (sale) and Invoicing (account)
LicenseOPL-1 (Odoo Proprietary License v1.0)

Install

  1. Unzip the package. Inside is taqnix_customer_balance.zip; unzip it to get the folder taqnix_customer_balance.
  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 Customer Outstanding and press Install.
# or from the command line
./odoo-bin -c odoo.conf -d YOUR_DATABASE -i taqnix_customer_balance --stop-after-init

Settings

In plain words: Open Settings → Customer Balances. The settings belong to each company.
When to show the banner, the smallest amount, and when it turns red.
When to show the banner, the smallest amount, and when it turns red.
SettingWhat it does
Show the bannerOnly when something is overdue (default), or whenever the contact has an open balance, which adds the blue banner.
Ignore overdue amounts belowSmall amounts do not trigger the banner (default 1.00).
Red afterThe banner is red when the oldest overdue invoice is at least this many days late (default 30). Before that it is orange.
Show what we owe the customerAdds the vendor bills you owe the same contact, and the net.

How the numbers are computed

NumberMeaning
OverduePosted customer invoices past their due date and still unpaid, minus unapplied payments and credit notes, which cover the oldest invoices first.
InvoicesHow many invoices make up the overdue amount.
Days lateHow late the oldest overdue invoice is.
They owe usAll open receivables of the contact: due and not yet due, minus unapplied payments and credit notes.
We owe themOpen vendor bills of the same contact.
NetThey owe us minus we owe them. Negative means you owe them more.
Tip: An invoice due today is not overdue yet; it becomes overdue tomorrow.
RuleDetail
Posted onlyDraft and cancelled invoices are ignored.
Company currencyAmounts are in the currency of the company, converted when the invoice was posted.
Whole companyA customer company and all its contacts count as one.
Current companyIn a multi-company database only the current company's entries are counted.

The buttons

In plain words: Overdue invoices opens the late invoices of this customer. Open invoices opens everything not yet paid, late or not.
The overdue invoices behind the red banner.
The overdue invoices behind the red banner.
Tip: The buttons are for users who can read invoices (Billing or Accounting read-only). Other sales users still see the numbers, just not the buttons.

On the customer card and the list

In plain words: The same numbers are on the customer, in the Invoicing tab, under Balances.
Balances on the customer card.
Balances on the customer card.
In plain words: In Customers, use the filter With overdue invoices to list who is late, and add the optional Overdue column from the column selector.
Customers with overdue invoices, with the Overdue column.
Customers with overdue invoices, with the Overdue column.

Arabic and right to left

In plain words: The banner, the settings and the buttons are translated, and the banner follows the direction of the language.
The banner for a user whose interface is in Arabic.
The banner for a user whose interface is in Arabic.

Who sees what

WhoWhat they see
Any user who can open the sales orderThe banner with the numbers. The numbers are computed for them even if they cannot read accounting.
Users with Billing or Accounting read-onlyThe buttons, the Balances block on the customer, the Overdue column and the filter.
Accounting managersThe settings.
Important: Every user who can open a sales order sees what the customer owes. If your salespeople should not see this, do not install the module, or restrict who can open the orders.

Limits

LimitDetail
It does not block anythingThe banner informs; it does not stop a quotation from being confirmed.
Sales orders onlyThe banner is on the sales order form. Purchase orders are not covered.
No ageing reportIt shows the total and the oldest delay, not 30/60/90-day buckets.
Company currencyAmounts are in the company currency, not in the currency of the order.
Ledger accuracyThe numbers are as good as your reconciliation. Unreconciled bank lines do not reduce what is owed.
Credit limitsIt does not read or enforce the credit limit of the customer.

For developers

In plain words: Skip this chapter if you only use the module.
ItemDetails
Partner fieldstx_receivable_total, tx_receivable_overdue, tx_overdue_count, tx_oldest_overdue_days, tx_payable_total, tx_net_balance, tx_has_overdue (searchable).
Sales order fieldstx_bal_level (info, warning, danger), tx_bal_overdue, tx_bal_receivable, tx_bal_payable, tx_bal_net.
PerformanceThe balances of all the contacts on a page are computed with a handful of grouped queries, not one query per contact.
# who is late, in Python
late = env['res.partner'].search([('tx_has_overdue', '=', True)])
for partner in late:
    print(partner.name, partner.tx_receivable_overdue, partner.tx_oldest_overdue_days)

Troubleshooting

ProblemWhat to do
No banner on an orderCheck the customer really has overdue invoices, that they are posted, and that the amount is above the minimum in the settings.
The banner is blue or missing for a small customerBlue needs the setting whenever the contact has an open balance.
Numbers differ from the Aged Receivable reportThis module counts the entries of the receivable and payable accounts and the current company only. Check the company and the date of the report.
A paid invoice still countsThe payment is not reconciled with the invoice yet. Reconcile it.
The buttons are missingThey need the Billing or Accounting read-only access right.
The customer card has no Balances blockIt is in the Invoicing tab, which needs the same access right.

Updating and removing

Replace the folder with the new version, restart Odoo and run -u taqnix_customer_balance. Your settings are kept. To remove it, uninstall it from Apps: nothing is stored apart from the four company settings.

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.