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

Accounting Pro Management Reports for Odoo 19 Community documentation

A guide to Accounting Pro Management Reports: profitability by customer, product and salesperson, the executive summary, the rolling 13-month profit and loss and customer concentration on screen, in PDF and in Excel, the gross margin card and the settings.

Documents version 1.0.0Updated Oct 29, 2026

Start here

In plain words: Accounting Pro Management Reports adds six reports for owners and CFOs to Accounting Pro: profitability by customer, by product and by salesperson, a one-page Executive Summary, a Rolling 13-Month Profit and Loss and Customer Concentration. They open in the report screen of Accounting Pro, print as a PDF and export to Excel, and their totals are the figures of the Profit and Loss of Accounting Pro. A Gross margin card is added to the Accounting Dashboard.

Who it is for: owners, CFOs, finance managers and accountants who want to know which customers, products and salespeople bring the profit, how last month compares with the month before and with a year ago, and how much of the revenue depends on a few customers. The add-on only reads your journal items: it never posts or changes an entry.

What profit means here: gross profit, that is revenue minus cost of revenue. The reports never share salaries, rent or other operating expenses between customers, products or salespeople (see Limits).

The examples: the pictures show a demo company, Atlas Trading Co. (currency USD), on 28 October 2026. It has fourteen customers, marked with tags (Key Account, Technology, Retail & Design, Contractors, Professional Services), and four salespeople: Omar Haddad, Layla Mansour, Daniel Brooks and Priya Nair. The numbers in the text are the numbers in the pictures.

Tip: To see it at work, open Accounting → Reporting → Management → Profitability by Customer.
The add-on in four views: Profitability by Customer and the Executive Summary on screen, the Executive Summary as a PDF page and Profitability by Customer in Ex
The add-on in four views: Profitability by Customer and the Executive Summary on screen, the Executive Summary as a PDF page and Profitability by Customer in Excel.

What you get

In plain words: Six reports, a card for the dashboard and the tools around them. The reports have the same screen, PDF and Excel file as the rest of Accounting Pro.
FeatureWhat it does
Profitability by CustomerRevenue, cost, gross profit, margin, documents, average document, share of revenue and open receivable of each customer, with one or two earlier periods. Rows by customer, partner tag, country or salesperson; the biggest rows are listed and the rest is summed in Others.
Profitability by ProductQuantity, revenue, cost, gross profit, margin, average price and average cost of each product or product category.
Estimate missing costsGoods sold with no cost in the accounts get an estimated cost, shown apart in amber italics.
Profitability by SalespersonRevenue, cost, gross profit, margin, documents, customers and average document of each salesperson, with a rank.
Executive SummaryOne A4 page: results, margins, bank and cash, receivables, payables, DSO, DPO, cash cover and the top five customers, products and expense accounts, for a period, the one before and the same period of last year. Traffic lights (Good, Watch, Alert) for the margins and the cash cover; you set the levels.
Rolling 13-Month Profit and LossThe Profit and Loss month by month over thirteen months, with total, average, 3-month average, month-over-month change and percentage of revenue.
Customer ConcentrationCustomers by revenue with their share and cumulative share, ABC classes, the share of the top customers and the Herfindahl-Hirschman index.
Drill-downClick a figure to open the journal items, the documents, the receivable items or the record behind it.
Ties to the Profit and LossThe totals are the revenue and the cost of revenue of the Profit and Loss; a row Not allocated keeps the rows adding up.
PDF and ExcelEvery report prints and exports with the same figures. Excel holds real numbers.
Favorites, schedules, Financial PackageThe six reports work like the reports of Accounting Pro.
Gross margin cardOn the Accounting Dashboard: the margin of the period, its change in points and a twelve-month trend. A click opens Profitability by Customer.
SettingsOther income as revenue, rows before Others, ABC limits and traffic-light levels, for each company.
ArabicTranslated. The screens, the PDF and the Excel file read right to left.

Requirements

In plain words: The add-on needs Accounting Pro 1.0.2 or later and nothing else: no Odoo Enterprise, and neither the Sales nor the Inventory app. Every figure is read from journal items.
ItemDetails
Odoo19.0 (Community or Enterprise)
Apps neededAccounting Pro 1.0.2 or later (taqnix_accounting_pro), which needs Accounting (account). Nothing from Odoo Enterprise, no Sales or Inventory app.
LicenseOPL-1 (Odoo Proprietary License v1.0)

The figures are only as good as your books. A few features rely on more:

FeatureWhat it needs
Cost per customer and per productThe cost of revenue booked with the customer and the product: cost of goods sold lines on the customer invoices (Anglo-Saxon accounting) or stock valuation entries that carry both. Cost booked without them goes to Not allocated (no customer) and to No product.
Salesperson reports and filterA salesperson on the customer invoices. A document without one goes to Not allocated (no salesperson).
Rows by tag, country or product categoryTags and a country on the customers, a category on the products.
Estimate missing costsThe cost (the Cost field) of the goods, set on the product form.
PDF fileswkhtmltopdf, as for every Odoo PDF report.
Excel filesNothing to install: the Excel library is part of Odoo.
Scheduled reports by emailAn outgoing mail server.

Install

In plain words: Copy the module folder into your addons, restart Odoo and install Accounting Pro Management Reports from Apps. Accounting Pro 1.0.2 or later must be in your addons path: Odoo installs it first if it is not installed yet.
  1. Unzip the package. Inside is taqnix_accounting_pro_profitability.zip; unzip it to get the folder taqnix_accounting_pro_profitability.
  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 Management Reports and press Install.
# or from the command line
./odoo-bin -c odoo.conf -d YOUR_DATABASE -i taqnix_accounting_pro_profitability --stop-after-init
Tip: Try it on a copy of your database first, as with any new module. It adds menus, a block of settings and a dashboard card, and it changes none of your accounting data.

Accounting administrators see the six reports in Accounting → Reporting → Management at once. Other people need the group Accounting Pro: reports (see Who can do what).

