Inventory Profit Margin

August 19, 2026 49 views admin

Inventory Profit Margin — Complete User Guide — Two Accounts Web

Comprehensive guide for the Inventory Profit Margin report — enabling it, creating the report, reading every column, drilling into the underlying transactions, and validating each figure against the General Ledger and accounting regulations


Table of Contents

  1. What Is the Inventory Profit Margin Report?
  2. Prerequisites — Enabling via the Customize Menu
  3. Navigating to the Report
  4. The Report List
  5. Creating the Report — Field-by-Field
  6. Report Output Columns
  7. How the Report Is Calculated
  8. Related Settings and Configuration
  9. Sample Data and Report Output
  10. General Ledger Verification
  11. Reporting and Accounting Impact
  12. Accounting Regulation Validation
  13. Common Issues and Best Practices

1. What Is the Inventory Profit Margin Report?

The Inventory Profit Margin report shows, for every inventory item (and inventory kit), how much it was sold for, what it cost to sell (the cost of goods sold), what profit it earned, and what margin (profit as a percentage of sales) it produced — all within a period you choose.

It answers the most important merchandising questions:

  • Which items make the most money (not just revenue)?
  • Which items are sold at a loss?
  • Which items carry the best margin, and which have the weakest?

The report reads the actual General Ledger postings — the sales revenue lines and the cost-of-goods-sold lines — so every figure is auditable and reconciles to the Profit & Loss statement. A click on any item's Profit opens the underlying transactions, letting you trace exactly which sales documents produced the figure.

Key concept: Margin here is gross margin — profit as a percentage of sales: Profit ÷ Sales × 100. It measures how much of every 100 units of sale value is kept as gross profit before other expenses. A margin of 30 means 30 units of every 100 sold remain as gross profit.

Like most reports here, it is a saved report: choose a period once, save it, and reopen it any time. The output is printable, emailable, and exportable.


2. Prerequisites — Enabling via the Customize Menu

The report appears under Reports only when the Inventory Items tab is enabled for the business. Inventory Items is not enabled by default.

How to Enable

  1. Open the Customize Menu from the navigation bar.
  2. Find the Inventory Items toggle and turn it on.
  3. Click Update / Save to apply.
The report is built from inventory sales and cost-of-sales postings, so the inventory area must be active. Enabling it also makes the other inventory reports (Inventory ABC Analysis, Inventory Value Summary, Inventory Valuation Report, etc.) available.

Once enabled, the report is available under Reports → Inventory Items → Inventory Profit Margin.

Permission note: Like all reports, it is only visible to users whose permission profile grants access. If the report does not appear even after the tab is enabled, ask your administrator to check the user's report permissions.
Minimum data requirement: The report lists items that have sales activity within the period (sales invoices, credit notes, or receipts). An item that was only purchased — never sold — produces no row here.

3. Navigating to the Report

From the main navigation bar:

  1. Open Reports.
  2. Go to the Inventory Items category.
  3. Click Inventory Profit Margin.

This opens the report list — every saved Profit Margin report for the business appears here, sorted by its From Date.


4. The Report List

The list shows one row per saved report, with three columns:

Column Description
From (From Date) The start of the reporting period. Rows are sorted by this date.
To (To Date) The end of the reporting period.
Description An optional note entered when the report was created (e.g. "Q1 2026 Gross Margin").

Each row is clickable:

  • Click the row to open the report output (the per-item sales / cost / profit table).
  • Edit opens the report form to change the period or description.

A New Report button at the top creates a fresh report.


5. Creating the Report — Field-by-Field

Click New Report to open the report form. It contains three fields:

5.1 From Date and To Date

Field Required? What To Enter Effect
From Date ✅ Yes The first day of the reporting period (e.g. 1-Jan-2026). Only sales documents issued on or after this date are included.
To Date ✅ Yes The last day of the reporting period (e.g. 31-Jan-2026). Only sales documents issued on or before this date are included.
Inclusive range: Both dates are inclusive. The report matches the source document's date (see section 7.6), not the individual GL posting date.

5.2 Description

