For the complete documentation index, see llms.txt. This page is also available as Markdown.

Reports

Reports

List all reports

get
/tenants/{tenantUid}/organizations/{organizationUid}/reports

List all reports for an organization

Authorizations
AuthorizationstringRequired

Access token recevied after user login with a deviceToken

Path parameters
tenantUidstringRequired

Reference to a tenant.

Pattern: ^[A-Za-z0-9-_]+
organizationUidstringRequired

Reference to an organization.

Pattern: ^[A-Za-z0-9-_]+
Query parameters
pageNumberintegerOptional

Reference to a specific page in a result set.

pageSizeintegerOptional

The number of items per page in a result set.

sortBystringOptional

Defines which field the resource list is sorted by.

sortDirectionstring · enumOptional
ENUMDescription
ASCSort in ascending order
DESCSort in descending order
Possible values:
Responses
200

List of available reports

application/json
get/tenants/{tenantUid}/organizations/{organizationUid}/reports
GET /v2/tenants/{tenantUid}/organizations/{organizationUid}/reports HTTP/1.1
Host: api.flowretail.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
200

List of available reports

{
  "items": [
    {
      "reportUid": "text",
      "request": {
        "fromDate": "2026-01-01",
        "toDate": "2026-01-01",
        "storeUids": [
          "text"
        ],
        "reportUid": "text"
      },
      "state": "ABORTED",
      "type": "SAFT",
      "createdAt": "2026-01-01T00:00:00.000Z",
      "createdBy": "text",
      "lastModifiedAt": "2026-01-01T00:00:00.000Z",
      "lastModifiedBy": "text",
      "sendNotificationTo": "text",
      "notificationSentAt": "2026-01-01T00:00:00.000Z",
      "progress": "text",
      "filename": "text",
      "filesize": 1
    }
  ],
  "paging": {
    "pageNumber": 1,
    "pageSize": 1,
    "totalCount": 1
  }
}

Get report details

get
/tenants/{tenantUid}/organizations/{organizationUid}/reports/{reportUid}

Get report details

Authorizations
AuthorizationstringRequired

Token received from the auth service

Path parameters
tenantUidstringRequired

Reference to a tenant.

Pattern: ^[A-Za-z0-9-_]+
organizationUidstringRequired

Reference to an organization.

Pattern: ^[A-Za-z0-9-_]+
reportUidstringRequired

Reference to a report.

Pattern: ^[A-Za-z0-9-_]+
Responses
200

Report details

application/json
reportUidstringRequiredPattern: ^[A-Za-z0-9-_]+
requestany ofRequired

The request response depends on the what type of report it is

or
or
or
statestring · enumRequiredPossible values:
typestring · enumRequired

Available reports are:

ENUMDescription
SAFTSAFT reports
SalesPrStoreSales per store
StoreWarehouseDetailsMonthly warehouse details
WarehouseStockDetailsDetails list of all stock on the current warehouse
ART_FEEArt fee report
ART_PROVISIONArtists' provision report
OPEN_ITEMSList of outstanding receivables
SOLD_NOT_DELIVEREDProducts sold not delivered
Possible values:
createdAtstring · date-timeRequired
createdBystringRequired
lastModifiedAtstring · date-timeRequired
lastModifiedBystringRequired
sendNotificationTostringRequired
notificationSentAtstring · date-timeOptional
progressstringRequired
filenamestringRequired
filesizeintegerRequired
get/tenants/{tenantUid}/organizations/{organizationUid}/reports/{reportUid}
GET /v2/tenants/{tenantUid}/organizations/{organizationUid}/reports/{reportUid} HTTP/1.1
Host: api.flowretail.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
200

Report details

{
  "reportUid": "text",
  "request": {
    "fromDate": "2026-01-01",
    "toDate": "2026-01-01",
    "storeUids": [
      "text"
    ],
    "reportUid": "text"
  },
  "state": "ABORTED",
  "type": "SAFT",
  "createdAt": "2026-01-01T00:00:00.000Z",
  "createdBy": "text",
  "lastModifiedAt": "2026-01-01T00:00:00.000Z",
  "lastModifiedBy": "text",
  "sendNotificationTo": "text",
  "notificationSentAt": "2026-01-01T00:00:00.000Z",
  "progress": "text",
  "filename": "text",
  "filesize": 1
}

Abort report generation

post
/tenants/{tenantUid}/organizations/{organizationUid}/reports/{reportUid}

Abort report generation

Required permissions: REPORT_ADMIN

Authorizations
AuthorizationstringRequired

Token received from the auth service

Path parameters
tenantUidstringRequired

Reference to a tenant.

Pattern: ^[A-Za-z0-9-_]+
organizationUidstringRequired

Reference to an organization.

Pattern: ^[A-Za-z0-9-_]+
reportUidstringRequired

Reference to a report.

Pattern: ^[A-Za-z0-9-_]+
Body
actionstring · enumRequired
ENUMDescription
ABORTAbort running job
Possible values:
Responses
200

Report details

application/json
reportUidstringRequiredPattern: ^[A-Za-z0-9-_]+
requestany ofRequired

The request response depends on the what type of report it is

or
or
or
statestring · enumRequiredPossible values:
typestring · enumRequired

Available reports are:

ENUMDescription
SAFTSAFT reports
SalesPrStoreSales per store
StoreWarehouseDetailsMonthly warehouse details
WarehouseStockDetailsDetails list of all stock on the current warehouse
ART_FEEArt fee report
ART_PROVISIONArtists' provision report
OPEN_ITEMSList of outstanding receivables
SOLD_NOT_DELIVEREDProducts sold not delivered
Possible values:
createdAtstring · date-timeRequired
createdBystringRequired
lastModifiedAtstring · date-timeRequired
lastModifiedBystringRequired
sendNotificationTostringRequired
notificationSentAtstring · date-timeOptional
progressstringRequired
filenamestringRequired
filesizeintegerRequired
post/tenants/{tenantUid}/organizations/{organizationUid}/reports/{reportUid}
POST /v2/tenants/{tenantUid}/organizations/{organizationUid}/reports/{reportUid} HTTP/1.1
Host: api.flowretail.com
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 18

