Bulk Export Invoices

Exports metadata from multiple invoice records as a CSV file.

Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…

Requires the View permission for invoices.

The invoice records to be returned can be selected in two ways: by providing their IDs or by applying filters.

If the has_selected_all field is not explicitly set to true, at least one of these fields must be included in the request body.

Rows and columns

detail_level decides what one row of the file stands for:

  • totals, the default when the field is left out, returns one row per invoice with the invoice-level columns: Supplier Name, Invoice #, Apicbase PO #, Total Invoice Amount, Total PO Amount, Difference, Difference %, Invoice Date, Due Date, Processing Status and Approval Status.
  • lines returns one row per invoice line. Each row repeats the invoice-level columns and adds Line #, Product Code, Item Name, Quantity, Unit, Unit Price, Line Total, Tax %, Tax Amount, Line Total (gross) and Delivery Note #. Line # numbers the lines of each invoice from 1, and an invoice without lines still gets one row with the line columns empty. Product Code, Unit and Delivery Note # are empty on lines added by hand. This grain needs the Invoice Line Level module on the library; without it the request returns 403.

In a lines file, counting rows or summing an invoice-level column counts each invoice once per line. Use totals for invoice-level reporting, or keep only the rows where Line # is 1 or empty.

File format

The file is UTF-8 with a byte order mark, comma-separated, with dates as YYYY-MM-DD. Total Invoice Amount, Total PO Amount and Difference carry the currency symbol and use the decimal separator of the request's language, which is a dot unless the Accept-Language header asks for a language that writes a comma. Every other number uses a dot.

The response has these headers:

  • Content-Type: text/csv; charset=utf-8
  • Content-Disposition: attachment; filename="invoices_invoice_totals_2026-08-20.csv", or invoices_line_detail_2026-08-20.csv with lines, dated the day of the export.
Body Params
string
required

The ID of the outlet.

selected_ids
array of strings

IDs of the invoices to export. When not empty, filters is ignored. With has_selected_all set to true, these invoices are excluded and every other invoice is exported. outlet and detail_level always apply.

selected_ids
filters
object

Filters to apply to the invoices. Used only when selected_ids is empty; then has_selected_all is ignored.

boolean

Whether all invoices should be exported. With selected_ids, every invoice except those listed is exported, and filters is ignored. Without selected_ids, it is ignored when filters is set.

string
enum
Defaults to totals

What one row of the file stands for. totals, the default, returns one row per invoice; lines returns one row per invoice line and needs the Invoice Line Level module.

Allowed:
Headers
string
enum
Defaults to application/json

Generated from available response content types

Allowed:
Responses

Language
Credentials
OAuth2
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
*/*
application/json