Profitability by Customer

In plain words: Profitability by Customer shows, for each customer, what you sold, what it cost and what was left, for the period you choose. It opens on This fiscal year, the biggest revenue first.
ColumnWhat it shows
CustomerThe company of the customer: the figures of its contacts are added to it. A click on the name opens the customer.
RevenueThe accounts of type Income, credit minus debit. Credit notes reduce it.
CostThe accounts of type Cost of Revenue, debit minus credit, booked with this customer.
Gross profit, Margin %Revenue minus cost, and gross profit divided by revenue (empty when the revenue is zero).
Documents, Average documentThe number of invoices, credit notes and other entries that carry revenue in the period, and the revenue divided by that number.
Share of revenue %The revenue of the row divided by the total revenue.
Open receivableWhat the customer owes at the end date of the report: the balance of the receivable accounts. A negative amount, in red, is a credit of the customer.
ControlWhat it does
ComparisonPrevious period or Same period, previous year, with Number of columns 1 or 2 (the menu lists up to 5, as in the other reports, but this report keeps two). Each earlier period adds three columns: Revenue, Gross profit and Revenue change %, the revenue of the period minus the earlier revenue, divided by the earlier revenue (empty when that is zero).
Posted entries only, Journals, Analytic accountsPosted entries only becomes Including draft entries with a click. Journals and Analytic accounts keep only the journal items of the journals or analytic accounts you tick; the open receivable ignores these two filters.
RowsCustomer, Partner tag, Country or Salesperson (next chapter).
Top (0 = all)How many rows are listed. It starts as the setting Rows before Others (10). The rest is summed in Others (n). With 0 every customer is listed, up to 2,000 rows.
Minimum revenueCustomers with less revenue go to Others, even inside the top N. 0 at the start.
SalespersonAll salespeople, or one person: the report then counts only the journal items of that salesperson (the rule is in Profitability by Salesperson), and the Total is the part of the Profit and Loss that this person makes.
Hide empty lines, UnitsHide empty lines is on at the start and leaves out the rows in which every figure is zero. Units: Decimals, Whole numbers, Thousands or Millions; the picture uses whole numbers so that the comparison fits.

The rows that are not customers.

RowWhat it holds
Others (n)The customers beyond the top N and those under the minimum revenue, in one row. Its figures open like any other.
Not allocated (no customer)The journal items without a customer: cost booked without a partner, and vendor bills booked to revenue or cost of revenue accounts. It keeps the rows adding up to the Profit and Loss. It has no margin.
Customers without sales in the periodOnly the open receivable of the customers that have no revenue, cost or document in the period. It appears when there is such a receivable and no Salesperson, Journals or Analytic accounts filter is on.
TotalThe revenue and the cost of revenue of the Profit and Loss for the same period and options; the margin is computed from them. Documents counts every document once and Open receivable adds up the rows.

The notes under the table repeat the definitions of revenue, cost, margin, customer, documents and open receivable.