{
  "action": "ABORT"
}
200

Report details

{
  "reportUid": "text",
  "request": {
    "fromDate": "2026-01-01",
    "toDate": "2026-01-01",
    "storeUids": [
      "text"
    ],
    "reportUid": "text"
  },
  "state": "ABORTED",
  "type": "SAFT",
  "createdAt": "2026-01-01T00:00:00.000Z",
  "createdBy": "text",
  "lastModifiedAt": "2026-01-01T00:00:00.000Z",
  "lastModifiedBy": "text",
  "sendNotificationTo": "text",
  "notificationSentAt": "2026-01-01T00:00:00.000Z",
  "progress": "text",
  "filename": "text",
  "filesize": 1
}

Delete a generated report

delete
/tenants/{tenantUid}/organizations/{organizationUid}/reports/{reportUid}

Deletes a generated report

Required permissions: REPORT_ADMIN

Authorizations
AuthorizationstringRequired

Access token recevied after user login with a deviceToken

Path parameters
tenantUidstringRequired

Reference to a tenant.

Pattern: ^[A-Za-z0-9-_]+
organizationUidstringRequired

Reference to an organization.

Pattern: ^[A-Za-z0-9-_]+
reportUidstringRequired

Reference to a report.

Pattern: ^[A-Za-z0-9-_]+
Responses
204

No Content

No content

delete/tenants/{tenantUid}/organizations/{organizationUid}/reports/{reportUid}
DELETE /v2/tenants/{tenantUid}/organizations/{organizationUid}/reports/{reportUid} HTTP/1.1
Host: api.flowretail.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*

No content

Download report content

get
/tenants/{tenantUid}/organizations/{organizationUid}/reports/{reportUid}/download

Download report content

Authorizations
AuthorizationstringRequired

Token received from the auth service

Path parameters
tenantUidstringRequired

Reference to a tenant.

Pattern: ^[A-Za-z0-9-_]+
organizationUidstringRequired

Reference to an organization.

Pattern: ^[A-Za-z0-9-_]+
reportUidstringRequired

Reference to a report.

Pattern: ^[A-Za-z0-9-_]+
Responses
200

Based on the Accept header the response will be base64 json encoded or a raw file. application/octet-stream will return a binary file application/json will return a json with the file content base64 encoded.

contentstringRequired

base64 encoded

contentTypestringRequired

mime type

filenamestringRequired
get/tenants/{tenantUid}/organizations/{organizationUid}/reports/{reportUid}/download
GET /v2/tenants/{tenantUid}/organizations/{organizationUid}/reports/{reportUid}/download HTTP/1.1
Host: api.flowretail.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
  "content": "text",
  "contentType": "text",
  "filename": "text"
}

Start WarehouseStockDetails report

post
/tenants/{tenantUid}/organizations/{organizationUid}/reports/warehouse-stock-details

Start report generation of WarehouseStockDetails

Required permissions: REPORT_ADMIN

Authorizations
AuthorizationstringRequired

Token received from the auth service

Path parameters
tenantUidstringRequired

Reference to a tenant.

Pattern: ^[A-Za-z0-9-_]+
organizationUidstringRequired

Reference to an organization.

Pattern: ^[A-Za-z0-9-_]+
Body
warehouseUidstringOptionalPattern: ^[A-Za-z0-9-_]+
warehouseUidsstring[]Optional
brandUidsstring[]Optional
productGroupUidsstring[]Optional
reportUidstringOptionalPattern: ^[A-Za-z0-9-_]+
Responses
201

Report details

application/json
reportUidstringRequiredPattern: ^[A-Za-z0-9-_]+
requestany ofRequired

The request response depends on the what type of report it is

or
or
or
statestring · enumRequiredPossible values:
typestring · enumRequired

Available reports are:

ENUMDescription
SAFTSAFT reports
SalesPrStoreSales per store
StoreWarehouseDetailsMonthly warehouse details
WarehouseStockDetailsDetails list of all stock on the current warehouse
ART_FEEArt fee report
ART_PROVISIONArtists' provision report
OPEN_ITEMSList of outstanding receivables
SOLD_NOT_DELIVEREDProducts sold not delivered
Possible values:
createdAtstring · date-timeRequired
createdBystringRequired
lastModifiedAtstring · date-timeRequired
lastModifiedBystringRequired
sendNotificationTostringRequired
notificationSentAtstring · date-timeOptional
progressstringRequired
filenamestringRequired
filesizeintegerRequired
post/tenants/{tenantUid}/organizations/{organizationUid}/reports/warehouse-stock-details
POST /v2/tenants/{tenantUid}/organizations/{organizationUid}/reports/warehouse-stock-details HTTP/1.1
Host: api.flowretail.com
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 116

{
  "warehouseUid": "text",
  "warehouseUids": [
    "text"
  ],
  "brandUids": [
    "text"
  ],
  "productGroupUids": [
    "text"
  ],
  "reportUid": "text"
}
201

Report details

{
  "reportUid": "text",
  "request": {
    "fromDate": "2026-01-01",
    "toDate": "2026-01-01",
    "storeUids": [
      "text"
    ],
    "reportUid": "text"
  },
  "state": "ABORTED",
  "type": "SAFT",
  "createdAt": "2026-01-01T00:00:00.000Z",
  "createdBy": "text",
  "lastModifiedAt": "2026-01-01T00:00:00.000Z",
  "lastModifiedBy": "text",
  "sendNotificationTo": "text",
  "notificationSentAt": "2026-01-01T00:00:00.000Z",
  "progress": "text",
  "filename": "text",
  "filesize": 1
}

