Skip to content

ADSR API overview

Shopping malls charge rent as a percentage of turnover, so every tenant must report sales daily. ADSR — Automated Daily Sales Reporting — is the LithosPOS feed that lets a mall’s reporting provider collect those numbers directly from the point of sale instead of chasing tenants for spreadsheets.

You are a reporting provider or systems integrator working for a mall operator, collecting turnover from tenants that run LithosPOS. Each tenant grants your app access to their company, and you pull one row per store per day.

If you are building something else and just want sales totals, use the Full API reports instead — same data, wider surface.

ScopeGrants
adsr.readGET /v1/reports/daily-sales
reports.readThe back-office reports, for reconciliation
stores.readThe tenant’s store list

An ADSR app cannot read the catalogue, customers or individual transactions. That narrowness is the point: a tenant can connect a landlord’s reporting provider knowing it sees turnover totals and nothing else.

Because the arithmetic is where these integrations go wrong. Gross, net, discounts, refunds and voided bills each have a specific definition in a point of sale, and a landlord’s lease almost always names one of them. The ADSR endpoint computes them server-side, from the same source the merchant’s own reports use, and returns a fixed row shape that does not change when the back office adds a column.

One row per store per day
{
"date": "2026-07-01",
"grossSales": 12345.67,
"taxAmount": 617.28,
"discountAmount": 120.00,
"refundAmount": 89.50,
"netSales": 11518.89,
"transactionCount": 214
}
  1. Create an ADSR app in your organization and test against a sandbox merchant.
  2. Submit the app for review, naming the mall operator you report for.
  3. For each tenant, LithosPOS creates a grant linking your app to that merchant, optionally restricted to specific stores.
  4. Mint a token per tenant and pull daily-sales on your schedule.

A grant can be limited to a subset of a merchant’s stores — a chain with one unit in the mall and nine elsewhere reports only the one. When it is, daily-sales returns those stores and nothing else, whether or not you pass storeId.