Stock and sales reports
These reports answer questions about what you sold, what you bought and what stock you hold. They only read documents that are already posted. They post nothing and change no stock.
- Where
- Detailed Reports › Change report. Items sold and Bundle sales are under Operations, Purchase activity under Purchases, and the stock reports under Inventory
- Number
- None. A report gives out no numbers
- Posts to
- Nothing
- Who
- Managers and admins
What it’s for
Section titled “What it’s for”| To answer | Open | Counts |
|---|---|---|
| What did each item sell, take back and earn? | Items sold (by item or by category) | Till bills, invoices, till returns, credit notes |
| What did each bundle sell, take back and earn? | Bundle sales | Till bills, invoices, till returns, credit notes |
| What is my stock worth on a day? | Inventory valuation | Every stock movement up to that day |
| What did I buy, spend and pay suppliers in a period? | Purchase activity | Purchases, supplier bills, expenses, supplier returns, supplier payments |
| Which documents moved this item’s stock? | Stock movements | Every posted stock movement |
| Which items did customers buy before they arrived? | Stock owed | Owed-stock entries from sales |
| Which items are at or below their reorder level? | Low stock | Stock lines on a day |
- Each report is chosen with Change report, which lists the reports you may open, grouped. Type in Find a report to search.
- The Daily report (what was sold and paid in a day) and the Day book are explained in Day book and daily reports. Customer and supplier balances are in Customer and supplier reports.
- The VAT return is not one of these reports. It is under Detailed Reports › Tax › VAT return. See VAT.
- To see the stock itself and its history, use Stock levels. The Stock page opens the Stock movements report from View all stock movements.
- Items, categories, costs and bundles are set up in Products and Bundles and labels.
Fields
Section titled “Fields”The period and the day
Section titled “The period and the day”Every report starts with the same row above it.
| Field | What it means | What it changes |
|---|---|---|
| Change report | Opens the list of reports | Shows another report for the same dates |
| Today, This month, Last month, This quarter, Last quarter, This year, Last year, Custom | The period, for a report that covers a period. A new report opens on This month | Sets From and To |
| From and To, with Apply period | Shown after you choose Custom. A period cannot be longer than 366 days | Sets the dates when you press Apply period |
| As of, with Apply and Today | The one day, for a report that is a position on a day: Stock owed and Low stock | Shows the books as they stood on that day |
| Arrow buttons | Step the period or the day forward and back | Moves the dates and reloads |
A badge beside the dates says what part of the books you see, such as Operational. Inventory valuation shows a period, but only its To date matters for the stock figures: it values the stock on that day. The earlier date only decides which movements are counted in the line “‹n› stock movement(s) in the selected period”.
Who sees cost. In Items sold and Bundle sales, cost, profit and margin show only to people who may see product cost. Inventory valuation, Stock movements and Stock owed show stock value and cost to everyone who may open them, even without that right. See Who can do it.
Items sold
Section titled “Items sold”Shows each item with what it sold and took back from the first date to the last date. The Overview counts a delivery on the day it was delivered. Items sold counts the invoice made from it, on the invoice date.
| Field | What it means | What it changes |
|---|---|---|
| View | By item or By category | Lists one row per item, or one row per product category |
| Category | All categories, No category (items with none), or one category | Lists only that category. It works in both views |
| Location | All locations or one stock location | Counts only sales made from that location. A return follows the location of the sale it belongs to |
| Order | Best first or Slowest first | Sorts by net quantity. Slowest first also lists active stock items that sold nothing, so you can see what does not move |
The filters apply as you change them. A category name in the By category view opens the items of that category: the view switches to By item with Category set, and a note says “Showing the items of ‹category›”.
| Column | What it shows |
|---|---|
| Item and SKU (Category in the category view) | The item, or the category |
| Sold | Quantity sold in the period |
| Returned | Quantity taken back in the period |
| Net quantity | Sold less Returned. It can be negative when a period returns more than it sells |
| Net sales | The sale value after discount and before VAT, less what came back |
| Cost, Profit, Margin % | Only for people who may see costs. Profit is Net sales less Cost. Margin % is Profit divided by Net sales, with two decimals, and blank while Net sales is zero |
Above the table a strip gives Net quantity, Net sales and, with cost rights, Profit. They cover every match, not only the rows on screen.
Bundle sales
Section titled “Bundle sales”| Field | What it means | What it changes |
|---|---|---|
| Bundle | All bundles or one bundle. The list holds the bundles that had a sale or a return in the period | Lists only that bundle |
| Column | What it shows |
|---|---|
| Bundle and SKU | The bundle |
| Sold, Returned, Net quantity | As in Items sold, counted in whole bundles |
| Net revenue | The bundle line’s price after discount and before VAT, less what came back |
| Item cost, Service cost, Total cost, Margin, Margin % | Only for people who may see costs. Item cost is the stock that left, at cost. Service cost is the default cost of any services in the bundle, used for margin only |
The strip above the table gives Net quantity, Net revenue and, with cost rights, Margin.
Inventory valuation
Section titled “Inventory valuation”| Field | What it means | What it changes |
|---|---|---|
| Find a product | Part of a name or code. The box says “Name or code” | Lists only matching stock lines |
| Location | All locations or one location, by code and name | Lists only that location |
| Category | All categories or one category. Items with none are under No category | Lists only that category |
| Show empty stock lines | Tick box | Brings back lines with nothing in them. They are left out otherwise |
| Column | What it shows |
|---|---|
| Product | The row number, the item name (it opens the Stock movements report for that item), then its SKU and category. A low line says “Low stock” |
| Location | The location code |
| On hand | The quantity with its unit |
| Company average cost | The item’s one average cost for the whole company, the same figure as on Stock levels. It is the same on every location row of the item, and it is the item’s cost now |
| Cost at this location | This location’s Value divided by its On hand |
| Value | What the stock movements up to the To date add up to for this item at this location |
The strip above the table gives Total stock value, the Inventory account balance and the Difference between them (when your books have that account). It also gives As of, Locations, and Value of the lines shown once you filter.
Total stock value always covers all stock in all locations, including stock in transit and at archived locations. It does not change when you filter. The list shows 25 lines a page. You can choose 25, 50 or 100. A status beside the title says “‹n› low”, or “Stock healthy” when nothing is low.
Purchase activity
Section titled “Purchase activity”This report has no filters. It shows totals in five groups, each with its own count and a link to the screen that lists those documents.
| Group | What it shows |
|---|---|
| Stock purchases | Gross purchases and Purchase discounts: stock bought on purchases in the period |
| Supplier bills | Supplier bills, Cancelled supplier bills, Net supplier bills, and Paid on bills |
| Expenses paid from cash or bank | Expenses paid, Cancelled expenses, Net expenses |
| Supplier returns | Gross supplier returns, Cancelled purchase returns, Net supplier return activity |
| Supplier payments | Gross supplier payments, Cancelled supplier payments |
The strip above gives Net stock purchases, Supplier bills, Expenses paid, Bought and spent, Net supplier payment activity and Net input tax on stock purchases. Amounts include VAT, except Net input tax, which is the VAT itself.
Stock movements
Section titled “Stock movements”| Field | What it means | What it changes |
|---|---|---|
| Supplier | Search by supplier code or name. All suppliers by default | Lists purchase-side movements of that supplier, and sales of products linked to it. See below |
| Product | Search by item code or name | Lists one item |
| Location | All locations or one | Lists one location |
| Type | All types, or tick one or more movement types | Lists only those kinds of movement |
The filters stay in the address, so a link or Back brings you to the same view. The list shows 6 movements a page by default. You can choose 6, 25, 50 or 100.
| Column | What it shows |
|---|---|
| Date and document | The row number, the date, and the document number. It opens the document when the app can open it. On a movement for owed stock, a second line such as “For invoice ‹number›” (or bill, or delivery) names the sale that was waiting |
| Supplier | The supplier of a purchase-side movement, or a dash |
| Product | The item, its SKU and the location code |
| Type | The kind of movement. The names are explained in What each movement type means. Here a goods receipt reads Goods received |
| Quantity | The change with its unit. Stock going out is negative. Under it: how many decimal places are recorded |
| Unit cost | The cost of one unit in this movement |
| Value | The value of the movement. Stock going out has a minus sign |
The strip above covers every movement that matches the filters, not only the page: Value in, Value out, Net value, and, once you pick one product, Quantity in and Quantity out. Quantities are added only for one item, because they mean little across different items. Until you pick a product the page says “Pick one product to see quantity totals.”
Stock owed
Section titled “Stock owed”| Field | What it means | What it changes |
|---|---|---|
| Show | Open or Covered | Open lists what was still waited for on the day. Covered lists entries that stock arriving on or before the day met |
| Location | All locations or a location that has owed stock | Lists one location |
| Item | All items or an item that has owed stock | Lists one item |
| Column | What it shows |
|---|---|
| Item | The item and its SKU |
| Location | The code and the name |
| Sale | The sale, invoice or delivery that owes the stock, and the entry number under it |
| Date | The day the stock was owed from |
| Owed | The quantity still owed while open (with “of ‹n›” when part was met), or the whole quantity once covered |
| Estimated cost | What the owed quantity is estimated at |
| Covered | The day the stock arrived. An entry only partly met still counts as open, and says “Part covered” |
| Age | How long it has been owed, such as “Today”, “1 day” or “12 days”. A covered entry shows how long it took |
The strip gives the number of entries and the estimate. A line at the bottom checks the open estimate against the Stock owed account in your books. The list shows 25 entries a page. You can choose 10, 25 or 50.
Low stock
Section titled “Low stock”| Field | What it means | What it changes |
|---|---|---|
| Filter exceptions | Part of a name, SKU or location. The box says “Name, document, SKU or location” | Lists only matching lines |
| Column | What it shows |
|---|---|
| Product / SKU | The item (it opens its movements) and its SKU |
| Location | The location code |
| On hand | The quantity with its unit |
| Reorder level | The level that applies, with its unit |
The list shows 8 lines a page. You can choose 8, 25 or 50.
Buttons
Section titled “Buttons”These buttons are on every report in this page. People only see the ones they may use.
| Button | When you see it | What happens | Accounts |
|---|---|---|---|
| Print… | For people who may print reports. Waits while the report loads | Opens a print preview of the report, with who printed it. A message says “‹Report› print view opened” | No change |
| Export CSV | For people who may export reports. Waits while the report loads | Downloads the report as a file. A message says “‹Report› CSV downloaded” | No change |
| Try again | When a report could not load | Loads it again | No change |
| Clear filters | Inventory valuation, when no line matches | Removes the search, location and category | No change |
| Open the Inventory account | Inventory valuation, when the stock value differs from the account, for people who may see an account ledger | Opens the ledger of the Inventory account | No change |
| Open purchase history, Open supplier bills, Open expenses, Open supplier returns, Open supplier payments | Purchase activity, one per group | Opens the screen that lists those documents | No change |
What print and CSV contain:
- Items sold: the same columns as the screen, with cost, profit and margin only when you may see costs. The print has a note that bundles are in Bundle sales. The files are named like items-sold-2026-10-01-to-2026-10-27.csv.
- Bundle sales: the CSV has all the screen columns. The print shows Total cost, Margin and Margin % but not Item cost and Service cost.
- Inventory valuation: every line that matches your filters, not only the page on screen. The total printed is still the total of all stock. The CSV has Category, Unit, Low stock (Yes or No) and the cost columns.
- Purchase activity: one row of totals in the CSV, in the order of the screen groups.
- Stock movements: every movement that matches, 200 at a time, with the totals at the end. The print groups them by item.
- Stock owed: every entry that matches your choices, the total and the check against the books.
- Low stock: the lines that match the filter. On hand is text such as “3 PCS”.
What gets posted
Section titled “What gets posted”Nothing. These reports read posted documents. They create no journal entry, no stock movement and no number. What a figure is made of is below.
What Items sold counts
Section titled “What Items sold counts”- Added: posted till bills and posted invoices dated in the period. An opening-balance invoice is not counted. An invoice made from a delivery counts when the invoice is posted, not the delivery.
- Taken off: posted till returns and posted credit notes dated in the period, whenever the sale was made. A return in October for a sale in August lowers October.
- Cost: what the item cost when it was sold. A till return gives back the cost of the returned line. A credit note gives cost back only when the goods went back into stock. A credit note without putting the goods back lowers Net sales but not Cost. Cost shows only to people who may see product cost.
- Left out: draft invoices, deleted sales, deleted returns, and every bundle. Items sold inside a bundle are not counted here; they are in Bundle sales.
- Services are counted, as they have sales. Only stock items without a sale are added to Slowest first.
- Category: an item counts in the category it has now. If you move an item to another category, its past sales move too. Quantities add up items in their own units, so compare Net sales between categories.
Example. An item sells at 100.00 before VAT and costs 60.00. A till bill sells 2, and 1 is returned. An invoice sells 3, and one credit note takes back 1 into stock and another takes back 1 without stock. Sold is 5, Returned is 3 and Net quantity is 2. Net sales is 200.00. Cost is 180.00, Profit is 20.00 and Margin % is 10.00.
What Bundle sales counts
Section titled “What Bundle sales counts”A bundle is sold at one price. This report shows what it earned after the cost of its items and services.
Example. An AC unit with installation sells for 1,800.00 before VAT. The AC unit costs 1,200.00 and the installation service has a default cost of 300.00. Net revenue is 1,800.00. Item cost is 1,200.00, Service cost is 300.00 and Total cost is 1,500.00. Margin is 300.00, which is Margin % 16.67.
- A return takes back its share of revenue and cost. When one of two bundles comes back with its items restocked, revenue, item cost and service cost all halve.
- A credit note without putting the goods back lowers revenue but not the item cost. In that case two bundles sold for 3,600.00 with one credited leave revenue 1,800.00, Item cost 2,400.00, Service cost 300.00 and Total cost 2,700.00. The Margin is minus 900.00, which is minus 50.00 %.
- Till bills and invoices are added together. A deleted sale and a draft invoice are left out.
What Inventory valuation counts
Section titled “What Inventory valuation counts”Value is the stock movements of each stock item at each location, added up to the To date. It is not today’s quantity times today’s cost, so you can look at any past day.
- Total stock value covers every stock item (not services or bundles) at every location, including in transit and archived locations.
- Empty lines are left out. An item with a reorder level is kept so that a sold-out item still appears.
- Cost at this location can differ between locations when the stock came at different costs. For example, 10 pieces at one location bought at 4.00 are worth 40.00 and 10 at another bought at 6.00 are worth 60.00. The cost at each location is 4.00 and 6.00.
- Low stock is the same rule as on the Stock page. A line is low when it holds stock at or below its reorder level. An item with a level and no stock anywhere is named once.
- The check against your books. The report compares Total stock value with the Inventory account (1200 Inventory) on the same day. When they agree, a quiet line says so. When they differ, a warning gives the gap. Your accountant can open the account in the Account ledger. See Financial statements.
What Purchase activity counts
Section titled “What Purchase activity counts”Each document is counted in the period of its own date. A cancellation is counted in the period it was cancelled in, not the period of the original.
- Stock purchases: posted purchases, without opening balances.
- Supplier bills and Expenses paid: posted supplier bills, and expenses paid straight from cash or the bank. Paid on bills is the payments on those bills less any cancelled in the period.
- Supplier returns and Supplier payments: these belong to stock purchases. Payments on supplier bills are in the bills group.
- Not in the report: payroll and entries made by hand.
- Net stock purchases is Gross purchases less Net supplier return activity. Bought and spent is Net stock purchases, Net supplier bills and Net expenses added together.
Example. A purchase of 10 pieces at 100.00 with a discount of 100.00 and 5% VAT is 945.00 in total. 300.00 is paid to the supplier. Later 2 pieces go back for 189.00, which includes 9.00 of VAT. Gross purchases is 945.00, Gross supplier returns is 189.00 and Net stock purchases is 756.00. Net input tax is 45.00 less 9.00, which is 36.00, and Net supplier payment activity is 300.00. The stock in Inventory valuation is 8 pieces, worth 720.00.
In another case, a bill of 100.00 plus VAT is 105.00, and an expense of 20.00 plus VAT is 21.00. Bought and spent is 126.00. If that bill is cancelled in the next month, that month shows Cancelled supplier bills of 105.00 and Net supplier bills of minus 105.00.
What Stock movements counts
Section titled “What Stock movements counts”Every posted document that changes stock writes one movement per item and location. The list is these movements, dated in the period. A Supplier filter has a special rule for sales, because a sale does not take stock from one supplier’s delivery:
- A purchase-side movement belongs to the supplier of its document.
- A sale or return of an item is listed under a supplier if the item is linked to that supplier today, or was bought from that supplier on a posted purchase. It does not say whose stock was sold. An item linked to several suppliers appears under each, so supplier totals overlap. The report says so above the table.
What Stock owed counts
Section titled “What Stock owed counts”When a sale takes stock you have not received yet, the app records the missing units as owed, at an estimated cost. The report shows those entries as the books stood on the chosen day, so you can look at any past day.
Example. A till bill sells 2 pieces that are not yet in stock, estimated at 60.00 each. The report lists one open entry, Owed 2, Estimated cost 120.00, and the Stock owed account (2060 Stock owed (estimated cost)) holds 120.00, so the check agrees. When 1 piece arrives, the entry stays open with 1 owed and Estimated cost 60.00, and says “Part covered”. When both arrive, it moves to Covered.
While open, the list starts with the oldest sale. Under Covered, the entry covered most recently comes first. A sale that was cancelled is in neither list.
What Low stock counts
Section titled “What Low stock counts”- A line is low when it holds stock, and the quantity is at or below the reorder level. An item with no level (or a level of zero) is never low.
- An item with a level and no stock in any location is named once, at its first location with a level. This shows an item that sold out.
- Locations that are not for sale, such as stock in transit or at archived locations, and items that are switched off, are left out.
- The Reorder list on Stock levels checks every location by itself. It can list a location that holds none of the item. Low stock lists a location only where there is stock.
- The Low stock group on the Overview and the list in Day book and daily reports use this same rule.
Where it shows up
Section titled “Where it shows up”| Place | What changes |
|---|---|
| Stock levels | Uses the same low-stock rule and the same company average cost. View all stock movements opens Stock movements |
| Overview | The Low stock group follows the same rule as the Low stock report. The Sales (before tax) card counts sales a little differently from Items sold; see Items sold |
| Selling at the till and Sales invoices | Their posted bills and invoices feed Items sold, Bundle sales and Stock movements |
| Purchases | Posted purchases feed Purchase activity, Inventory valuation and Stock movements |
| VAT | Not changed. These reports are not the VAT return, which is under Detailed Reports › Tax |
| Accounts and balances | Not changed. For the profit and the stock account, see Financial statements |
What the app blocks
Section titled “What the app blocks”| Situation | What you see |
|---|---|
| A report could not load | ‹Report› is unavailable. with the reason, and Choose another report from the menu or try again. with Try again |
| Items sold could not load, with no reason from the app | Items sold could not be loaded. Try again. |
| Bundle sales could not load, with no reason from the app | Bundle sales could not be loaded. Try again. |
| A report needs rights you do not have | There is nothing to show here for your access. |
| A custom period is wrong | Correct the highlighted report dates., with Start date cannot be after end date. or Report range cannot exceed 366 days. beside the date |
| An As of date is wrong | Enter a valid as-of date. |
| Nothing was sold (Items sold) | No items were sold in this period. |
| Nothing was sold (Bundle sales) | No bundles were sold in this period. |
| No stock to value | No stock to value as of ‹date›. |
| No valuation line matches | No stock line matches these filters. with Clear filters |
| No stock movement matches | No stock movements match these filters. |
| Nothing is owed | Nothing is owed on ‹date›., or No owed stock had been covered by ‹date›. |
| Nothing owed matches your choices | No open owed stock matches these choices on ‹date›. |
| No low stock | No exceptions as of this date., or No matching exceptions for this date and filter. when a filter hides them |
| Too many movements to print or export | Narrow the filters (10,000-row limit). |
| Too many owed entries to print or export | This report has ‹n› entries, more than the 1,000 it can print or export at once. and Choose an item or a location to narrow the report, then try again. |
| A print or export fails | A message that the report “was not made”, with a next step |
Notices that do not stop you
Section titled “Notices that do not stop you”- A long list. Items sold lists at most 2,000 items or categories, and Bundle sales 1,000 bundles. Beyond that you see Only the first items are listed. Narrow the dates or pick a location. (or “categories”), or Only the first bundles are listed. Narrow the dates or pick a bundle. The totals still cover every match. Stock owed lists at most 1,000 entries and says Showing the first ‹n› of ‹m› entries. Choose an item or a location to see the rest.
- Stock and books disagree. On Inventory valuation you see The stock value is ‹amount› more than the Inventory account in the books (‹balance›). Look at recent stock changes and entries made by hand. (or “less than”). On Stock owed you see The open estimate does not match the Stock owed account in your books. See the check at the bottom of this report. and a status Difference.
- Supplier filter. In Stock movements, sales are matched to a supplier by the item’s links, not by physical stock. A note above the table says so.
Who can do it
Section titled “Who can do it”| Action | Admin | Manager | Cashier |
|---|---|---|---|
| Open Items sold and Bundle sales | Yes | Yes | No, the standard Cashier uses the till only |
| See cost, profit and margin in Items sold and Bundle sales | Yes | Yes | No |
| Open Inventory valuation, Purchase activity, Stock movements, Stock owed, Low stock | Yes | Yes | No |
| See stock value and cost on Inventory valuation, Stock movements and Stock owed | Yes | Yes | No |
| Print and export a report | Yes | Yes | No |
| Open the Inventory account from Inventory valuation | Yes | No | No |
These are the standard roles. Your administrator can give a custom role each report separately in Settings › Users & access. Three things to know for a custom role:
- Items sold and Bundle sales share the right to see Daily operations. A role whose right is limited to the person’s own records sees only the sales and returns that person made. Costs show only with the right to see product cost and margin.
- Stock value and cost on Inventory valuation, Stock movements and Stock owed do not depend on that cost right. Anyone who may open the report sees them, as on Stock levels.
- Inventory valuation shows only to a role that holds the Inventory valuation, Low stock and Stock movements rights together. With less, the report says “There is nothing to show here for your access.”
- Printing and exporting each need their own right. Without it, the Print… or Export CSV button is not offered.
Fixing a mistake
Section titled “Fixing a mistake”- A figure looks wrong. Check the dates first. Items sold, Bundle sales and Purchase activity count each document on its own date, and a return on the day it was recorded. Then check Location and Category.
- A sale or return is missing. It may be a draft, cancelled, or dated outside the period. Find it in Sales history.
- A document was entered wrongly. Correct the document itself, not the report. See Sales invoices, Selling at the till and Purchases. The report follows the correction.
- Stock value and the Inventory account differ. Open the movements of the items with the largest value in Stock movements, and look for stock changes or entries made by hand. A stock adjustment or count is on Stock levels.
- Stock owed does not match the books. Ask whoever keeps your books to look into it. The report does not change anything.
- A bundle’s margin looks too high. An item or service in the bundle may have no cost set. Set it in Products and see Bundles and labels.
- Print or export is refused. Narrow the filters as the message says, then try again.