Start SAF-T report generation

post
/tenants/{tenantUid}/organizations/{organizationUid}/reports/saf-t

Start SAF-T report generation for a set period. It is also possible to only run it for a specific set of stores.

Required permissions: REPORT_ADMIN

Authorizations
AuthorizationstringRequired

Token received from the auth service

Path parameters
tenantUidstringRequired

Reference to a tenant.

Pattern: ^[A-Za-z0-9-_]+
organizationUidstringRequired

Reference to an organization.

Pattern: ^[A-Za-z0-9-_]+
Body
fromDatestring · dateRequired
toDatestring · dateRequired
storeUidsstring[]Optional
reportUidstringOptionalPattern: ^[A-Za-z0-9-_]+
Responses
201

Report details

application/json
reportUidstringRequiredPattern: ^[A-Za-z0-9-_]+
requestany ofRequired

The request response depends on the what type of report it is

or
or
or
statestring · enumRequiredPossible values:
typestring · enumRequired

Available reports are:

ENUMDescription
SAFTSAFT reports
SalesPrStoreSales per store
StoreWarehouseDetailsMonthly warehouse details
WarehouseStockDetailsDetails list of all stock on the current warehouse
ART_FEEArt fee report
ART_PROVISIONArtists' provision report
OPEN_ITEMSList of outstanding receivables
SOLD_NOT_DELIVEREDProducts sold not delivered
Possible values:
createdAtstring · date-timeRequired
createdBystringRequired
lastModifiedAtstring · date-timeRequired
lastModifiedBystringRequired
sendNotificationTostringRequired
notificationSentAtstring · date-timeOptional
progressstringRequired
filenamestringRequired
filesizeintegerRequired
post/tenants/{tenantUid}/organizations/{organizationUid}/reports/saf-t
POST /v2/tenants/{tenantUid}/organizations/{organizationUid}/reports/saf-t HTTP/1.1
Host: api.flowretail.com
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 87

{
  "fromDate": "2026-01-01",
  "toDate": "2026-01-01",
  "storeUids": [
    "text"
  ],
  "reportUid": "text"
}
201

Report details

{
  "reportUid": "text",
  "request": {
    "fromDate": "2026-01-01",
    "toDate": "2026-01-01",
    "storeUids": [
      "text"
    ],
    "reportUid": "text"
  },
  "state": "ABORTED",
  "type": "SAFT",
  "createdAt": "2026-01-01T00:00:00.000Z",
  "createdBy": "text",
  "lastModifiedAt": "2026-01-01T00:00:00.000Z",
  "lastModifiedBy": "text",
  "sendNotificationTo": "text",
  "notificationSentAt": "2026-01-01T00:00:00.000Z",
  "progress": "text",
  "filename": "text",
  "filesize": 1
}

Get Open Items report

post
/tenants/{tenantUid}/organizations/{organizationUid}/reports/open-items

Make an ad hoc Open Items report (this is not stored). Optionally filter on stores. The report is in XLSX spreadsheet format.

Required permissions: REPORT_ADMIN

Authorizations
AuthorizationstringRequired

Token received from the auth service

Path parameters
tenantUidstringRequired

Reference to a tenant.

Pattern: ^[A-Za-z0-9-_]+
organizationUidstringRequired

Reference to an organization.

Pattern: ^[A-Za-z0-9-_]+
Body
storeUidsstring[]Optional
Responses
201

Example response

post/tenants/{tenantUid}/organizations/{organizationUid}/reports/open-items
POST /v2/tenants/{tenantUid}/organizations/{organizationUid}/reports/open-items HTTP/1.1
Host: api.flowretail.com
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 22

{
  "storeUids": [
    "text"
  ]
}
201

Example response

{
  "items": [
    {
      "store": {
        "storeUid": "text",
        "name": "text",
        "vatNumber": "text"
      },
      "customer": {
        "customerUid": "text",
        "displayName": "text",
        "ledgerNumber": "text"
      },
      "orderUid": "text",
      "orderNumber": "text",
      "voucherNumber": "text",
      "settlementUid": "text",
      "settlementCode": "text",
      "settledAt": "2026-01-01T00:00:00.000Z",
      "amount": 1,
      "dueDate": "2026-01-01",
      "dueAmount": 1
    }
  ]
}

Accounting report for stores, json format

post
/tenants/{tenantUid}/reports/accounting

Get accounting report for a storeUid and a period. Response is a json structured data of accounting

Required permissions: REPORTING

Authorizations
AuthorizationstringRequired

Access token recevied after user login with a deviceToken

Path parameters
tenantUidstringRequired

Reference to a tenant.

Pattern: ^[A-Za-z0-9-_]+
Body
fromDatestring · date · min: 10Required
toDatestring · date · min: 10Required
organizationUidstringRequiredPattern: ^[A-Za-z0-9-_]*
storeUidsstring[]Optional

List of storeUids to include in report.

Responses
200

Response for Accounting report.

application/json
printDatestringRequired
tenantNamestringRequired
organizationNamestringRequired
storeNamesstring[]Required
post/tenants/{tenantUid}/reports/accounting
POST /v2/tenants/{tenantUid}/reports/accounting HTTP/1.1
Host: api.flowretail.com
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 93

{
  "fromDate": "2026-01-01",
  "toDate": "2026-01-01",
  "organizationUid": "text",
  "storeUids": [
    "text"
  ]
}
200

Response for Accounting report.

