Get the sales summary
Totals your completed payments and refunds per currency: subtotal, shipping, tax and total. Send currency to get one total with every currency converted into it.
With no dates, the report covers yesterday in the report time zone. A date_end later than today is cut back to the end of today, and a date_start later than today is refused. The range is read against the date each transaction completed.
Amounts are in the settlement currency by default, or the payment currency with currency_type=payment. With currency, each row is converted at the wholesale rate less 3 percent (no change when it is already in that currency). Needs a secret or trusted token with permission to read reports.
AuthorizationBearer <token>A secret, trusted or limited token. See Authentication.
date_start?stringOnly items on or after this date. Send ISO 8601 (2026-11-01T00:00:00Z or 2026-11-01T00:00:00-05:00) or a shorthand: 2026 means the start of 2026, 2026-11 the start of November, 2026-11-01 the start of that day. A date with no offset is read in timezone, or in the account's time zone when you send none. It must not be after date_end (400).
date_end?stringOnly items on or before this date. Same formats as date_start, but a shorthand means the end of the period: 2026-11 is the last instant of November, 2026-11-30 the last instant of that day. A date with no offset is read in timezone, or in the account's time zone when you send none.
timezone?stringAn IANA time zone name, such as America/New_York or UTC. It sets how date_start and date_end are read and the time zone of every date in the response. The default is the account's time zone (Settings, Technical), or UTC when it has none. A name that is not known is a 400.
sort_by?stringHow to order the rows. Any other value orders by total.
"total""total""currency"desc?booleanSort in descending order (newest, largest or last first) when true. The default is false. A value other than true or false is a 400.
falseformatted?booleanWhen true, the object also has a formatted child with amounts and dates as display text in the shopper's language and currency (for example $19.99 or November 7, 2026). The default is false. See Localized formatting.
falsetype?stringWhich transactions to count: payments, refunds (as negative amounts) or combined (payments net of refunds).
"combined""payments""refunds""combined"currency_type?stringTotal the currency the customer paid in (payment) or the currency the money settled in (settlement).
"settlement""payment""settlement"account_model?stringOnly count transactions made while your account had this model. Leave it out to count both.
"reseller""agent"currency?stringA three-letter currency code (any currency Comecero supports). Every row is converted into it and added into one row.
The sales summary.
application/json- response
Sales in a date range totalled per currency, or as one total converted into the currency you ask for.
object?"report.sales_summary"The object type. Always report.sales_summary.
"report.sales_summary"url?stringThe URL that returns this report again, with the dates, filters and time zone it used.
uriaccount_id?|The account the report is for.
date_created?stringWhen the report was run, in the report time zone.
date-timedate_start?|The start of the range the report covers, in the report time zone.
date-timedate_end?|The end of the range the report covers, in the report time zone.
date-timetimezone?stringThe time zone used to read the dates.
test?booleanTrue when the report covers test mode data.
type?|Not filled in by core. Always null, even when you send type.
data?array<>One row per currency. When you send currency, one row with every currency converted into it.
formatted?The report dates as display text in the shopper's language. Only present when formatted=true.
curl -X GET 'https://api.comecero.com/api/v1/reports/sales_summary'{ "object": "report.sales_summary", "url": "https://api.comecero.com/api/v1/reports/sales_summary?date_start=2026-11-01T00:00:00&date_end=2026-11-06T23:59:59&timezone=UTC", "account_id": "AB1234", "date_created": "2026-11-07T14:12:44Z", "date_start": "2026-11-01T00:00:00Z", "date_end": "2026-11-06T23:59:59Z", "timezone": "UTC", "test": true, "type": null, "data": [ { "currency": "USD", "subtotal": 249.9, "shipping": 0, "tax": 10.25, "total": 260.15 }, { "currency": "EUR", "subtotal": 84, "shipping": 0, "tax": 15.96, "total": 99.96 } ]}Get the sales report GET
Totals your sales for a date range: subtotal, shipping, tax, total, transaction count and item count, with sum, average, min, max and median. Set `group_by` to get one row per hour, day, month or year. With no dates, the report covers yesterday in the report time zone. A `date_end` later than today is cut back to the end of today, and a `date_start` later than today is refused. The longest range is 31 days by hour, 2 years by day, 5 years by month and 10 years by year. The time zone is your account's, or the one you send in `timezone`. All amounts are in your primary reporting currency, or your secondary one when you send it in `currency`. Needs a secret or trusted token with permission to read reports.
Get the tax report GET
Totals your taxed sales per currency, tax country and state or province: subtotal, shipping, tax, total and total less tax. Only payments and refunds with tax above zero are counted, so use it for tax returns, not for total sales. With no dates, the report covers last month in the report time zone. A `date_end` later than today is cut back to the end of today, and a `date_start` later than today is refused. The range is read against the date each transaction completed. Amounts are in the payment currency, or the settlement currency with `currency_type=settlement`. They are never converted. Needs a secret or trusted token with permission to read reports.