> 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/key-features/purchase-and-sales/sales-reports.md).

# Sales Reports

<figure><img src="/files/0kwuok2mWD1lif95Sh8b" alt=""><figcaption></figcaption></figure>

***

## Key Highlights

* **Track metrics** like average sales price, sales quantity, net profit, and profit rate.
* Compare sales and purchase data to identify **trends and opportunities**.
* **Use data to identify** underperforming items and/or adjust pricing accordingly.

{% hint style="warning" %}
Sales Reports *only* include transactions recorded through the **Purchases & Sales** menus. Transactions made through regular inventory actions like **Stock In** or **Stock** **Out** *aren’t* included.
{% endhint %}

## Sales Report Tabs

BoxHero organizes sales data through two distinct tabs:

### A. Profit Analysis

Your team's profit is calculated based on completed sales order records. If you use only the <mark style="color:$primary;">`Sales`</mark> feature without recording <mark style="color:$primary;">`Purchases`</mark>, you can still view profit results in this tab.

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

Get insights into your team's profitability with these key metrics:

<table><thead><tr><th width="275"></th><th></th></tr></thead><tbody><tr><td><strong>Average Sales Price</strong></td><td>Sales amount ÷ Sales quantity</td></tr><tr><td><strong>Sales Quantity</strong></td><td>The total number of items sold.</td></tr><tr><td><strong>Sales Amount</strong></td><td>Sales quantity × Sales price<br><sub><em>* Sales price is the price listed on the sales order.</em></sub></td></tr><tr><td><strong>Return Quantity</strong></td><td>The number of items returned and added back to stock.</td></tr><tr><td><strong>Return Amount</strong></td><td>Return quantity × Refund price<br><sub><em>* Refund price is the price listed on the return order.</em></sub></td></tr><tr><td><strong>Revenue</strong></td><td>Sales amount − refund amount</td></tr><tr><td><strong>Net Profit</strong></td><td><p>Revenue − (Cost × (Sales quantity − Return quantity))</p><p><sub><em>* Cost is the purchase price listed in the item details.</em></sub></p></td></tr><tr><td><strong>Profit Margin (%)</strong></td><td>Net profit ÷ Revenue</td></tr></tbody></table>

{% hint style="warning" %}
**Notes on Profit Analysis metrics:**

* **Sales amount** includes *discounts* and *taxes*.
* If you update an item’s cost, **net profit** is recalculated based on the updated purchase price.
* Only items with sales activity during the **selected period** are shown.
* **Return quantity** is reflected in profit calculations based on the date the return was processed.
  {% endhint %}

### B. Sales Summary

Sales summary data is calculated based on *completed* purchase orders (POs) and sales orders (SOs). If you use both the <mark style="color:$primary;">`Purchases`</mark> and <mark style="color:$primary;">`Sales`</mark> features, you can view the results in this tab.

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

Evaluate your purchase and sales performance with the following metrics:

<table><thead><tr><th width="275"></th><th></th></tr></thead><tbody><tr><td><strong>Sales Quantity</strong></td><td>The total number of items sold.</td></tr><tr><td><strong>Sales Amount</strong></td><td>Sales quantity × Sales price<br><sub><em>* Sales price is the price listed on the sales order.</em></sub></td></tr><tr><td><strong>Purchase Quantity</strong></td><td>The total number of items purchased.</td></tr><tr><td><strong>Purchase Amount</strong></td><td>Purchase quantity × Cost<br><sub><em>* Cost is the price listed on the purchase order.</em></sub></td></tr><tr><td><strong>Return Quantity</strong></td><td>The number of items returned and added back to stock.</td></tr><tr><td><strong>Refund Amount</strong></td><td>Return quantity × Refund price<br><sub><em>* Refund price is the price listed on the return order.</em></sub></td></tr><tr><td><strong>Revenue</strong></td><td>Sales amount − Refund amount</td></tr><tr><td><strong>Gross Profit</strong></td><td>Revenue − Purchase amount</td></tr></tbody></table>

{% hint style="success" %}
Select <mark style="color:$primary;">`View by Partner`</mark> to see sales by specific **customers** **and** **suppliers** for the selected period.
{% endhint %}

***

## Currency and Exchange Rates

<mark style="color:$primary;">`Sales Reports`</mark> always display amounts in your team's current [display currency](/docs/settings/team.md#currency), converting from each order's currency using the latest exchange rate.

The rate applied appears in the <mark style="color:$primary;">`Exchange Rates`</mark> indicator at the top of the report, labeled with the date and time it was retrieved (for example, "As of Jun 1, 2026 1:00 PM").

* If an order's currency matches your display currency, no conversion is applied.
* If an order's currency differs, its amounts are converted, so figures in the report may not match the raw amounts shown on the order itself.

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

{% hint style="info" %}
To keep a *fixed* record, export the report to Excel, which captures the values at the time of export.
{% endhint %}

If an item's amount looks far higher or lower than expected, it's usually a **currency mismatch**, not a pricing error. Open the order and confirm it was created in the correct currency.&#x20;

<figure><img src="/files/tfrCPjcYT7XzAbssMb94" alt=""><figcaption><p>For example, if your display currency is USD and an order was accidentally created in EUR, <br>its amounts get multiplied by the EUR → USD rate. </p></figcaption></figure>
