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
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.
What you get
| Feature | What it does |
|---|---|
| Profitability by Customer | Revenue, 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 Product | Quantity, revenue, cost, gross profit, margin, average price and average cost of each product or product category. |
| Estimate missing costs | Goods sold with no cost in the accounts get an estimated cost, shown apart in amber italics. |
| Profitability by Salesperson | Revenue, cost, gross profit, margin, documents, customers and average document of each salesperson, with a rank. |
| Executive Summary | One 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 Loss | The Profit and Loss month by month over thirteen months, with total, average, 3-month average, month-over-month change and percentage of revenue. |
| Customer Concentration | Customers by revenue with their share and cumulative share, ABC classes, the share of the top customers and the Herfindahl-Hirschman index. |
| Drill-down | Click a figure to open the journal items, the documents, the receivable items or the record behind it. |
| Ties to the Profit and Loss | The 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 Excel | Every report prints and exports with the same figures. Excel holds real numbers. |
| Favorites, schedules, Financial Package | The six reports work like the reports of Accounting Pro. |
| Gross margin card | On the Accounting Dashboard: the margin of the period, its change in points and a twelve-month trend. A click opens Profitability by Customer. |
| Settings | Other income as revenue, rows before Others, ABC limits and traffic-light levels, for each company. |
| Arabic | Translated. The screens, the PDF and the Excel file read right to left. |
Requirements
| Item | Details |
|---|---|
| Odoo | 19.0 (Community or Enterprise) |
| Apps needed | Accounting Pro 1.0.2 or later (taqnix_accounting_pro), which needs Accounting (account). Nothing from Odoo Enterprise, no Sales or Inventory app. |
| License | OPL-1 (Odoo Proprietary License v1.0) |
The figures are only as good as your books. A few features rely on more:
| Feature | What it needs |
|---|---|
| Cost per customer and per product | The 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 filter | A salesperson on the customer invoices. A document without one goes to Not allocated (no salesperson). |
| Rows by tag, country or product category | Tags and a country on the customers, a category on the products. |
| Estimate missing costs | The cost (the Cost field) of the goods, set on the product form. |
| PDF files | wkhtmltopdf, as for every Odoo PDF report. |
| Excel files | Nothing to install: the Excel library is part of Odoo. |
| Scheduled reports by email | An outgoing mail server. |
Install
- Unzip the package. Inside is
taqnix_accounting_pro_profitability.zip; unzip it to get the foldertaqnix_accounting_pro_profitability. - Copy the folder into one of the
addons_pathfolders of your Odoo server and restart Odoo. - Log in as an administrator, activate Developer mode, open Apps and press Update Apps List.
- 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
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
| Column | What it shows |
|---|---|
| Customer | The company of the customer: the figures of its contacts are added to it. A click on the name opens the customer. |
| Revenue | The accounts of type Income, credit minus debit. Credit notes reduce it. |
| Cost | The 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 document | The 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 receivable | What 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. |
| Control | What it does |
|---|---|
| Comparison | Previous 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 accounts | Posted 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. |
| Rows | Customer, 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 revenue | Customers with less revenue go to Others, even inside the top N. 0 at the start. |
| Salesperson | All 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, Units | Hide 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.
| Row | What 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 period | Only 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. |
| Total | The 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.
Rows by customer, partner tag, country or salesperson
| Rows | Each row is | Rule |
|---|---|---|
| Customer | A customer company. | The company of the partner of the journal item. |
| Partner tag | A 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. |
| Country | The country of the customers. | Customers without a country are in No country. |
| Salesperson | A 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.
Open the figures behind a number
| What you click | What opens |
|---|---|
| Revenue, Cost or Gross profit of a row | The 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. |
| Documents | The invoices, credit notes and other entries that carry revenue. |
| Open receivable | The receivable items of the customer, or of the row, up to the end date. |
| A customer, partner tag, country, salesperson, product or product category | That 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. |
| Total | The journal items of the whole report. |
| Executive Summary | Revenue, 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 Loss | A 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.
Profitability by Product
| Column | What it shows |
|---|---|
| Product, Product category | The name of the row. A click opens the product or the category. |
| Quantity | Units on customer invoices and receipts, less credit notes, in the unit of measure of the product. Empty on category, Others and Total rows. |
| Revenue | The accounts of type Income that carry the product, credit minus debit. |
| Cost | The cost of revenue journal items that carry the product: stock valuation entries and cost of goods sold lines of the invoices. |
| Estimated cost | Only 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 cost | Revenue divided by the quantity, and cost divided by the quantity (with the estimate, cost plus estimated cost). |
| Control | What it does |
|---|---|
| Rows | Product: 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 costs | Adds the column Estimated cost. Off at the start. |
| Expand all, Collapse all | Open 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.
Estimate missing costs
- Open Profitability by Product.
- Click Estimate missing costs. The column Estimated cost appears.
- 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.
| Rule | What it means |
|---|---|
| Which products | Goods (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 amount | The 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 shows | In 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 change | Nothing is posted. The column Cost and the totals of revenue and cost still tie to the Profit and Loss. |
Profitability by Salesperson
Which salesperson gets a journal item.
| Journal item | Goes to |
|---|---|
| The revenue of a customer invoice, credit note or receipt | The 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 customer | Not allocated (no salesperson). |
| Column | What it shows |
|---|---|
| Salesperson | The name. A click opens the user. |
| Revenue, Cost, Gross profit, Margin %, Average document | As in Profitability by Customer. |
| Documents | The invoices, credit notes and other entries with revenue of this salesperson. |
| Customers | The 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. |
| Rank | The 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. |
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.
Executive Summary
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.
| Section | Lines |
|---|---|
| Results | Revenue, Cost of revenue, Gross profit, Gross margin, Operating expenses, Net profit, Net margin: the lines of the Profit and Loss. |
| Cash and working capital | Bank 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 products | The five with the most revenue in the period, with their revenue in the other periods. |
| Top 5 expense accounts | The 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.
| Line | Good | Watch | Alert |
|---|---|---|---|
| Gross margin | 35 % or more | 20 % to below 35 % | Below 20 % |
| Net margin | 10 % or more | 0 % to below 10 % | Below 0 % |
| Cash cover (months) | 3 or more | 1 to below 3 | Below 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.
Rolling 13-Month Profit and Loss
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.
| Column | What it shows |
|---|---|
| The 13 months | One column per month, the oldest on the left. A click on a figure opens its journal items. |
| Total | The sum of the thirteen months. |
| Average | The total divided by 13, also when some months are empty. |
| 3-month average | The 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 revenue | The 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.
Customer Concentration
The table has two parts. The Summary comes first.
| Line | What it shows |
|---|---|
| Class A, B and C | The 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 customers | The share of the biggest customers. N is the setting Rows before Others, 10 at the start. |
| Herfindahl-Hirschman index | The 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.
PDF, Excel, favorites, schedules and the package
| Tool | With the management reports |
|---|---|
| A4. 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. | |
| Excel | One 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. |
| Favorites | A 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 reports | Configuration → 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 Package | Reporting → 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).
The Gross margin card
| Part of the card | What it shows |
|---|---|
| The figure | The 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 profit | Under the figure: the gross profit of the same period. |
| The badge | The 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 curve | The 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.
Settings
| Setting | What it does |
|---|---|
| Other income is revenue | Off 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 Others | From 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 classes | Class 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 lights | For 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.
Who can do what
| Who | What 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 else | The 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
| Rule | What it means |
|---|---|
| Revenue, cost, gross profit, margin | Revenue 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 Loss | The 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 rows | The 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, product | Customer: 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 quantity | Documents: 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 receivable | The 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 cost | The 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 Summary | DSO = 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 Loss | Each 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 index | Only 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
What the figures are
| Limit | Detail |
|---|---|
| Gross profit, not net profit | Revenue 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 period | Costs 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 give | A 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 stock | The 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, contacts | A 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 today | The 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, tables | Credit 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
| Limit | Detail |
|---|---|
| Revenue and cost on different people | The 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)
| Limit | Detail |
|---|---|
| The cost of today, goods only | Estimate 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 twice | When 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 booking | Nothing 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. |
| Excel | The 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
| Limit | Detail |
|---|---|
| Rows | Top (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. |
| Comparison | Only 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-down | A figure made of more than 2,000 documents or customers cannot be opened. |
| Open receivable | It 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 currencies | Amounts 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
| Limit | Detail |
|---|---|
| No filter, no comparison choice | It 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 DPO | DSO 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 lights | Only 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. |
| Accounts | Bank 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 Excel | In 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
| Limit | Detail |
|---|---|
| The built-in statement | The 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 change | The 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 only | Only 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 limits | The 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 card | It 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
| Limit | Detail |
|---|---|
| Other income is revenue | The 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 entries | When 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. |
| Uninstalling | It deletes the saved favorites and the scheduled emails of these six reports. |
| Arabic PDF | In 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. |
| Files | The Excel files were checked by reading their cells, not opened in Microsoft Excel. |
| Versions and speed | The 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
| Problem | What to do |
|---|---|
| I do not see the Management reports in the Reporting menu | Every 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.00 | The 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 salesperson | The 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 Loss | Compare 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 open | A 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 three | When 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 margin | The 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 listed | Top (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 product | Look 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 row | Customers 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 report | Only 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 dashboard | If 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
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.
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.