Field Required? What To Enter Effect
Description ❌ Optional A note to identify the saved report (e.g. "Q1 2026 Gross Margin"). Displayed in the report list only. Can be left blank.

6. Report Output Columns

The report opens with a subtitle:

For the period from {From Date} to {To Date}

The table reads one row per inventory item (or kit), listed alphabetically by the item's Code - Name. The columns are:

Column Type Meaning
Item (the row label) Text The inventory item or kit, shown as "Code - Name" when a code is set, otherwise just the name.
Sales Amount The item's sales revenue in the period — the sales-line postings (from sales invoices and receipts), net of any credit-note returns.
Cost of sales Amount The item's cost of goods sold in the period — the cost-of-sales postings that matched the sales quantities.
Profit Amount Sales − Cost of sales. This is the item's gross profit and is clickable — it opens the underlying transactions.
Margin Percentage Profit ÷ Sales × 100, rounded to 2 decimal places. Shown as a percentage. Not totalled at the bottom (a summed margin is meaningless).
Reading the signs: Sales and Cost of sales are presented as positive figures. A negative Profit means the item was sold at a loss (its cost of sales exceeded its sales). The margin for a loss is shown as a negative percentage.

7. How the Report Is Calculated

7.1 Source of the Data

The report is built from the business's General Ledger, first run through the system's cost-of-goods-sold calculation so the cost figures are complete and correct. From the ledger it selects the lines that:

  • belong to an inventory item or an inventory kit,
  • are not inventory-on-hand postings (the stock-balance lines),
  • are not tax transactions (VAT),
  • have a non-zero amount, and
  • come from a sales document dated within the period (see section 7.6).

The selected lines are then grouped by item (or kit).

7.2 Sales

Sales (per item) = sum of the item's sales-line GL amounts × −1

Sales lines are the revenue postings from the sales documents. Because revenue is credited (stored as a negative amount), the sign is reversed for display, giving a positive sales figure.

7.3 Cost of Sales

Cost of sales (per item) = sum of the item's cost-of-sales GL amounts × −1

Cost-of-sales lines are the COGS postings that carry a cost-of-goods-sold quantity — the amount of the item's inventory cost recognised as expense when the goods were sold (drawn from its cost layers). The sign is reversed for display, giving a positive cost figure.

7.4 Profit

Profit = Sales + Cost of sales

Since Cost of sales is presented as a positive amount in its own column but is a cost, the arithmetic is Sales − Cost of sales. This is the item's gross profit.

7.5 Margin

Margin = Profit ÷ (Sales ÷ 100)
       = Profit ÷ Sales × 100
       (rounded to 2 decimal places, half-away-from-zero;
        blank when Sales is zero or Profit is zero)

Margin is the gross margin percentage. In the summary it is rounded to 2 decimals (e.g. 44.12 means 44.12%).

7.6 Which Documents Are Counted

A line is included in the period when its source document falls inside the From–To range:

  • Sales Invoice — by its issue date,
  • Credit Note — by its issue date (returns reduce sales and COGS in the period they are issued),
  • Receipt — by its receipt date.

This means the report is aligned to when the sale was recorded, which is the right basis for a profit-margin view.

7.7 Total Row and Drill-Down

  • A Total row at the bottom sums Sales, Cost of sales, and Profit across all items. The Margin column is not totalled (a summed margin is meaningless).
  • Clicking an item's Profit opens the drill-down transactions page — one row per underlying document, with the same Sales / Cost of sales / Profit columns plus Date, Transaction, Description, and an integer Margin. Negative values are highlighted. Each document row opens its own Edit/View screens.

Setting / Record Where How It Affects the Report
Inventory Items tab Customize Menu Must be enabled for the report to appear.
Inventory Item — Item Code / Item Name Inventory Items tab → New Item / edit The row label is shown as "Code - Name" when a code is set, otherwise just the name.
Inventory valuation method Inventory settings Drives the cost-of-goods-sold calculation the report runs against, so Cost of sales reflects your valuation method.
Sales Invoices / Credit Notes / Receipts Sales area Provide the sales revenue lines. Returns via Credit Notes reduce sales and COGS.
Inventory valuation / costing method Inventory settings (per item: FIFO / Moving Average / LIFO) Determines which layers the COGS is drawn from, and therefore the Cost of sales figures.
Base currency Business Details / Settings All amounts are in the base currency.
No report-specific configuration: The report needs no special settings of its own. It computes everything from the sales and COGS postings in the ledger.