Profitability by Customer for 1 January to 28 October 2026 against the previous year, in whole numbers: ten customers, Others (4) and Not allocated (no customer
Profitability by Customer for 1 January to 28 October 2026 against the previous year, in whole numbers: ten customers, Others (4) and Not allocated (no customer). Gulf Cooling Services has revenue 819,316, cost 316,665, a margin of 61.4 % and 105,492 open receivable; Nebula Hosting shows -5,000, a credit. Total: revenue 2,789,014, cost 1,214,024, gross profit 1,574,990, margin 56.5 %, 195 documents and 245,687 open receivable. The previous year had revenue 2,117,735, a change of 31.7 %. The 174,152 of cost without a customer is in Not allocated.

Rows by customer, partner tag, country or salesperson

In plain words: The Rows menu cuts the same table by customer, partner tag, country or salesperson. The columns, the filters, Top N and the Total stay the same, except that salespeople have no Open receivable.
RowsEach row isRule
CustomerA customer company.The company of the partner of the journal item.
Partner tagA tag of the customers.A customer with several tags counts under one tag only: the tag created first, the oldest. So every customer is in one row and the rows add up. Customers without a tag are in No tag.
CountryThe country of the customers.Customers without a country are in No country.
SalespersonA salesperson.The rule of Profitability by Salesperson. There is no Open receivable column, and what has no salesperson is in Not allocated (no salesperson).

On a tag or country row, Documents and Open receivable are those of its customers. Top (0 = all) and Minimum revenue apply to the rows you chose. A click on a tag, a country or a salesperson opens that record.

The tag and the country are those of the customer today, not on the date of the sale: change the tags of a customer and the past figures move with it.

The Rows menu of Profitability by Customer: Customer, Partner tag, Country and Salesperson. The period is the same, 1 January to 28 October 2026, without compar
The Rows menu of Profitability by Customer: Customer, Partner tag, Country and Salesperson. The period is the same, 1 January to 28 October 2026, without comparison and with decimals: the Total is 2,789,013.72 of revenue and 1,574,990.10 of gross profit.
Rows: Partner tag. Key Account has revenue 1,221,130.71, a margin of 62.0 % and 43.8 % of the revenue; Technology 683,040.12, Retail & Design 406,651.96, Contra
Rows: Partner tag. Key Account has revenue 1,221,130.71, a margin of 62.0 % and 43.8 % of the revenue; Technology 683,040.12, Retail & Design 406,651.96, Contractors 285,277.22 and Professional Services 192,913.71. With Not allocated (no customer) the Total is 2,789,013.72, as by customer. A note says that a customer with several tags is counted under its oldest tag.

Open the figures behind a number

In plain words: Click a figure and Odoo opens the records behind it. They use the same conditions as the figure, so they add up to it. The breadcrumb brings you back to the report with its filters.
What you clickWhat opens
Revenue, Cost or Gross profit of a rowThe journal items of that row: the accounts of type Income, Cost of Revenue or both, for the period and the filters of the report. In a comparison column only Revenue opens, with the items of that period.
DocumentsThe invoices, credit notes and other entries that carry revenue.
Open receivableThe receivable items of the customer, or of the row, up to the end date.
A customer, partner tag, country, salesperson, product or product categoryThat record.
Quantity (Profitability by Product)The revenue lines of the customer invoices, credit notes and receipts for the product.
Customers (Profitability by Salesperson)The customers of the salesperson.
TotalThe journal items of the whole report.
Executive SummaryRevenue, cost, profit and expense lines open their journal items for each period; Bank and cash, Receivables and Payables open the items up to the end of the period; a top 5 line opens its items; a customer or product name opens its record.
Rolling 13-Month Profit and LossA figure of a month opens the journal items of that month, as in the Profit and Loss.

What does not open. A computed figure, such as a margin, an average, a share, a rank or a number of days, has nothing behind it. A figure made of more than 2,000 documents or customers cannot be opened either.

A click on the revenue of Gulf Cooling Services opens its 91 journal items (the first 80 on the page): the invoice lines of INV/2026/00172 and the invoices befo
A click on the revenue of Gulf Cooling Services opens its 91 journal items (the first 80 on the page): the invoice lines of INV/2026/00172 and the invoices before it, on Income accounts. The breadcrumb Profitability by Customer returns to the report.

Profitability by Product

In plain words: Profitability by Product shows what each product sold and what that cost. Rows gives one row per Product, or one group per Product category with its products below it.
ColumnWhat it shows
Product, Product categoryThe name of the row. A click opens the product or the category.
QuantityUnits on customer invoices and receipts, less credit notes, in the unit of measure of the product. Empty on category, Others and Total rows.
RevenueThe accounts of type Income that carry the product, credit minus debit.
CostThe cost of revenue journal items that carry the product: stock valuation entries and cost of goods sold lines of the invoices.
Estimated costOnly with Estimate missing costs (next chapter).
Gross profit, Margin %Revenue minus cost, and gross profit divided by revenue. A service without cost has a margin of 100 %.
Average price, Average costRevenue divided by the quantity, and cost divided by the quantity (with the estimate, cost plus estimated cost).
ControlWhat it does
RowsProduct: one row per product, the biggest revenue first. Product category: one group per category, the biggest revenue first, with its products below. The category is the current category of the product.
Top (0 = all)With Product rows: the first N products, the rest in Others (n). With Product category rows: the first N products of each category, the rest of the category in Other products (n). It starts as the setting Rows before Others (10); 0 lists everything, up to 2,000 products.
Estimate missing costsAdds the column Estimated cost. Off at the start.
Expand all, Collapse allOpen or fold the category groups. A click on a category folds it too.

No product. The revenue and the cost booked without a product, for example one cost of goods sold entry for a whole month. It has no margin. Products without a category are in No category. The Total is the revenue and the cost of the Profit and Loss, so the rows always add up to it.

Profitability by Product by category, every category open, in decimals, with Estimate missing costs ticked (next chapter). Services: 735,694.60 at 100.0 %. The
Profitability by Product by category, every category open, in decimals, with Estimate missing costs ticked (next chapter). Services: 735,694.60 at 100.0 %. The goods categories have margins from 43.3 % (IT and Networking) to 45.8 % (Cooling and HVAC, Security Systems). Packaging and Supplies: revenue 166,976.62, cost 0.00, estimated cost 90,145.50 in amber italics. No product: revenue 1,092.07, cost 174,151.62. Total: revenue 2,789,013.72, cost 1,214,023.62, gross profit 1,484,844.60 (53.2 %). A red band warns about the cost booked without a product.

Estimate missing costs

In plain words: Some goods are sold without any cost in the accounts: the cost of goods sold is booked once a month without a product, or not at all. Estimate missing costs gives those products an estimated cost, so that you can read their margin. The estimate is a view, not a booking.
  1. Open Profitability by Product.
  2. Click Estimate missing costs. The column Estimated cost appears.
  3. Read the figures in amber italics (screen and PDF): they are the estimates. If a red band appears above the table, read the warning below.
RuleWhat it means
Which productsGoods (never services) sold in the period that have no cost of revenue booked on them in the period. A product with some booked cost is not estimated, even when part of its sales has none.
The amountThe quantity sold times the cost of the product today (the Cost field of the product), converted like the other figures. A product without a cost gets no estimate.
Where it showsIn the column Estimated cost, in italics and amber, and in the gross profit, the margin and the average cost of the estimated products, of their category and of the Total. The first note under the table counts them: 5 products have an estimated cost of 90,145.50 in total.
What does not changeNothing is posted. The column Cost and the totals of revenue and cost still tie to the Profit and Loss.
Important: The estimate can count a cost twice. When the cost of the same goods is also booked without a product, in the row No product, the gross profit with the estimate is lower than the real one. The report then shows a red band with the amount booked without a product and the gross profit of the Profit and Loss. In the demo, the cost of the packaging goods is booked by one entry a month without a product, so it is in the row No product (174,151.62): the Total reads 1,484,844.60 (53.2 %), that is the 1,574,990.10 of the Profit and Loss minus the estimate of 90,145.50. Do not read 53.2 % as the margin of the company. Use the estimate for goods that have no cost anywhere in the accounts: then the band does not appear.
The same report with every category folded except Packaging and Supplies. Its five products have no cost of revenue booked and an estimated cost in amber italic
The same report with every category folded except Packaging and Supplies. Its five products have no cost of revenue booked and an estimated cost in amber italics (Pallet Wrap Rolls: 745 units, 31,290.00, average cost 42.00). The red band says that 174,151.62 of cost is booked without a product and that the gross profit of the Profit and Loss is 1,574,990.10.

Profitability by Salesperson

In plain words: Profitability by Salesperson shows the revenue, the cost and the gross profit of each salesperson, and ranks them. The salesperson of a sale is the one written on the customer invoice.

Which salesperson gets a journal item.

Journal itemGoes to
The revenue of a customer invoice, credit note or receiptThe salesperson of that document.
Another entry with a customer, such as the stock valuation entry of a delivery (the cost)The salesperson of that customer, as written on the customer today.
Vendor bills, customer documents without a salesperson, entries without a customerNot allocated (no salesperson).
ColumnWhat it shows
SalespersonThe name. A click opens the user.
Revenue, Cost, Gross profit, Margin %, Average documentAs in Profitability by Customer.
DocumentsThe invoices, credit notes and other entries with revenue of this salesperson.
CustomersThe number of customers (companies) with revenue of this salesperson. A customer served by two salespeople counts for both, so the Total, which counts each customer once, can be lower than the sum.
RankThe position of the row by the figure you chose in Rank by: Revenue (at the start), Gross profit or Margin %. The rows are sorted the same way.
Important: The revenue and the cost of one sale can land on different people. The revenue goes to the salesperson of the invoice. The cost, a stock valuation entry, has no salesperson of its own and goes to the salesperson of the customer. When the two differ, the margins of both people are off. In the demo, every seventh invoice or credit note was issued by a colleague of the customer's salesperson. An exact split would need the link from the stock moves to the sale order, which the add-on does not read.

The row Not allocated (no salesperson) keeps the Total equal to the Profit and Loss: in the picture it holds the 174,151.62 of cost that is booked without a customer. It has no rank and no margin.

Profitability by Salesperson, ranked by revenue, in decimals. Omar Haddad: revenue 1,121,376.06, margin 57.8 %, 67 documents, 5 customers, rank 1; Layla Mansour
Profitability by Salesperson, ranked by revenue, in decimals. Omar Haddad: revenue 1,121,376.06, margin 57.8 %, 67 documents, 5 customers, rank 1; Layla Mansour 1,011,417.98 and 69.9 %; Daniel Brooks 508,455.88 and 61.8 %; Priya Nair 147,763.80 and 54.2 %. Not allocated (no salesperson) holds 174,151.62 of cost. The Total counts 14 customers, although the rows add up to 23: some customers have invoices of two salespeople.

Executive Summary

In plain words: The Executive Summary is the page you hand to a board: the results, the margins, the cash, the receivables and payables, and the five biggest customers, products and expense accounts, for one period against the period before and the same period of last year. It opens on Last month.

There is no journal or analytic filter and no comparison choice. The columns are the period; the previous period with Change; the same period of last year with Change; and Status. When the previous period is the same period of last year, as for a whole fiscal year, it is shown once.

SectionLines
ResultsRevenue, Cost of revenue, Gross profit, Gross margin, Operating expenses, Net profit, Net margin: the lines of the Profit and Loss.
Cash and working capitalBank and cash, Receivables, Payables, Days sales outstanding, Days payables outstanding, Cash cover (months): balances at the end of each period.
Top 5 customers, Top 5 productsThe five with the most revenue in the period, with their revenue in the other periods.
Top 5 expense accountsThe five accounts of type Expenses, Depreciation or Other Expenses with the highest amounts in the period. Cost of revenue is not in this list.

The change. For amounts it is a percentage: this period minus the other one, divided by the other one. For margins it is a number of points (pt), for the days of sales and payables a number of days and for the cash cover a number of months. A negative change is red, except a change of days, which is not coloured.

The traffic lights show in the column Status, for the main period only. The levels are settings; these are the ones at the start.

LineGoodWatchAlert
Gross margin35 % or more20 % to below 35 %Below 20 %
Net margin10 % or more0 % to below 10 %Below 0 %
Cash cover (months)3 or more1 to below 3Below 1

When the revenue of the period is not positive (credit notes above sales), the two margins have no light: a loss would read Good. The PDF is one A4 portrait page; a long name keeps one line and ends with an ellipsis there, while the screen and the Excel file keep the whole name.

The Executive Summary for September 2026 against August 2026 and September 2025: revenue 328,119.79 (+33.8 % and +44.7 %), gross margin 56.9 % (Good), net profi
The Executive Summary for September 2026 against August 2026 and September 2025: revenue 328,119.79 (+33.8 % and +44.7 %), gross margin 56.9 % (Good), net profit 75,692.41, net margin 23.1 % (Good), bank and cash 869,706.95, receivables 505,070.64, payables 306,925.00, 46 days of sales outstanding (-3 against August), 65 days of payables, cash cover 3.38 months (Good). Below: the top 5 customers (Whitfield Security first, 135,410.28), products and expense accounts (630000 Salary Expenses first, 69,952.70).
The Executive Summary as a PDF: one A4 portrait page with the same table and the notes. The product name [SRV-AMC] Maintenance Contract Visit (per s… is cut wit
The Executive Summary as a PDF: one A4 portrait page with the same table and the notes. The product name [SRV-AMC] Maintenance Contract Visit (per s… is cut with an ellipsis in the PDF only.

Rolling 13-Month Profit and Loss

In plain words: The Rolling 13-Month Profit and Loss shows the Profit and Loss of Accounting Pro month by month over thirteen months, so that a month sits next to the same month a year earlier and the trend is visible.

One date. The report takes a single date, End of last month at the start (30 September 2026 in the pictures). The thirteen months are the ones that end with the month of that date: September 2025 to September 2026. The last month stops at the date: with 15 September it is 1 to 15 September.

The rows are those of the built-in Profit and Loss of Accounting Pro: Income, Cost of revenue, Gross profit, Operating expenses, Operating profit, Other income and Net profit, with their accounts. Expand all and Collapse all fold the groups. Hide empty lines, on at the start, leaves out the rows without any amount in the thirteen months. The figures are whole numbers unless you choose another unit.

ColumnWhat it shows
The 13 monthsOne column per month, the oldest on the left. A click on a figure opens its journal items.
TotalThe sum of the thirteen months.
AverageThe total divided by 13, also when some months are empty.
3-month averageThe last three months added up and divided by 3.
Month over month %The last month against the one before. A last month that is not finished looks lower.
% of revenueThe total of the row divided by the revenue of the thirteen months.

Amounts of other currencies are converted at the rate of the end of each month. The PDF is a landscape page in a small font, because it holds nineteen columns.

The Rolling 13-Month Profit and Loss to 30 September 2026, in whole numbers: the thirteen months from Sep 25 to Sep 26, then Total, Average, 3-month average, Mo
The Rolling 13-Month Profit and Loss to 30 September 2026, in whole numbers: the thirteen months from Sep 25 to Sep 26, then Total, Average, 3-month average, Month over month % and % of revenue. Total income is 3,601,526 (average 277,040, 3-month average 279,544, month over month 33.8 %), gross profit 2,041,447 (56.7 % of the revenue) and net profit 598,512 (16.6 %).
Page 1 of 2 of the same report as a landscape PDF. The nineteen columns are printed in a small font; the second page holds the rest of the rows.
Page 1 of 2 of the same report as a landscape PDF. The nineteen columns are printed in a small font; the second page holds the rest of the rows.

Customer Concentration

In plain words: Customer Concentration tells you how much of your revenue depends on a few customers. It sorts the customers by revenue, gives them the class A, B or C and computes the Herfindahl-Hirschman index.

The table has two parts. The Summary comes first.

LineWhat it shows
Class A, B and CThe number of customers of the class, their revenue and their share of the revenue. Class A is the first 80 % of the revenue, class B up to 95 % and class C the rest (the limits are settings).
Top N customersThe share of the biggest customers. N is the setting Rows before Others, 10 at the start.
Herfindahl-Hirschman indexThe sum of the squared shares, in percent, of the customers: from 0 to 10,000. Its reading is in the column Class: below 1,500 Diversified; from 1,500 to 2,500 Moderately concentrated; above 2,500 Highly concentrated. The reading is fixed.

Customers by revenue comes next: one row per customer, the biggest first, with Revenue, Share %, Cumulative % and Class. Customers listed sets how many rows are listed (25 at the start, from 1 to 500); the others are summed in Others (n).

The classes. Customers are taken from the biggest. A customer is class A as long as the customers before it make less than 80 % of the revenue, class B as long as they make less than 95 %, class C after that. So the customer that crosses a limit keeps the better class: the one that takes the total from 78.2 % to 81.6 % is still class A.

Under the list come Customers with a positive revenue (their number and revenue, 100 %), then, when there are some, Customers with no net revenue (credit notes) and Not allocated (no customer), and last Total revenue, which equals the revenue of the Profit and Loss. The shares and the index count only the customers with a positive revenue.

Customer Concentration for 1 January to 28 October 2026, in decimals: class A has 6 customers and 81.6 % of the revenue, class B 5 customers and 13.7 %, class C
Customer Concentration for 1 January to 28 October 2026, in decimals: class A has 6 customers and 81.6 % of the revenue, class B 5 customers and 13.7 %, class C 3 customers and 4.7 %. The top 10 customers make 93.2 %. The Herfindahl-Hirschman index is 1,778, Moderately concentrated. Gemini Furniture takes the cumulative share from 78.2 % to 81.6 %: the last of class A. Total revenue: 2,789,013.72 for 14 customers.

PDF, Excel, favorites, schedules and the package

In plain words: The six reports work like every report of Accounting Pro: the buttons PDF and Excel, Favorites, scheduled reports by email and the Financial Package. A file shows what the screen shows, with every row open.
ToolWith the management reports
PDFA4. Landscape for the three profitability reports and the Rolling 13-Month Profit and Loss (in a small font); portrait for the Executive Summary (one page) and Customer Concentration. Under the title come the period and Entries: posted only, then the table, the notes and, if you set them in the Accounting Pro settings, the note under the report and the signature boxes. Estimated costs and traffic lights keep their colours.
ExcelOne sheet named after the report, with the same columns and the notes under the table. Amounts and percentages are real numbers with a format, negative amounts are red, and the names that point to a record (customers, products, tags, salespeople) are links to it.
FavoritesA favorite saves everything on the toolbar: the period, the comparison, the filters, the units and the options of the report (Rows, Top, Minimum revenue, Salesperson, Estimate missing costs, Rank by, Customers listed). Choose them, click Favorites, type a name and save. You can share it.
Scheduled reportsConfiguration → Accounting → Reporting → Scheduled Reports accepts the six reports. The period is relative: a schedule Last month sends the Executive Summary of last month, and the Rolling 13-Month Profit and Loss ending with the end of last month. It needs the group Accounting Pro: designer and schedules.
Financial PackageReporting → Financial Package lists the six reports, none ticked at the start. Each takes the period of the package and its own defaults for the rest (Rows by customer, the Top N of the settings, no estimate). A package holds at most 12 reports.

Uninstalling the add-on deletes the favorites and the schedules of the six reports (see Updating and removing).

Profitability by Customer as a landscape PDF page, with the previous year, in decimals: logo, company, title, period, Entries: posted only, the table, the notes
Profitability by Customer as a landscape PDF page, with the previous year, in decimals: logo, company, title, period, Entries: posted only, the table, the notes, and the footer with the person who printed it and the page number.
The same report in Excel, sheet Profitability by Customer: the title block, the table with the same columns as the screen, amounts as numbers with a format, neg
The same report in Excel, sheet Profitability by Customer: the title block, the table with the same columns as the screen, amounts as numbers with a format, negative amounts in red, the customer names as links, and the notes under the table. The picture draws the cells of the file.

The Gross margin card

In plain words: Reporting → Accounting Dashboard of Accounting Pro gets one more card, Gross margin: the gross margin of the period of the dashboard, with its change and its trend. A click opens Profitability by Customer.
Part of the cardWhat it shows
The figureThe gross margin of the period you chose with the buttons of the dashboard (This month, This quarter, This fiscal year, Last 12 months), up to today: gross profit divided by revenue, with the revenue and the cost of the Profit and Loss. Empty when the period has no revenue.
Gross profitUnder the figure: the gross profit of the same period.
The badgeThe change in points against the same part of the previous period (a fiscal year to October against the same months of the year before). Red when the margin is lower, green when higher.
The curveThe gross margin of each of the last twelve months.

The card counts posted entries only, like the other cards, and covers the companies of the company switcher. If it cannot be computed, the dashboard opens without it and the reason is written to the server log; the other cards are not affected.

The Accounting Dashboard for This fiscal year with the new card Gross margin after the seven cards of Accounting Pro: 56.5 %, Gross profit 1,574,990, a red badg
The Accounting Dashboard for This fiscal year with the new card Gross margin after the seven cards of Accounting Pro: 56.5 %, Gross profit 1,574,990, a red badge of 4.6 points below the same part of the year before, and the trend line of the twelve months.

Settings

In plain words: The add-on keeps a few values for each company: whether other income is revenue, the rows before Others, the ABC limits and the levels of the traffic lights. Configuration → Settings, block Management reports of the Accounting settings, after the block Accounting Pro.
SettingWhat it does
Other income is revenueOff at the start. When ticked, the accounts of type Other Income count as revenue in the six reports, in the Executive Summary and in the Gross margin card. The Profit and Loss of Accounting Pro keeps other income below the operating profit and does not change.
Rows before OthersFrom 1 to 100, 10 at the start. The number of customers, products or groups that Profitability by Customer and by Product list before Others (each report can change it), and the N of the line Top N customers of Customer Concentration.
Customer ABC classesClass A up to (%), 80 at the start, and Class B up to (%), 95. They must grow from 0 to 100, class A first.
Executive Summary traffic lightsFor the gross margin (35 and 20 at the start), the net margin (10 and 0) and the cash cover in months (3 and 1): the level that is good and the level to watch. Green from the good level, amber from the level to watch, red below. A level to watch cannot be above the good level, and the cash cover to watch is between 0 and the good level.

The settings belong to a company: switch company in the company switcher to set another one. A report you opened in this browser session keeps its filters until you press Reset, and a favorite keeps its own Top N. The block is shown to accounting administrators; the Settings menu itself is for Settings administrators.

Settings, Accounting: the block Management reports under the Accounting Pro block, with Other income is revenue unticked, Rows before Others 10, Class A up to 8
Settings, Accounting: the block Management reports under the Accounting Pro block, with Other income is revenue unticked, Rows before Others 10, Class A up to 80.00 and Class B up to 95.00, and the traffic lights: gross margin 35.00 and 20.00, net margin 10.00 and 0.00, cash cover 3.00 and 1.00 months.

Who can do what

In plain words: The add-on has no access group of its own: it uses those of Accounting Pro. Most people never need to touch them, because the accounting roles of Odoo already give them.
WhoWhat they can do
Accounting Pro: reports. Given with the accounting roles Show Full Accounting Features and Administrator; you can add it to anyone.See the six menus and open the reports; filter, drill down, print the PDF and export the Excel file; save, apply and share favorites; use the Financial Package; see the card Gross margin on the dashboard.
Accounting administrators (the role Administrator)Everything above, and the block Management reports of the settings (the Settings menu itself is for Settings administrators).
Accounting Pro: designer and schedules. Given with Administrator.Everything in the first line, and create scheduled reports of the six reports.
Everyone elseThe menus are hidden. A report opened by other means says You need the accounting reports access right to open this report.

Companies and rights. The reports cover the companies ticked in the company switcher, and nothing else: the Salesperson filter offers only the salespeople of those companies, and a drill-down stays in the companies of the report. The reports read the journal items with the rights of the user, never with higher rights: what someone cannot see in Odoo, he cannot see in a report.

Favorites and schedules follow Accounting Pro: you see your own favorites and the shared ones of your companies, only the owner changes a favorite, and a schedule runs as the person who created it.

How the figures are computed

In plain words: Every figure is read from the journal items with the rules of the Profit and Loss of Accounting Pro, so one figure has one value: in the examples the revenue of 1 January to 28 October 2026 is 2,789,013.72 in the customer, product, salesperson and concentration reports, as the income of the Profit and Loss.
RuleWhat it means
Revenue, cost, gross profit, marginRevenue is the journal items of the accounts of type Income, credit minus debit (and Other Income when the setting says so). Cost is the accounts of type Cost of Revenue, debit minus credit. Gross profit is revenue minus cost; the margin is gross profit divided by revenue, empty when the revenue is zero.
The same journal items as the Profit and LossThe reports read the entries with the function the Profit and Loss uses: the companies of the switcher; posted entries, and the drafts too when Posted entries only is unticked (cancelled entries never count); the Journals and Analytic accounts filters. Credit notes reduce revenue and cost. What another add-on leaves out of the Profit and Loss is left out here too: the Accounting Pro Closing add-on leaves out the year-end closing entries (see Limits).
Totals and rowsThe Total row, Total revenue of Customer Concentration and the Results of the Executive Summary are the revenue and the cost of revenue of the Profit and Loss for the same options; each account is rounded to the currency before it is added. A row is read with one grouped query for each company and period, then rounded to the cent. The cents that the rounding leaves over go to the rows that lost the most, so the rows add up to the total to the cent. Companies in another currency are converted at the rate of the end date of each column, not at the rate of each transaction.
Customer, salesperson, productCustomer: the company of the partner of the journal item; items without a partner, and vendor bills, refunds and receipts, are Not allocated (no customer). Salesperson: that of the customer invoice, credit note or receipt for its revenue, that of the customer for other entries with a customer, else Not allocated (no salesperson). Product: the product of the journal item, else No product.
Documents and quantityDocuments: the number of different entries that carry a revenue journal item in the period. Quantity: the revenue lines of customer invoices and receipts, less credit notes, in the unit of measure of the product.
Open receivableThe balance, debit minus credit, of the receivable accounts of the customer from the beginning up to the end date of the report, converted at the rate of that date. Posted entries only applies; Journals and Analytic accounts do not. In the examples the total is 245,687.10, the receivables of the balance sheet of Accounting Pro.
Estimated costThe quantity sold times the cost of the product today, for goods with no cost of revenue booked in the period. Shown apart, it never changes the column Cost.
Executive SummaryDSO = receivables / income x days of the period. DPO = payables / cost of revenue x days. Cash cover = bank and cash / the average monthly cost: the cost of revenue, the operating expenses (depreciation included) and the other expenses of the period, divided by its days and multiplied by 365 / 12. Receivables, payables and bank and cash are balances at the end of each period; bank and cash are the accounts that the cash flow statement treats as cash. Net profit is income plus other income minus cost of revenue and all expenses. The change of an amount is (this period - other period) / the other period.
Rolling 13-Month Profit and LossEach month is a column of the Profit and Loss statement of Accounting Pro. Total is the sum, Average the total / 13, 3-month average the last three months / 3, Month over month % the last month against the one before, and % of revenue the total of the row / the revenue of the thirteen months (Income, and Other Income when the setting says so).
ABC classes, Herfindahl-Hirschman indexOnly the customers with a positive revenue count. A customer is class A while the customers before it make less than the limit A, class B while they make less than the limit B, then class C. The test is made on whole cents: a customer with exactly 80.00 % of the revenue before it is class B. The index is the sum of the squares of the revenue shares in percent: one customer gives 10,000.

The add-on comes with 101 automated tests of its own: the ties to the Profit and Loss, the rows and their rounding, other currencies, the estimates, the ABC classes, the summary, access rights, PDF and Excel, settings, the dashboard card and the number of queries.

Limits

In plain words: What the add-on does not do, and the cases that need care. Read this chapter before you rely on a figure. The reports are management figures from your books, not tax or legal advice.

What the figures are

LimitDetail
Gross profit, not net profitRevenue is the Income accounts (Other Income only when the setting says so), cost is the Cost of Revenue accounts. Salaries, rent, marketing and the other operating expenses are never shared out, so the gross profit of a customer, a product or a salesperson is not a net profit.
Each amount counts in its own periodCosts are not matched to their sale. A cost booked in another month than its invoice (a delivery in October invoiced in November) lands in the month of its own journal item.
Only the cost the books giveA customer, a product or a salesperson gets only the cost booked with it: cost of goods sold lines of the invoice and stock valuation entries. Cost without a partner goes to Not allocated (no customer), cost without a product to No product.
No link to orders or stockThe add-on does not use the Sales or Inventory apps. It never reads sale orders, deliveries or stock moves: the cost comes only from journal items, in the period of each item.
Vendor bills, contactsA vendor bill booked to an income or cost of revenue account is never given to the vendor: it stays in Not allocated. The customer is the company of the partner of the journal item: the figures of its contacts are added to it.
Tags, countries and categories of todayThe rows by Partner tag, Country and Product category use the values of today, not those of the date of the sale. A customer with several tags counts only under its oldest tag, the first created, so that the rows add up.
Credit notes, drafts, tablesCredit notes count as documents: the average document is the revenue divided by the invoices, credit notes and other entries that carry revenue. Draft entries count only when Posted entries only is unticked. The reports have no charts (the dashboard card has a trend line) and no budget or target column.

Salespeople

LimitDetail
Revenue and cost on different peopleThe revenue of a sale goes to the salesperson of the invoice or credit note. A cost entry that is not an invoice, a stock valuation entry for instance, goes to the salesperson of its customer today. When the two differ, the revenue and the cost of that sale land on different people. An exact split would need the link from the stock moves to the sale order (the module sale_stock), which the add-on does not read.
Not allocated (no salesperson)Documents without a salesperson, vendor bills and entries without a customer go there.

Estimated costs (Profitability by Product)

LimitDetail
The cost of today, goods onlyEstimate missing costs multiplies the quantity sold by the cost of the product today, not by its cost on the date of the sale. Only goods are estimated, never services, and only when the product has no cost of revenue journal item at all in the period: a product with some booked cost is not estimated, even when part of its sales has none.
A cost counted twiceWhen the same cost is also booked without a product (one cost of goods sold entry a month, for example), the estimate counts it a second time. The report then shows a warning with the amount booked without a product and the gross profit of the Profit and Loss.
A view, not a bookingNothing is posted. The column Cost and the totals of revenue and cost still tie to the Profit and Loss; only the gross profit and the margin of the estimated products and of the total include the estimate.
ExcelThe Excel file does not show the italic amber style of the estimated cells (the screen and the PDF do). Its column Estimated cost holds the same figures.

Rows, comparison, drill-down and currencies

LimitDetail
RowsTop (0 = all) lists at most 2,000 rows (customers, groups or products); the rest is summed in Others and a warning says so. A report lists from 0 to 500 rows before Others; the setting Rows before Others takes 1 to 100.
ComparisonOnly Profitability by Customer has comparison columns: up to two earlier periods (previous period or same period of last year), with revenue, gross profit and revenue change. The Executive Summary has its own fixed comparison.
Drill-downA figure made of more than 2,000 documents or customers cannot be opened.
Open receivableIt is the balance of the receivable accounts at the end of the period, whatever the Journals and Analytic accounts filters, and it is not shown for rows by salesperson. With a salesperson, journal or analytic filter, the receivable of customers without sales and of items without a partner is not listed.
Other currenciesAmounts of companies in another currency are converted at the rate of the end date of each column, like the Profit and Loss, not at the rate of each transaction. The rows are rounded to add up to the Profit and Loss to the cent, so a row can differ by a cent from its own conversion (a note says so).

Executive Summary

LimitDetail
No filter, no comparison choiceIt has no journal or analytic filter and no comparison choice: it always shows the previous period and the same period of last year (only one of them when they are the same period).
DSO and DPODSO uses the Income accounts only and DPO the cost of revenue only, as in the Financial Ratios. Without sales, or without cost of revenue, they stay empty.
Traffic lightsOnly the gross margin, the net margin and the cash cover have a light, and the margin lights are not shown when the revenue is not positive.
AccountsBank and cash also counts the suspense, the outstanding receipts and payments and the liquidity transfer accounts, as the cash flow statement does. The top 5 expense accounts are accounts of type Expenses, Depreciation and Other Expenses: cost of revenue is not in that list.
PDF and ExcelIn its PDF (one A4 page) a long name keeps one line and ends with an ellipsis; the screen and the Excel file keep the whole names. In its Excel file the change of a margin is a plain number of points (0.41 where the screen writes 0.4 pt), and a lower number of days shows in red (the screen keeps days in the normal colour).

Rolling 13-Month Profit and Loss, Customer Concentration, dashboard card

LimitDetail
The built-in statementThe Rolling 13-Month Profit and Loss uses the built-in Profit and Loss statement of Accounting Pro, not a custom statement: thirteen months ending with the month of the chosen date, the last month stopping at that date. It shows whole numbers unless the Units option asks for decimals, and its PDF prints the nineteen columns in a small font.
Average and changeThe average is the total divided by 13 even when some months are empty. The month-over-month change compares the last month with the one before, so a last month that is not finished looks lower.
Positive revenue onlyOnly customers with a positive revenue in the period count for the shares, the ABC classes and the index. Customers with more credit notes than sales are listed apart, and revenue without a customer shows as Not allocated.
Fixed reading, free limitsThe reading of the index (below 1,500 diversified, above 2,500 highly concentrated) is fixed. The ABC limits and the line Top N customers come from the settings.
The cardIt uses the period of the dashboard and posted entries only, like the other cards; its change compares with the same part of the previous period, in points. If it cannot be computed, the dashboard opens without it and the error is written to the server log.

Settings, other add-ons, files and tests

LimitDetail
Other income is revenueThe setting changes the revenue of the six reports, of the summary and of the card only. The Profit and Loss of Accounting Pro keeps other income below the operating profit.
Year-end closing entriesWhen the Accounting Pro Closing add-on is installed, the year-end closing entries are left out of the six reports: each report carries a marker that the Closing add-on reads. The two add-ons were not tested together here.
UninstallingIt deletes the saved favorites and the scheduled emails of these six reports.
Arabic PDFIn an Arabic PDF, a name that mixes Latin and Arabic letters, such as a product code in front of an Arabic name, can show its parts in another order than the screen.
FilesThe Excel files were checked by reading their cells, not opened in Microsoft Excel.
Versions and speedThe add-on was built and tested with Accounting Pro 1.0.2. The tests check that the number of database queries of a report does not grow with the number of customers, products or salespeople. A benchmark on 300,000 journal items is part of the code and runs only on request: this guide gives no timing.

Troubleshooting

In plain words: Most problems come from a right, a filter or the way the cost is booked. Read the notes and the warnings under the report first: they say what is counted.
ProblemWhat to do
I do not see the Management reports in the Reporting menuEvery menu needs the group Accounting Pro: reports, given with the accounting roles Show Full Accounting Features and Administrator (Who can do what). Without it a report says You need the accounting reports access right to open this report.
The cost of a customer or of a product is 0.00The cost is booked without that customer or product, or not booked at all. Cost without a customer is in Not allocated (no customer), cost without a product in No product. For goods that have no cost anywhere in the accounts, tick Estimate missing costs in Profitability by Product.
The cost of a sale is on another salespersonThe revenue goes to the salesperson of the invoice, the cost entry to the salesperson of the customer. See Profitability by Salesperson.
A total is not the one of the Profit and LossCompare the options: the same period, Posted entries only (drafts count when it is unticked), the same Journals and Analytic accounts filters and the same companies. With a Salesperson filter the Total is the part of that person. With Other income is revenue ticked, the revenue includes other income, which the Profit and Loss shows below the operating profit.
A figure does not openA margin, an average, a share, a rank or a number of days is computed: nothing is behind it. A figure of more than 2,000 documents or customers cannot be opened: narrow the period or choose other Rows.
The Executive Summary shows two periods, not threeWhen the previous period is the same period of last year (a whole fiscal year, for example), it is shown once.
The Executive Summary has no light on a marginThe margin lights are not shown when the revenue of the period is not positive: credit notes above the sales.
Others, with a warning that only the 2,000 rows with the most revenue are listedTop (0 = all) lists at most 2,000 rows. The rest is summed in Others and the Total still ties. Use Minimum revenue or a Top N.
A red band above Profitability by Product says that cost is booked without a productLook at the row No product. If it holds the cost of the goods that the estimate covers, the estimate counts it twice: untick Estimate missing costs to read the booked figures (Estimate missing costs).
A customer owes money but has no rowCustomers with no revenue, cost or document in the period are summed in Customers without sales in the period. That row is hidden when a Salesperson, Journals or Analytic accounts filter is on. With Rows by salesperson there is no Open receivable column.
Customer Concentration lists fewer customers than the customer reportOnly customers with a positive revenue count. Customers with more credit notes than sales are in Customers with no net revenue (credit notes), and revenue without a customer in Not allocated.
There is no Gross margin card on the dashboardIf the card cannot be computed, the dashboard opens without it and the server log says why (the gross margin card was left out of the dashboard). Without revenue in the period the card has no figure.

Updating and removing

In plain words: Replace the folder, run the update, and the records you made stay as they are.

Replace the folder with the new version, restart Odoo and run -u taqnix_accounting_pro_profitability. Your favorites, your scheduled reports and your settings are kept.

The update reloads the views, the menus and the translations of the add-on. It does not touch your accounting data.

Important: Uninstalling Accounting Pro Management Reports from Apps deletes the favorites and the scheduled reports of the six reports, and its settings. The six menus and the card Gross margin leave. Your journal entries, journals and accounts are never touched, and nor are the other favorites and schedules of Accounting Pro.

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.