Reports
The Reports page in the portal shows where your stock stands: its value, what is at zero or below its minimum, what is expiring, your open purchase orders and your activity week by week. It is built from our once-a-day check of your OpenBoxes instance.
It is included on every plan (Shared, Dedicated and Enterprise), with nothing to buy and nothing to switch on. Everyone on your account sees it.
The Reports page and the Reporting menu#
There are two places to look, and they are different things:
- The Reports page in the portal is part of OpenBoxes Lift. Open it from Reports in the portal sidebar, just below Instance. It is what this page describes.
- The Reporting menu inside OpenBoxes is OpenBoxes' own set of built-in reports (Inventory Summary, Expiring Stock, the Transaction Report, Consumption, Reorder, Amount Outstanding and the data exports), in the main menu of your instance. See OpenBoxes reports.
The Instance page in the portal has no Reports tile. Its Expiring stock tile opens OpenBoxes' own expired-stock list.
How fresh it is#
The page is not live. We check your instance once a day, after 04:00 in your timezone (the one set under Settings, General, otherwise US Eastern). Every card says when its data was checked, for example "Checked at 04:10 on Tue 22 Sep (Africa/Nairobi)". Anything you do in OpenBoxes after that check appears the next day.
On a new instance the page says "Your first daily check runs after 04:00" in your timezone; the reports appear the next day. Each card says where its history starts, and history builds day by day from then.
What the page shows#
A location filter at the top of the page (shown when you have more than one location) switches every card between all locations and one location. Each card has its own CSV download with the same rows as the card.
Each list shows at most 2,000 rows, and its CSV holds the same rows. The card states the true total. The Open purchase orders and Activity by week cards have no CSV until their first daily check has run.
- Summary. Stock value; how many products are At zero (minimum set), At zero (no minimum set), Below minimum (including the ones at zero) and Stock above maximum; lots expiring within the window you chose on the Stock alerts panel (30 days unless you changed it); and Open purchase orders, with how many are overdue and how many are drafts. Counts across all locations are "products across your locations", so the same product at two locations counts twice. A line says how many products have a minimum set. If none do, the At zero (minimum set) and Below minimum tiles read No minimums set and link to where OpenBoxes sets stock levels.
- Stock value over time. Daily for the last 90 days, then monthly for up to 13 months. A day with no check or no price check is a gap, never a zero. Value uses the price on each day, so a price change moves the line.
- Stock-outs and below minimum. Each product and location at zero or below its minimum today, how many of the days checked in the last 30 and 90 days it was at zero, its months of stock, and an Above maximum flag. Products never stocked at a location are not listed.
- Expiring stock. Lots grouped by how soon they expire (from expired to more than a year away), the lots inside your Stock alerts window, and the value at risk for lots with a price.
- Open purchase orders. One row per order: supplier, destination, status, expected date, open lines and the value not yet received. Drafts are listed separately.
- Activity by week. The last 12 weeks by category: received from suppliers, returned from wards and other locations, issued, consumed, returned to suppliers, lost (expired or damaged), adjustments, count corrections, stock loaded and stock counts.
Stock value#
Stock value is the quantity on hand times each product's price per unit in OpenBoxes, summed. Purchase order and supplier prices are not used, and no currency symbol is shown.
- If no product has a price, the tile says No prices entered. Set product prices in OpenBoxes to see a value.
- If some products have no price, a line says how many the value covers.
- It uses the same formula as the inventory value on OpenBoxes' own dashboard, except that products priced at zero or below are left out, and OpenBoxes' dashboard figure is cached, so it can lag ours.
Who sees values#
Stock value, value at risk, purchase order values and prices per unit are shown to the account owner and teammates with the Admin role. Managers, Users and Viewers see every quantity and count, with the line "Values are shown to the account owner and admins." Their CSV downloads leave the value columns out. The Stock value over time card is all value, so for them it shows no chart and has no CSV.
Only the account owner can change this: under Who sees values on the Reports page, switch on Show stock and order values to all teammates. Off (the default), only you and admins see values. On, every teammate sees them on the page and in its downloads, and in the weekly stock summary from the next Monday (outside addresses and Slack or Teams channels never get values either way). Admins cannot change this setting. A role change reaches the Reports page within about a minute. See Managing Users for roles.
Months of stock#
Months of stock is the quantity on hand divided by the average monthly issues and consumption over the 3 complete calendar months before the current month. Transfers to your other locations, returns, receipts, adjustments and losses do not count as use. A figure under one month is flagged Under 1 month. It can also read:
- Not enough history, when one of those three months is not fully covered yet. This is normal for a new account until three full months have passed.
- Only transfers to your other locations (not counted), typical of a central warehouse that supplies your other sites.
- No issues or consumption in 3 months.
It will differ from OpenBoxes' own months-on-hand figures, which are worked out from requisition demand over the last year.
Open purchase orders#
- Overdue means a shipment's expected delivery date has passed. An order with only the supplier's estimated ready date shows "Ready by" that date and is never marked overdue.
- Value not yet received is in each order's own currency; different currencies are never added together. It leaves out order adjustments such as discounts and fees, so it will not equal the order total in OpenBoxes, and it is partial when some lines have no price (the row says so).
- This is not OpenBoxes' Amount Outstanding report, which measures what has not been invoiced.
- Counts can differ from OpenBoxes' own On Order views: cancelled, rejected and completed orders are left out, and pending orders are counted as drafts.
Activity#
- Across all locations, transfers between your own locations are left out. Filter to one location to see its transfers in and out.
- Moves between bins inside a location are not shown.
- A stock count is shown as a count; any change it made is shown as a count correction.
- Opening stock loaded by a Lift import is not counted. An inventory import done inside OpenBoxes shows as Stock loaded.
- History from a Lift import is marked Includes imported history. Our importer cannot tell a transfer between your sites from an issue, so imported movements between sites count as issues.
- A movement backdated more than a week before the last check is not reflected.
Dates use your instance's timezone. OpenBoxes' stock card shows each user's own session timezone, so an entry near midnight can appear on a different day there.
History and where the data is kept#
Daily detail is kept for 90 days, then one summary a month for about 13 months. The backup retention add-on does not extend it.
The page never reads your OpenBoxes database while you look at it. Once a day we copy a summary (stock quantities, product prices, lot expiry dates, open purchase orders including supplier names and order numbers, and daily movement totals per product and location) into our platform database, and the page reads that copy. This is the same on every plan, including Dedicated and Enterprise. The copy is deleted when your account is permanently deleted, at the end of the 30-day window after closing.
The same figures in your own tools#
The Reporting API returns this page's figures to Power BI, Excel or your own code, as flat datasets in JSON or CSV, read with an API key. It is included on every plan. Stock value, prices and order amounts come through only on a key the account owner has turned on Include values for; the "Show stock and order values to all teammates" switch on this page does not affect API keys.
Get this data by email on a schedule#
The scheduled CSV export builds a zip of the report data behind this page, in more detail, every day, week or month, and emails a link to download it from the portal to each teammate who turns the email on. It is included on every plan. The Reports page links to it ("Get this report data by email on a schedule").
Coming soon#
We are building these and they are not available yet, with no date: a Looker Studio connector and a Power BI connector. See Integrations. The weekly summary of your stock alert is available today: a Monday email with the week's headline figures and a link to this page, which each person turns on for themselves (see The weekly summary). To take the figures elsewhere today, use the CSV downloads on the cards, the Reporting API, the Power Query recipe for Power BI and Excel, or upload the scheduled export's CSV files to Looker Studio.
Related#
- Reporting overview: the Reports page, the Reporting API and the scheduled CSV export on one page.
- Reporting API: the same figures for your own software, with an API key.
- Scheduled CSV export: the report data as CSV files, by email on a schedule.
- Stock alerts: a daily email about stock below minimum or nearing expiry, and the weekly summary.