9. Sample Data and Report Output

9.1 Sample Setup

Business settings

Setting Value
Base currency USD
Inventory Items tab Enabled
Valuation / COGS System cost-of-goods-sold calculation (FIFO / Moving Average / LIFO per item)

Transactions

ID Type Item Detail Qty Value (USD)
T1 Purchase Widget-X @ $10 +100 1,000
T2 Purchase Gadget-Y @ $20 +100 2,000
T3 Purchase Component-Z @ $30 +100 3,000
T4 Purchase Widget-X @ $12 +100 1,200
T5 Purchase Gadget-Y @ $22 +100 2,200
T6 Purchase Component-Z @ $32 +100 3,200
T7 Sale Widget-X 150 units −150
T8 Sale Gadget-Y 50 units −50
T9 Sale Component-Z 120 units −120
T10 Purchase Widget-X @ $14 +50 700
T11 Sale Widget-X 30 units −30
T12 Sale Gadget-Y 60 units −60
T13 Purchase Component-Z @ $34 +50 1,700
T14 Write-off Widget-X 5 units −5
T15 Transfer Gadget-Y 10 units → Location B net 0
T16 Sale Component-Z 30 units −30
T17 Return (Credit Note) Widget-X 10 units +10 +120
T18 Period end Component-Z Periodic COGS (50×34 + 100×32) −4,900
Note: Only sales feed the Profit Margin report. Widget-X sells 170 units net (T7 150 + T11 30 − T17 return 10); Gadget-Y sells 110 (T8 50 + T12 60); Component-Z sells 150 (T9 120 + T16 30). T15 (transfer) is not a sale, so it is omitted. COGS uses the layers from the purchases (T1/T4/T10, T5, T3/T6/T13) plus the walkthrough's COGS (Widget 1,900, Gadget 2,310, and Component via T18 periodic 4,900).

Inventory items

Item Method / System Units sold Cost of sales
Widget-X FIFO / Perpetual 170 1,900
Gadget-Y Moving Average / Perpetual 110 2,310
Component-Z LIFO / Periodic 150 4,900

Sales prices (assumed to complete the walkthrough)

Assuming selling prices of 20 per Widget-X, 30 per Gadget-Y, and 45 per Component-Z:

Item Units sold Selling price Sales amount
Widget-X 170 20 3,400
Gadget-Y 110 30 3,300
Component-Z 150 45 6,750

9.2 Creating the Report

From Reports → Inventory Items → Inventory Profit Margin, click New Report and enter:

Field Value Entered
From Date The first day of the walkthrough period
To Date The last day of the walkthrough period
Description Inventory Walkthrough Profit Margin

9.3 Report Output

For the period from {From Date} to {To Date}

Item Sales Cost of sales Profit Margin
Component-Z 6,750.00 4,900.00 1,850.00 27.41%
Gadget-Y 3,300.00 2,310.00 990.00 30.00%
Widget-X 3,400.00 1,900.00 1,500.00 44.12%
Total 13,450.00 9,110.00 4,340.00
Note: Widget-X earned the highest margin (44.12%) — its COGS of 1,900 on layered cost versus 3,400 of sales. Component-Z contributes the most profit in absolute terms (1,850) on the largest sales. The total shows 4,340 gross profit on 13,450 of sales. The Margin column is intentionally blank in the Total row because a summed percentage is not meaningful.

9.4 Drill-Down Transactions

Clicking Widget-X's Profit (1,500.00) opens the drill-down page for that item — one row per underlying document:

Widget-X — Profit