{
  "asset": [
    {
      "account": "text",
      "creditAmount": 1,
      "date": "text",
      "debetAmount": 1,
      "text": "text",
      "vatCode": "text"
    }
  ],
  "credit": [
    {
      "account": "text",
      "creditAmount": 1,
      "date": "text",
      "debetAmount": 1,
      "text": "text",
      "vatCode": "text"
    }
  ],
  "debet": [
    {
      "account": "text",
      "creditAmount": 1,
      "date": "text",
      "debetAmount": 1,
      "text": "text",
      "vatCode": "text"
    }
  ],
  "header": {
    "fromDate": "text",
    "storeUid": "text",
    "toDate": "text"
  },
  "ledger": [
    {
      "account": "text",
      "creditAmount": 1,
      "date": "text",
      "debetAmount": 1,
      "text": "text",
      "vatCode": "text"
    }
  ],
  "printDate": "text",
  "tenantName": "text",
  "organizationName": "text",
  "storeNames": [
    "text"
  ],
  "totals": {
    "totalAsset": 1,
    "totalCredit": 1,
    "totalCreditAndAsset": 1,
    "totalDebet": 1,
    "totalLedger": 1
  }
}

Accounting report file for stores

post
/tenants/{tenantUid}/reports/accounting/download

Get an accounting report for a store UID and a time period. Depending on the header you set, the response is either a json containing a base 64 encoded pdf or a direct download. The file is base64 encoded. You can set choose among the supported file types, default is PDF.

Required permissions: REPORTING

Authorizations
AuthorizationstringRequired

Access token recevied after user login with a deviceToken

Path parameters
tenantUidstringRequired

Reference to a tenant.

Pattern: ^[A-Za-z0-9-_]+
Body
fromDatestring · date · min: 10Required
toDatestring · date · min: 10Required
organizationUidstringRequiredPattern: ^[A-Za-z0-9-_]*
storeUidsstring[]Optional

List of storeUids to include in report.

reportFormatstring · enumOptional

Supported report formats

Possible values:
Responses
200

Based on the Accept header the response will be base64 json encoded or a raw file. application/octet-stream will return a binary file application/json will return a json with the file content base64 encoded.

contentstringRequired

base64 encoded

contentTypestringRequired

mime type

filenamestringRequired
post/tenants/{tenantUid}/reports/accounting/download
POST /v2/tenants/{tenantUid}/reports/accounting/download HTTP/1.1
Host: api.flowretail.com
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 114

{
  "fromDate": "2026-01-01",
  "toDate": "2026-01-01",
  "organizationUid": "text",
  "storeUids": [
    "text"
  ],
  "reportFormat": "PDF"
}
200

Based on the Accept header the response will be base64 json encoded or a raw file. application/octet-stream will return a binary file application/json will return a json with the file content base64 encoded.

{
  "content": "text",
  "contentType": "text",
  "filename": "text"
}

Turnover report for products

post
/tenants/{tenantUid}/reports/products

Get products turnover report for a time period, optionally filtered on a list of product group and UIDs. The report generates sums of sold products and total values.

Required permissions: REPORTING

Authorizations
AuthorizationstringRequired

Access token recevied after user login with a deviceToken

Path parameters
tenantUidstringRequired

Reference to a tenant.

Pattern: ^[A-Za-z0-9-_]+
Body
brandUidsstring[]Optional

Array of brandUids

fromDateTimestring · date-time · min: 10Required
productGroupUidsstring[]Optional

Array of productGroup ids

storeUidsstring[]Required

Array of storeUids

toDateTimestring · date-time · min: 10Required
groupByUserCodebooleanOptional

if true, the excel report returns a response with order items grouped by userCode

tenantUserUidstringOptionalPattern: ^[A-Za-z0-9-_]*
Responses
200

Response for Product turnover report.

post/tenants/{tenantUid}/reports/products
POST /v2/tenants/{tenantUid}/reports/products HTTP/1.1
Host: api.flowretail.com
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 199

{
  "brandUids": [
    "text"
  ],
  "fromDateTime": "2026-01-01T00:00:00.000Z",
  "productGroupUids": [
    "text"
  ],
  "storeUids": [
    "text"
  ],
  "toDateTime": "2026-01-01T00:00:00.000Z",
  "groupByUserCode": true,
  "tenantUserUid": "text"
}
200

Response for Product turnover report.

{
  "items": [
    {
      "costAmount": 1,
      "count": 1,
      "discountAmount": 1,
      "name": "text",
      "revenueAmount": 1,
      "revenuePercent": 1,
      "storeUid": "text",
      "turnoverAmount": 1,
      "brandUid": "text",
      "brandName": "text",
      "productGroupUid": "text",
      "productGroupName": "text",
      "productUid": "text",
      "sku": "text",
      "lastSettledAt": "2026-01-01T00:00:00.000Z"
    }
  ]
}

Turnover report for stores

post
/tenants/{tenantUid}/reports/turnover/stores

Get turnover data grouped by store.

If tenant user UID is specified, the turnover data will only contain the numbers for that specific user.

Required permissions: 'REPORTING, SALES_ORDER, RETURN_ORDER'

Authorizations
AuthorizationstringRequired

Access token recevied after user login with a deviceToken

Path parameters
tenantUidstringRequired

Reference to a tenant.

Pattern: ^[A-Za-z0-9-_]+
Body

Turnover Request Body

fromDateTimestring · date-time · min: 20Required
toDateTimestring · date-time · min: 20Required
tenantUserUidstringOptionalPattern: ^[A-Za-z0-9-_]+
storeUidsstring[]Optional
Responses
200

Turnover response

application/json
post/tenants/{tenantUid}/reports/turnover/stores
POST /v2/tenants/{tenantUid}/reports/turnover/stores HTTP/1.1
Host: api.flowretail.com
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 127

