> For the complete documentation index, see [llms.txt](https://www.boxhero.io/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://www.boxhero.io/docs/other-features/analytics.md).

# Inventory Reports

<figure><img src="/files/Lyr6cDKXKa6iYtez1gIu" alt=""><figcaption></figcaption></figure>

***

## Inventory Reports Overview

In the sidebar, go to <mark style="color:$primary;">`Reports`</mark> > <mark style="color:$primary;">`Inventory`</mark>.

You can adjust formula settings to analyze your inventory data, filter results by location or date range, and export reports to Excel for recordkeeping and analysis.

<figure><img src="/files/Yppj42qKHZVnLHRrDcq1" alt=""><figcaption></figcaption></figure>

{% hint style="warning" %}
**Inventory reports use each item's&#x20;*****current*****&#x20;cost and price**, not the values at the time of the transaction. If you change an item's price, past reports will recalculate using the new price. For point-in-time accuracy, use <mark style="color:blue;">`Purchases & Sales`</mark> or export regularly.
{% endhint %}

## Add Formula

To add a formula, click <mark style="color:$primary;">`Formula Settings`</mark> > <mark style="color:$primary;">`Add Formula`</mark>. You'll have two options:

* **Quick Add** — pick from ready-made formulas for common metrics like profit, turnover, and reorder status. No setup required.
* **Custom Formula** — build your own from BoxHero's variables and functions. Use it for metrics we don't offer, or to combine your own item attributes with inventory data.

<figure><img src="/files/Ffrep5HuO082yDYySSeF" alt=""><figcaption></figcaption></figure>

### A. Quick Add

Add a ready-made formula and start reporting immediately.

<figure><img src="/files/srQ4tZLVigXWKyCowZ8L" alt=""><figcaption></figcaption></figure>

#### Item Attributes

You can use [attributes](/docs/concepts/attributes.md) with numerical values to create formulas.

#### Sales & Profit

* **Total Cost**: Cost x Total Stock In Qty
* **Total Revenue**: Price x Total Stock Out Qty
* **Net Profit**: Price - Cost
* **Gross Profit**: (Price - Cost) x Total Stock Out Qty
  * *Total profit from everything sold in the selected period.*
* **Profit Margin (%)**: (Price - Cost) ÷ Price
  * *What share of the price is profit.*
* **Avg. Daily Revenue**: (Price x Total Stock Out Qty) ÷ Number of Days
* **Avg. Daily Gross Profit**: (Price - Cost) x Total Stock Out Qty ÷ Number of Days

#### **Inventory & Movement**

* **Inventory Value**: Cost x Current Quantity
* **Inventory Turnover**: Total Stock Out Qty ÷ Average Quantity
  * *How many times you sold through your average stock. Higher means faster-moving inventory.*
* **Avg. Daily Stock In**: Total Stock In Qty ÷ Number of Days
* **Avg. Daily Stock Out**: Total Stock Out Qty ÷ Number of Days
* **Reorder Status**: if(Current Qty < Safety Stock, "Reorder Needed", "-")
* **Days of Stock Remaining**: Current Qty ÷ (Total Stock Out Qty ÷ Number of Days)
  * *At the current rate, how long until you run out. Use it to time reorders.*

### B. Custom Formula

Build your own formula from BoxHero's variables and functions.

<figure><img src="/files/HaoqDmtsZswt83DmDnzP" alt=""><figcaption></figcaption></figure>

#### Autocomplete Variables

Enter `$` to access inventory variables and `{{` to retrieve saved attributes/values.

<figure><img src="/files/MG9JqDiSzsVQySqMX8lt" alt=""><figcaption></figcaption></figure>

<table data-search="false"><thead><tr><th width="209">Variable Name</th><th>Description</th></tr></thead><tbody><tr><td><strong>Current Quantity</strong></td><td>The current inventory level of an item.</td></tr><tr><td><strong>Number of Days</strong></td><td>The number of days in the selected period.</td></tr><tr><td><strong>Average Quantity</strong></td><td>Average inventory during the selected period, calculated using the inventory quantity at 23:59:59 each day.</td></tr><tr><td><strong>Starting Quantity</strong></td><td>Inventory at the start of the selected period (23:59:59 on the <em>day before</em> the start date).</td></tr><tr><td><strong>Ending Quantity</strong></td><td>Inventory at the end of the selected period (23:59:59 on the <em>last day</em> of the period).</td></tr><tr><td><strong>Total Stock In Qty</strong></td><td>Total inbound quantity.</td></tr><tr><td><strong>Stock In Count</strong></td><td>The number of <strong>Stock</strong> <strong>In</strong> transactions during the selected period.</td></tr><tr><td><strong>Total Stock Out Qty</strong></td><td>Total outbound quantity.</td></tr><tr><td><strong>Stock Out Count</strong></td><td>The number of <strong>Stock</strong> <strong>Out</strong> transactions during the selected period.</td></tr><tr><td><strong>Weighted Avg. Stock Out (Linear 2, 3, 4)</strong></td><td><p>Average daily stock out, weighted so recent days count more. Each day in the selected period gets a weight that increases linearly, with the oldest day always weighted 1. The number sets the weight of the most recent day — 2, 3, or 4 — so a higher number makes the average more responsive to recent activity.</p><p></p><ul><li><strong>Linear 2</strong>: Oldest day has weight 1, most recent day has weight 2</li><li><strong>Linear 3</strong>: Oldest day has weight 1, most recent day has weight 3</li><li><strong>Linear 4</strong>: Oldest day has weight 1, most recent day has weight 4</li></ul></td></tr><tr><td><strong>Adjust Qty (Increase)</strong></td><td>Quantity added by <strong>Adjust Stock</strong> transactions.</td></tr><tr><td><strong>Adjust Qty (Decrease)</strong></td><td>Quantity removed by <strong>Adjust Stock</strong> transactions.</td></tr><tr><td><strong>Adjust Qty (Net)</strong></td><td>Adjust Qty (Increase) − Adjust Qty (Decrease).</td></tr><tr><td><strong>Adjust Count</strong></td><td>The number of times an <strong>Adjust</strong> transaction was made during a specific period.</td></tr><tr><td><strong>Move Qty (In)</strong></td><td>Quantity moved <em>into</em> the selected location(s) by <strong>Move Stock</strong> transactions.</td></tr><tr><td><strong>Move Qty (Out)</strong></td><td>Quantity moved <em>out of</em> the selected location(s) by <strong>Move Stock</strong> transactions.</td></tr><tr><td><strong>Move Qty (Net)</strong></td><td>Move Qty (In) − Move Qty (Out).</td></tr><tr><td><strong>Move Count (In)</strong></td><td>The number of <strong>Move Stock</strong> transactions that increased inventory at the selected location(s).</td></tr><tr><td><strong>Move Count (Out)</strong></td><td>The number of <strong>Move Stock</strong> transactions that decreased inventory at the selected location(s).</td></tr></tbody></table>

#### Available Functions

BoxHero supports a variety of functions, similar to their Excel equivalents.

<figure><img src="/files/V7O7SjRxJOKCnI9HT9ID" alt=""><figcaption></figcaption></figure>

* **Basic arithmetic:** `+`, `-`, `*`, `/`
* **Conditional**: `if(condition, value if true, value if false)`
  * Evaluates a condition and returns one value if it's true, another if it's false.
* **Rounding:**
  * **round**: `round(number, digit)`
  * **roundUp**: `roundUp(number, digit)`
  * **roundDown**: `roundDown(number, digit)`
* **Type Conversion:**
  * **toNumber**: `toNumber(string, fallback value)`
    * Converts text to a number, returning the fallback if conversion fails.
  * **toString**: `toString(number)`
    * Converts a number to text.

<figure><img src="/files/wxHWdgngF2Gm6WvignHf" alt=""><figcaption></figcaption></figure>

{% hint style="success" %}
**Need something else?** <mark style="color:$primary;">`Custom Analytics`</mark> lets you query your inventory data directly with SQL. Use it for questions that don't fit a per-item formula.
{% endhint %}

***

## Frequently Asked Questions

**Looking for more info?** Browse our FAQ:

{% content-ref url="/spaces/mkYNU2xLl20GSI6NQQ6q/pages/HABeINmjzAqEWNjoxMLv" %}
[Inventory reports](/docs/faq/reporting/inventory-reports.md)
{% endcontent-ref %}