Date Transaction Description Sales Cost of sales Profit Margin
{T7 date} Sale T7 Sale of Widget-X 3,000.00 1,600.00 1,400.00 46
{T11 date} Sale T11 Sale of Widget-X 600.00 360.00 240.00 40
{T17 date} Credit Note T17 Return of Widget-X (200.00) (120.00) (80.00) -
Total 3,400.00 1,900.00 1,500.00
Drill-down margin is an integer: In the drill-down page the margin is shown as a whole number (e.g. 46 for the T7 sale), while the summary page shows the item's overall margin rounded to 2 decimals (44.12). The walkthrough also includes a 5-unit write-off (T14) with COGS of 60 and a return (T17); the return appears as a negative sale/cost on its credit note.

9.5 Calculation Verification

Widget-X (FIFO/Perpetual):

Units sold      = 150 (T7) + 30 (T11) − 10 (T17 return)     = 170   ✓
Sales           = 170 × 20                                   = 3,400
Cost of sales   = 1,600 (T7) + 360 (T11) + 60 (T14) − 120 (T17) = 1,900  ✓
Profit          = 3,400 − 1,900                              = 1,500  ✓
Margin          = 1,500 ÷ (3,400 ÷ 100)                      = 44.12% ✓

Gadget-Y (Moving Average/Perpetual):

Units sold      = 50 (T8) + 60 (T12)                          = 110   ✓
Sales           = 110 × 30                                    = 3,300
Cost of sales   = 1,050 (T8) + 1,260 (T12)                    = 2,310  ✓
Profit          = 3,300 − 2,310                               = 990   ✓
Margin          = 990 ÷ (3,300 ÷ 100)                         = 30.00% ✓

Component-Z (LIFO/Periodic):

Units sold      = 120 (T9) + 30 (T16)                         = 150   ✓
Sales           = 150 × 45                                    = 6,750
Cost of sales   = 50×34 + 100×32 (period-end LIFO, T18)       = 4,900  ✓
Profit          = 6,750 − 4,900                               = 1,850  ✓
Margin          = 1,850 ÷ (6,750 ÷ 100)                       = 27.41% ✓

Total row:

Sales          = 6,750 + 3,300 + 3,400 = 13,450    ✓
Cost of sales  = 4,900 + 2,310 + 1,900 = 9,110     ✓
Profit         = 1,850 + 990 + 1,500    = 4,340     ✓

10. General Ledger Verification

Every figure in the report is a sum of General Ledger postings. For the Widget-X sales, the system posts revenue and COGS as follows (amounts per the walkthrough):

  Dr  Bank / Cash (or Accounts Receivable)        3,400
    Cr  Sales Revenue (Widget-X)                            3,400   ← sales line
  Dr  Cost of Sales (Widget-X)                    1,900
    Cr  InventoryOnHand (Widget-X)                         1,900   ← COGS lines
                                      ──────────   ──────────
  Total Debits: 5,300   Total Credits: 5,300   ✓ Balanced

How each report column maps to the GL:

Report column GL source
Sales The item's sales-revenue postings (no cost-of-sales quantity), sign-reversed. Widget-X = 3,400.
Cost of sales The item's COGS postings (lines carrying a cost-of-sales quantity), sign-reversed. Widget-X = 1,900 (from the walkthrough's T7, T11, T14 and the T17 return).
Profit Sales − Cost of sales = 3,400 − 1,900 = 1,500.
Margin Profit ÷ Sales × 100 = 44.12%.

Cross-check with the walkthrough's Trial Balance / P&L for the period:

Sales Revenue                                13,450  ✓  (matches report Sales total)
Cost of Sales (Widget 1,900 + Gadget 2,310 + Component 4,900) = 9,110  ✓
Gross Profit                                 4,340  ✓  (matches report Profit total)
Note: The COGS figures are produced by the system's cost-of-goods-sold calculation from the inventory layers — Widget-X 1,900, Gadget-Y 2,310, Component-Z 4,900 — matching the walkthrough. The report therefore reconciles to the COGS on the Profit & Loss and to the inventory value on the Balance Sheet.

11. Reporting and Accounting Impact

  • Profit & Loss: The report's Sales and Cost of sales totals reconcile to the P&L revenue and COGS lines. It is effectively the gross-profit section of the P&L, disaggregated item by item.
  • Balance Sheet: The COGS postings reduce InventoryOnHand; the report shows the cost of the stock sold, which ties to the movement in the inventory balance for the period.
  • Pricing decisions: Margin per item is the input for pricing, discounting, and product-line decisions — which items to push, which to reprize, and which are dragging overall margin.
  • Cost control: The margin reflects the full unit cost carried in the item's cost layers (purchase price and attributable costs). Rising purchase costs or freight directly compress margin, which this report makes visible.
  • Loss detection: Negative-profit items are surfaced immediately, enabling write-down and discontinuation decisions.
