Returns gross profit totals across the outlets in the library.
| Time | Status | User Agent | |
|---|---|---|---|
Retrieving recent requests… | |||
Requires the Sales module or the Inventory module, and Insights Hub access for the user.
For a per-outlet breakdown, use Get Inventory Movement and Get Sales Performance.
Period boundaries
This report combines inventory figures and sales figures, which follow different period rules:
- Inventory runs per outlet from just after its opening boundary up to and including its closing boundary. A boundary is the
finishedtimestamp of the full count the outlet closed on that date (the latest, if it closed several), or thestart_datetimeorend_datetimeyou passed if it closed none. - Sales are counted in whole days, and the end day is always included in full. If an outlet closed a full count on the start date, that whole day's sales is left out: the count is treated as end-of-day, so the sales of that day belongs to the previous period.
Calendar days are resolved in local time, not UTC. When the report covers a single outlet, that outlet's timezone is used, or the library's if the outlet has none set. Otherwise the library's timezone is used. The offset you send on start_datetime does not change which day a moment falls on.
So for an outlet that counted at 14:00 on the start date, sold_stock_value leaves out only the movements booked before 14:00, while net_sales leaves out the entire day.
Signs
The response mixes two sign conventions, so adding the fields up as they are double-counts what left the outlet:
sold_stock_value,created_out_stock_value,transfers_out_value,shipped_out_stock_valueandwasted_stock_valueare negative, because that stock left the outlet.positive_variance_valueandnegative_variance_valueare both positive, even though a negative variance is a loss. Usenet_variance_valuefor the signed figure.
400A filter is missing or malformed.
403The library has neither the Sales nor the Inventory module, or the user lacks Insights Hub access.