{
  "fromDateTime": "2026-01-01T00:00:00.000Z",
  "toDateTime": "2026-01-01T00:00:00.000Z",
  "tenantUserUid": "text",
  "storeUids": [
    "text"
  ]
}
200

Turnover response

{
  "dates": [
    {
      "costAmount": 1,
      "count": 1,
      "date": "text",
      "discountAmount": 1,
      "revenueAmount": 1,
      "revenuePercent": 1,
      "turnoverAmount": 1
    }
  ],
  "stores": [
    {
      "costAmount": 1,
      "count": 1,
      "discountAmount": 1,
      "name": "text",
      "revenueAmount": 1,
      "revenuePercent": 1,
      "storeUid": "text",
      "turnoverAmount": 1
    }
  ],
  "total": {
    "costAmount": 1,
    "count": 1,
    "discountAmount": 1,
    "revenueAmount": 1,
    "revenuePercent": 1,
    "turnoverAmount": 1,
    "orderCount": 1
  }
}

Receipts report for stores

post
/tenants/{tenantUid}/reports/receipts

Generate a report of all receipts in a given period.

Required permissions: REPORTING

Authorizations
AuthorizationstringRequired

Access token recevied after user login with a deviceToken

Path parameters
tenantUidstringRequired

Reference to a tenant.

Pattern: ^[A-Za-z0-9-_]+
Body
storeUidsstring[]Optional
Responses
200

The response will be a Excel file.

application/octet-stream
string · binaryOptional
post/tenants/{tenantUid}/reports/receipts
POST /v2/tenants/{tenantUid}/reports/receipts HTTP/1.1
Host: api.flowretail.com
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 102

{
  "storeUids": [
    "text"
  ],
  "settledAt": {
    "from": "2026-01-01T00:00:00.000Z",
    "to": "2026-01-01T00:00:00.000Z"
  }
}
200

The response will be a Excel file.

binary

Turnover report for root product groups

post
/tenants/{tenantUid}/reports/turnover/stores/{storeUid}/product-groups

Get turnover data for a store grouped by product-group.

If tenant user UID is specified, the turnover data will only contain the numbers for that specific user.

Required permissions: REPORTING,SALES_ORDER,RETURN_ORDER

Authorizations
AuthorizationstringRequired

Access token recevied after user login with a deviceToken

Path parameters
tenantUidstringRequired

Reference to a tenant.

Pattern: ^[A-Za-z0-9-_]+
storeUidstringRequired

Reference to a Store.

Pattern: ^[A-Za-z0-9-_]+
Body

Turnover Request Body

fromDateTimestring · date-time · min: 20Required
toDateTimestring · date-time · min: 20Required
tenantUserUidstringOptionalPattern: ^[A-Za-z0-9-_]+
storeUidsstring[]Optional
Responses
200

Turnover response for ProductGroup

application/json
post/tenants/{tenantUid}/reports/turnover/stores/{storeUid}/product-groups
POST /v2/tenants/{tenantUid}/reports/turnover/stores/{storeUid}/product-groups HTTP/1.1
Host: api.flowretail.com
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 127

{
  "fromDateTime": "2026-01-01T00:00:00.000Z",
  "toDateTime": "2026-01-01T00:00:00.000Z",
  "tenantUserUid": "text",
  "storeUids": [
    "text"
  ]
}
200

Turnover response for ProductGroup

{
  "items": [
    {
      "costAmount": 1,
      "count": 1,
      "discountAmount": 1,
      "hasChildren": true,
      "productGroupUid": "text",
      "revenueAmount": 1,
      "revenuePercent": 1,
      "text": "text",
      "turnoverAmount": 1
    }
  ],
  "total": {
    "costAmount": 1,
    "count": 1,
    "discountAmount": 1,
    "revenueAmount": 1,
    "revenuePercent": 1,
    "turnoverAmount": 1,
    "orderCount": 1
  }
}

Turnover report for sellers on a store

post
/tenants/{tenantUid}/reports/turnover/stores/{storeUid}/users

Get turnover data for all sellers in a store.

Ordered by turnover descending.

Required permissions: REPORTING,SALES_ORDER,RETURN_ORDER

Authorizations
AuthorizationstringRequired

Access token recevied after user login with a deviceToken

Path parameters
tenantUidstringRequired

Reference to a tenant.

Pattern: ^[A-Za-z0-9-_]+
storeUidstringRequired

Reference to a Store.

Pattern: ^[A-Za-z0-9-_]+
Body

Turnover Request Body

fromDateTimestring · date-time · min: 20Required
toDateTimestring · date-time · min: 20Required
Responses
200

Example response

application/json
post/tenants/{tenantUid}/reports/turnover/stores/{storeUid}/users
POST /v2/tenants/{tenantUid}/reports/turnover/stores/{storeUid}/users HTTP/1.1
Host: api.flowretail.com
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 83

{
  "fromDateTime": "2026-01-01T00:00:00.000Z",
  "toDateTime": "2026-01-01T00:00:00.000Z"
}
200

Example response

{
  "items": [
    {
      "position": 1,
      "costAmount": 1,
      "orderCount": 1,
      "discountAmount": 1,
      "revenueAmount": 1,
      "revenuePercent": 1,
      "turnoverAmount": 1,
      "vatAmount": 1,
      "firstName": "text",
      "lastName": "text",
      "displayName": "text",
      "tenantUserUid": "text"
    }
  ]
}

Turnover report for one product group

post
/tenants/{tenantUid}/reports/turnover/stores/{storeUid}/product-groups/{productGroupUid}

Get turnover data for a store and product group.

If tenant user UID is specified, the turnover data will only contain the numbers for that specific user.

Required permissions: REPORTING,SALES_ORDER,RETURN_ORDER

Authorizations
AuthorizationstringRequired

Access token recevied after user login with a deviceToken

Path parameters
tenantUidstringRequired