Scope: This report covers inventory items and kits sold in the period. It shows gross margin (before operating expenses), not net profit. Services and non-inventory sales are outside its scope.

12. Accounting Regulation Validation

Standard Requirement How the Report Complies
IAS 2 — Inventories §34 Cost of sales is recognised as an expense in the period in which the related revenue is recognised. The report matches sales revenue lines with the COGS lines produced by the system's COGS calculation, so revenue and cost are recognised together in the same period.
IAS 2 — §10, §13 Cost of inventory includes purchase price, import duties, freight, and other directly attributable costs. For each item, COGS is derived from its cost layers (purchase price and attributable costs, per the FIFO / Moving Average / LIFO method).
IFRS 15 / IAS 18 — Revenue Recognition Revenue is recognised when control of goods transfers to the customer, at the transaction price. Sales figures are taken from the actual sales-invoice and receipt postings dated within the period — the recorded, recognised revenue.
IAS 1 — Presentation of Financial Statements An entity presents the line items that are relevant to understanding its financial performance, including gross profit. The report disaggregates gross profit (Sales − Cost of sales) item by item, giving decision-useful, auditable gross-margin information.
IFRS for SMEs — Section 13: Inventories Cost of sales is recognised as an expense when related revenue is recognised. The same matching principle applies — the report pairs sales with the COGS recognised for those sales.
Double-entry principle Debits equal credits for every posting. Every sales posting is balanced (verified in section 10), and the report re-aggregates those balanced postings, so its totals tie to the ledger.
Consistency / comparability (IAS 8) Financial information should be prepared on a consistent basis to be comparable. The report always uses the same date rule (source-document date), the same COGS processing, and the same Sales − COGS = Profit formula, so periods are directly comparable.

13. Common Issues and Best Practices

13.1 The Report Does Not Appear

Cause: The Inventory Items tab is not enabled, or the user lacks report permission.

Solution: Enable Inventory Items in the Customize Menu, or ask the administrator to grant report access.

13.2 An Item With Sales Is Missing From the Report

Cause: The item's sales document date is outside the From–To range, or the sale was recorded through a document type the report does not read.

Solution: Widen the date range. Remember the report uses the source document's date (sales invoice issue date, credit note issue date, or receipt date).

13.3 The Report Body Is Empty

Cause: No inventory items were sold in the period, or no sales documents exist.

Solution: Confirm sales invoices/receipts were issued for inventory items within the period.

13.4 Profit / Margin Looks Wrong

Cause: The COGS figure depends on the inventory valuation method and on whether the system's COGS calculation has run. If purchases were never recorded as inventory layers (or the layers carry zero cost), no meaningful COGS exists.

Solution: Confirm purchases are recorded as inventory (creating cost layers with their unit costs) and that the COGS calculation reflects your valuation method.

13.5 Why Is the Margin Blank in the Total Row?

Explanation: A summed percentage is meaningless — the Total row therefore sums only Sales, Cost of sales, and Profit. Read each item's margin from its own row.

13.6 Why Is the Drill-Down Margin an Integer?

Explanation: The summary page shows margin rounded to 2 decimals (e.g. 44.12%); the drill-down page shows it as a whole number (e.g. 44). The underlying ratio is the same.

Best Practices

  • Run one report per accounting period (e.g. monthly or quarterly) with a clear Description — the saved list makes margin trend analysis easy.
  • Reconcile the Sales and Cost of sales totals to the P&L for the same period.
  • Use the drill-down to audit individual documents behind any item's profit before making decisions.
  • Watch for negative-profit items — they are candidates for repricing, write-down review, or discontinuation.
  • Remember the margin basis — it is gross margin on the cost carried in the item's inventory layers, before operating expenses.

End of Inventory Profit Margin Guide