Sales and revenue export
Two similar tasks are solved by different methods:
| What is needed | Method | Granularity |
|---|---|---|
| Summary revenue by shop for a date | GET /v1/general-report-table |
shop × date |
| Breakdown by payment type | GET /v1/transaction-report-table |
transaction |
Summary revenue by shop
Section titled “Summary revenue by shop”curl -X GET 'https://api-admin.billz.ai/v1/general-report-table?start_date=2026-08-22&end_date=2026-08-22&shop_ids=ID1,ID2¤cy=UZS&detalization=day&limit=50&page=1' \ -H 'Authorization: Bearer TOKEN'A report row is a “shop × date” pair:
| Field | What it is |
|---|---|
date, shop_name |
date and shop |
gross_sales |
revenue |
net_gross_sales |
net revenue: gross_sales − discounts − returns |
gross_profit |
gross profit |
discount_sum, discount_percent |
discounts |
transactions_count, orders_count, returns_count, exchanges_count |
number of transactions by type |
average_cheque, average_measurement_value |
average receipt and average number of items in it |
products_sold, products_returned |
units sold and units returned |
Breakdown by payment type
Section titled “Breakdown by payment type”When the question is “how much was paid in cash and how much by card”: GET /v1/transaction-report-table;
totals: GET /v1/transaction-report-totals. The list of payment types for the filter:
GET /v1/transaction-report-payments; type names: GET /v1/company-payment-type.
A ready-made file instead of page-by-page reading
Section titled “A ready-made file instead of page-by-page reading”Both reports have a paired method that builds an .xlsx in the background and returns a link
to the ready file: POST /v1/general-report-excel — the summary report by shop,
POST /v1/transaction-report-excel — transactions. One request instead of dozens of pages;
the Billz-Response-Channel: HTTP header is mandatory here, without it there will be no link.
Parameters, the file’s columns and the full list of sixteen reports are in
report export to Excel.
Permissions
Section titled “Permissions”All the reports listed are in the list of routes available to the integration key.
The output is narrowed by the list of shops available to the token: the passed shop_ids
are intersected with the allowed ones.
Regular export
Section titled “Regular export”- The previous day is fetched in full, once: a sale can be edited or returned retroactively.
- Dates in reports are in the company’s time zone (Tashkent is UTC+5).
- A retry with exponential backoff on
429is always required.