Reference to a tenant.

Pattern: ^[A-Za-z0-9-_]+
storeUidstringRequired

Reference to a Store.

Pattern: ^[A-Za-z0-9-_]+
productGroupUidstringRequired

Reference to a ProductGroup.

Pattern: ^[A-Za-z0-9-_]+
Body

Turnover Request Body

fromDateTimestring · date-time · min: 20Required
toDateTimestring · date-time · min: 20Required
tenantUserUidstringOptionalPattern: ^[A-Za-z0-9-_]+
storeUidsstring[]Optional
Responses
200

Turnover response for ProductGroup

application/json
post/tenants/{tenantUid}/reports/turnover/stores/{storeUid}/product-groups/{productGroupUid}
POST /v2/tenants/{tenantUid}/reports/turnover/stores/{storeUid}/product-groups/{productGroupUid} HTTP/1.1
Host: api.flowretail.com
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 127

{
  "fromDateTime": "2026-01-01T00:00:00.000Z",
  "toDateTime": "2026-01-01T00:00:00.000Z",
  "tenantUserUid": "text",
  "storeUids": [
    "text"
  ]
}
200

Turnover response for ProductGroup

{
  "items": [
    {
      "costAmount": 1,
      "count": 1,
      "discountAmount": 1,
      "hasChildren": true,
      "productGroupUid": "text",
      "revenueAmount": 1,
      "revenuePercent": 1,
      "text": "text",
      "turnoverAmount": 1
    }
  ],
  "total": {
    "costAmount": 1,
    "count": 1,
    "discountAmount": 1,
    "revenueAmount": 1,
    "revenuePercent": 1,
    "turnoverAmount": 1,
    "orderCount": 1
  }
}

Turnover report for products

post
/tenants/{tenantUid}/reports/turnover/stores/{storeUid}/product-groups/{productGroupUid}/products

Get turnover data for a product group grouped by product

If tenant user UID is specified, the turnover data will only contain the numbers for that specific user.

Required permissions: REPORTING,SALES_ORDER,RETURN_ORDER

Authorizations
AuthorizationstringRequired

Access token recevied after user login with a deviceToken

Path parameters
tenantUidstringRequired

Reference to a tenant.

Pattern: ^[A-Za-z0-9-_]+
storeUidstringRequired

Reference to a Store.

Pattern: ^[A-Za-z0-9-_]+
productGroupUidstringRequired

Reference to a ProductGroup.

Pattern: ^[A-Za-z0-9-_]+
Body

Turnover Request Body

fromDateTimestring · date-time · min: 20Required
toDateTimestring · date-time · min: 20Required
tenantUserUidstringOptionalPattern: ^[A-Za-z0-9-_]+
storeUidsstring[]Optional
Responses
200

Turnover response

application/json
post/tenants/{tenantUid}/reports/turnover/stores/{storeUid}/product-groups/{productGroupUid}/products
POST /v2/tenants/{tenantUid}/reports/turnover/stores/{storeUid}/product-groups/{productGroupUid}/products HTTP/1.1
Host: api.flowretail.com
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 127

{
  "fromDateTime": "2026-01-01T00:00:00.000Z",
  "toDateTime": "2026-01-01T00:00:00.000Z",
  "tenantUserUid": "text",
  "storeUids": [
    "text"
  ]
}
200

Turnover response

{
  "items": [
    {
      "costAmount": 1,
      "count": 1,
      "discountAmount": 1,
      "id": "text",
      "revenueAmount": 1,
      "revenuePercent": 1,
      "text": "text",
      "turnoverAmount": 1
    }
  ],
  "total": {
    "costAmount": 1,
    "count": 1,
    "discountAmount": 1,
    "revenueAmount": 1,
    "revenuePercent": 1,
    "turnoverAmount": 1,
    "orderCount": 1
  }
}

Turnover report for orders

post
/tenants/{tenantUid}/reports/turnover/stores/{storeUid}/product-groups/{productGroupUid}/products/{productUid}/orders

Get turnover data for a product grouped by orders.

If tenant user UID is specified, the turnover data will only contain the numbers for that specific user.

Required permissions: REPORTING,SALES_ORDER,RETURN_ORDER

Authorizations
AuthorizationstringRequired

Access token recevied after user login with a deviceToken

Path parameters
tenantUidstringRequired

Reference to a tenant.

Pattern: ^[A-Za-z0-9-_]+
storeUidstringRequired

Reference to a Store.

Pattern: ^[A-Za-z0-9-_]+
productGroupUidstringRequired

Reference to a ProductGroup.

Pattern: ^[A-Za-z0-9-_]+
productUidstringRequired

Reference to a Product.

Pattern: ^[A-Za-z0-9-_]+
Body

Turnover Request Body

fromDateTimestring · date-time · min: 20Required
toDateTimestring · date-time · min: 20Required
tenantUserUidstringOptionalPattern: ^[A-Za-z0-9-_]+
storeUidsstring[]Optional
Responses
200

Turnover response

application/json
post/tenants/{tenantUid}/reports/turnover/stores/{storeUid}/product-groups/{productGroupUid}/products/{productUid}/orders
POST /v2/tenants/{tenantUid}/reports/turnover/stores/{storeUid}/product-groups/{productGroupUid}/products/{productUid}/orders HTTP/1.1
Host: api.flowretail.com
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 127

{
  "fromDateTime": "2026-01-01T00:00:00.000Z",
  "toDateTime": "2026-01-01T00:00:00.000Z",
  "tenantUserUid": "text",
  "storeUids": [
    "text"
  ]
}
200

Turnover response

{
  "items": [
    {
      "costAmount": 1,
      "count": 1,
      "discountAmount": 1,
      "id": "text",
      "revenueAmount": 1,
      "revenuePercent": 1,
      "text": "text",
      "turnoverAmount": 1
    }
  ],
  "total": {
    "costAmount": 1,
    "count": 1,
    "discountAmount": 1,
    "revenueAmount": 1,
    "revenuePercent": 1,
    "turnoverAmount": 1,
    "orderCount": 1
  }
}

Start Art Fee report

post
/tenants/{tenantUid}/organizations/{organizationUid}/reports/art-fee

Start Art Fee report generation for a set time period and optionally for given stores.

Required permissions: REPORTING

Authorizations
AuthorizationstringRequired

Access token recevied after user login with a deviceToken

Path parameters
tenantUidstringRequired

Reference to a tenant.

Pattern: ^[A-Za-z0-9-_]+
organizationUidstringRequired

Reference to an organization.

Pattern: ^[A-Za-z0-9-_]+
Body
fromDatestring · dateRequired
toDatestring · dateRequired
storeUidsstring[]Optional
reportUidstringOptionalPattern: ^[A-Za-z0-9-_]+
Responses
201

Report details

application/json
reportUidstringRequiredPattern: ^[A-Za-z0-9-_]+
requestany ofRequired

The request response depends on the what type of report it is

or
or
or
statestring · enumRequiredPossible values:
typestring · enumRequired

Available reports are:

ENUMDescription
SAFTSAFT reports
SalesPrStoreSales per store
StoreWarehouseDetailsMonthly warehouse details
WarehouseStockDetailsDetails list of all stock on the current warehouse
ART_FEEArt fee report
ART_PROVISIONArtists' provision report
OPEN_ITEMSList of outstanding receivables
SOLD_NOT_DELIVEREDProducts sold not delivered
Possible values:
createdAtstring · date-timeRequired
createdBystringRequired
lastModifiedAtstring · date-timeRequired
lastModifiedBystringRequired
sendNotificationTostringRequired
notificationSentAtstring · date-timeOptional
progressstringRequired
filenamestringRequired
filesizeintegerRequired
post/tenants/{tenantUid}/organizations/{organizationUid}/reports/art-fee
POST /v2/tenants/{tenantUid}/organizations/{organizationUid}/reports/art-fee HTTP/1.1
Host: api.flowretail.com
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 87

{
  "fromDate": "2026-01-01",
  "toDate": "2026-01-01",
  "storeUids": [
    "text"
  ],
  "reportUid": "text"
}
201

Report details

{
  "reportUid": "text",
  "request": {
    "fromDate": "2026-01-01",
    "toDate": "2026-01-01",
    "storeUids": [
      "text"
    ],
    "reportUid": "text"
  },
  "state": "ABORTED",
  "type": "SAFT",
  "createdAt": "2026-01-01T00:00:00.000Z",
  "createdBy": "text",
  "lastModifiedAt": "2026-01-01T00:00:00.000Z",
  "lastModifiedBy": "text",
  "sendNotificationTo": "text",
  "notificationSentAt": "2026-01-01T00:00:00.000Z",
  "progress": "text",
  "filename": "text",
  "filesize": 1
}

Start Art Provision report

post
/tenants/{tenantUid}/stores/{storeUid}/reports/art-supplier

The Art Provision report gives overview over each artist's sales and stock for the requested time period. Optionally filter on artist.

Artists with no sales and no stock are included.

sendEmailToSupplier = true will send email to each artist.

Required permissions: REPORTING

Authorizations
AuthorizationstringRequired

Access token recevied after user login with a deviceToken

Path parameters
tenantUidstringRequired

Reference to a tenant.

Pattern: ^[A-Za-z0-9-_]+
storeUidstringRequired

Reference to a Store.

Pattern: ^[A-Za-z0-9-_]+
Body
fromDatestring · dateRequired
toDatestring · dateRequired
supplierUidsstring[]Required
sendEmailToSupplierbooleanRequired
productGroupUidsstring[]Required
showDiffbooleanOptional
Responses
200

ZipFileResponse

application/zip
string · binaryOptional
post/tenants/{tenantUid}/stores/{storeUid}/reports/art-supplier
POST /v2/tenants/{tenantUid}/stores/{storeUid}/reports/art-supplier HTTP/1.1
Host: api.flowretail.com
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 142

{
  "fromDate": "2026-01-01",
  "toDate": "2026-01-01",
  "supplierUids": [
    "text"
  ],
  "sendEmailToSupplier": true,
  "productGroupUids": [
    "text"
  ],
  "showDiff": true
}
binary

List suppliers' commission sales payouts

post
/tenants/{tenantUid}/stores/{storeUid}/reports/suppliers/payouts

List suppliers' payouts for commission sales in a time period. Optionally filter on commission sales that are paid/not paid.

Required permissions: REPORTING

Authorizations
AuthorizationstringRequired

Access token recevied after user login with a deviceToken

Path parameters
tenantUidstringRequired

Reference to a tenant.

Pattern: ^[A-Za-z0-9-_]+
storeUidstringRequired

Reference to a Store.

Pattern: ^[A-Za-z0-9-_]+
Body
fromDatestring · dateRequired

GTE

toDatestring · dateRequired

LTE

paidbooleanOptional

filter on paid/not paid

supplierUidsstring[]Optional
productGroupUidsstring[]Optional
scopestring · enumOptionalPossible values:
Responses
200

Example response

application/json
post/tenants/{tenantUid}/stores/{storeUid}/reports/suppliers/payouts
POST /v2/tenants/{tenantUid}/stores/{storeUid}/reports/suppliers/payouts HTTP/1.1
Host: api.flowretail.com
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 132

{
  "fromDate": "2026-01-01",
  "toDate": "2026-01-01",
  "paid": true,
  "supplierUids": [
    "text"
  ],
  "productGroupUids": [
    "text"
  ],
  "scope": "STOCK_ONLY"
}
200

Example response

{
  "items": [
    {
      "supplier": {
        "address": "text",
        "city": "text",
        "contactEmail": "text",
        "contactName": "text",
        "countryCode": "text",
        "createdAt": "2026-01-01T00:00:00.000Z",
        "email": "text",
        "externalId": "text",
        "lastModifiedAt": "2026-01-01T00:00:00.000Z",
        "name": "text",
        "phone": "text",
        "postalCode": "text",
        "supplierUid": "text",
        "vatNumber": "text",
        "active": true,
        "bankInfo": {
          "accountNumber": "text",
          "bankName": "text",
          "iban": "text",
          "swift": "text"
        },
        "fixedDiscountRate": 1,
        "currency": "text",
        "freightPercentage": 1
      },
      "commissionSales": [
        {
          "payoutAmount": 1,
          "paidAt": "2026-01-01T00:00:00.000Z",
          "paid": true,
          "commissionPercentage": 1,
          "commissionAmount": 1,
          "salesPrice": 1,
          "productSku": "text",
          "productName": "text",
          "orderNumber": "text",
          "orderSettledAt": "2026-01-01T00:00:00.000Z",
          "commissionUid": "text",
          "orderProductLineUid": "text",
          "orderUid": "text"
        }
      ],
      "payoutsTotal": 1,
      "payoutsCount": 1
    }
  ]
}

Download Products sold and not delivered excel report

post
/tenants/{tenantUid}/reports/products-sold-not-delivered

Generate a report of all sold but not yet delivered products

Authorizations
AuthorizationstringRequired

Token received from the auth service

Path parameters
tenantUidstringRequired

Reference to a tenant.

Pattern: ^[A-Za-z0-9-_]+
Body
organisationUidsstring[]Optional
storeUidsstring[]Optional
Responses
200

SpreadSheet Response

application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
string · binaryOptional
post/tenants/{tenantUid}/reports/products-sold-not-delivered
POST /v2/tenants/{tenantUid}/reports/products-sold-not-delivered HTTP/1.1
Host: api.flowretail.com
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 50

{
  "organisationUids": [
    "text"
  ],
  "storeUids": [
    "text"
  ]
}
binary

Order Intake report

post
/tenants/{tenantUid}/reports/orders

List orders with order date that matches request data.

Based on the Accept header the response will be base64 json encoded or a raw file.

  • application/octet-stream will return a binary file

  • application/json will return a json with the file content base64 encoded.

Required permissions: REPORTING

Authorizations
AuthorizationstringRequired

Access token recevied after user login with a deviceToken

Path parameters
tenantUidstringRequired

Reference to a tenant.

Pattern: ^[A-Za-z0-9-_]+
Body
storeUidsstring[]Optional
Responses
200

Example response

post/tenants/{tenantUid}/reports/orders
POST /v2/tenants/{tenantUid}/reports/orders HTTP/1.1
Host: api.flowretail.com
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 125

{
  "orderDate": {
    "from": "2026-01-01T00:00:00.000Z",
    "to": "2026-01-01T00:00:00.000Z"
  },
  "storeUids": [
    "text"
  ],
  "orderStates": [
    "OPEN"
  ]
}
200

Example response

{
  "items": [
    {
      "orderUid": "text",
      "orderNumber": "text",
      "orderDate": "2026-01-01T00:00:00.000Z",
      "orderState": "OPEN",
      "customerName": "text",
      "store": {
        "name": "text",
        "storeUid": "text"
      },
      "createdBy": "text",
      "orderTotal": 1
    }
  ]
}

Reasons usage report

post
/tenants/{tenantUid}/reports/reasons

Get a report of reason usage across orders for a specified time period.

  This report provides analytics on how reasons are being used including:
  - Discount reasons on order items
  - Return reasons on order items  
  
  The report includes usage counts and associated monetary amounts.
  
  Required permissions: REPORTING
Authorizations
AuthorizationstringRequired

Access token recevied after user login with a deviceToken

Path parameters
tenantUidstringRequired

Reference to a tenant.

Pattern: ^[A-Za-z0-9-_]+
Body

Request schema for reasons usage report

fromDateTimestring · date-timeRequired

Start date and time for the report period

toDateTimestring · date-timeRequired

End date and time for the report period

storeUidstringOptionalPattern: ^[A-Za-z0-9-_]*
Responses
200

Reasons report response with aggregated discount and return reason data

application/json

Response schema for reasons usage report with aggregated discount and return reason data

post/tenants/{tenantUid}/reports/reasons
POST /v2/tenants/{tenantUid}/reports/reasons HTTP/1.1
Host: api.flowretail.com
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 101

{
  "fromDateTime": "2026-01-01T00:00:00.000Z",
  "toDateTime": "2026-01-01T00:00:00.000Z",
  "storeUid": "text"
}
200

Reasons report response with aggregated discount and return reason data

{
  "discountReasons": [
    {
      "reasonCode": "06",
      "reasonDescription": "Campaign",
      "totalAmount": 1493263,
      "percentageOfTotal": 98.44,
      "totalOccurrences": 11
    },
    {
      "reasonCode": "3",
      "reasonDescription": "Price guarantee",
      "totalAmount": 17469,
      "percentageOfTotal": 1.15,
      "totalOccurrences": 6
    }
  ],
  "returnReasons": [
    {
      "reasonCode": "feil",
      "reasonDescription": "Did not work",
      "totalAmount": 749679,
      "percentageOfTotal": 93.63,
      "totalOccurrences": 250
    },
    {
      "reasonCode": "ikkeønsket",
      "reasonDescription": "Did not want it",
      "totalAmount": 50965,
      "percentageOfTotal": 6.37,
      "totalOccurrences": 87
    }
  ]
}

Last updated