Developers
qashio.com

List transactions

GET/public/v1/erp/transactions
Bearer token

Pull card spend in a form that is ready to post to your ledger.

The primary sync endpoint. Returns a paginated list of transactions, newest first, each already enriched with the supplier, chart of account, tax rate, approval state and cost allocation needed to create a journal entry, so you do not have to join that data yourself. Covers purchases, refunds, reversals, cash withdrawals, card loads and unloads.

Typical use is an incremental pull: filter on client_sync_status for what you have not pulled yet, post it to your ledger, then acknowledge it. You can also pull a transaction_time window, or filter on erp_sync_status. Amounts are returned fee-inclusive: billing_amount and clearing_amount already contain the associated fees.

To follow a refund back to its purchase, filter on parent_qashio_id.

Query parameters

pageinteger

Page number, 1-based. Default 1

Example 1

page_sizeinteger

Records per page. Default 10

Example 20

qashio_idstring

Qashio transaction reference (CT…)

parent_qashio_idstring

Return the children of this transaction: refunds and reversals

transaction_statusstring

draft, pushed, synced, failed

transaction_categorystring

purchase, refund, reversal, card_loading, card_unloading, cash_withdrawal, deposit, cashback, account_transfer, and related values

erp_sync_statusstring

draft, pending, validated, not_validated, success, failed

approval_statusstring

initiated, pending, approved, rejected, resolved, review, action_taken, admin_approved, external_dispute

card_last_fourstring

Exactly four digits

employee_idstring

Cardholder's employee identifier

transaction_currencystring

Currency the merchant charged in

billing_currencystring

Currency the company was billed in

transaction_time_fromdate

Transaction window, YYYY-MM-DD. Send both

transaction_time_todate

Transaction window, YYYY-MM-DD. Send both

client_sync_statusstring

Tracks which transactions you have already pulled. One value per request.

not_syncedNot acknowledged yet. Every new transaction starts here.
syncedAcknowledged with POST /public/v1/erp/transactions/acknowledge. Your copy is current.
outdatedAcknowledged, then changed. Pull it and acknowledge it again.

Example not_synced

exclude_from_syncboolean

Response

Array of transactions, plus pagination. Principal fields:

GroupFields
Identityid (Qashio UUID), qashio_id (CT…), parent_id, parent_qashio_id, company_id
Merchantmerchant_name, merchant_city, merchant_country, mcc_code, mcc_description
Amountstransaction_amount, transaction_currency, billing_amount, billing_currency, clearing_amount, vat_amount, fee_charges
Timingtransaction_time, cleared_at, created_at, updated_at, modified_date
Classificationtransaction_type, transaction_category, clearing_status, settlement_status, message_type
Card and holdercard_name, card_external_id, card_last_four, card_holder_name, card_holder_email, employee_id, pool_account_name, pool_external_id
Accountingerp_supplier ({ id, qashio_external_id, remote_id, remote_name, status }), erp_chart_of_account ({ id, qashio_external_id, remote_id, remote_name, account_type, account_number, account_currency }), erp_supplier_name, erp_chart_of_account_name, chart_of_account_number, erp_tax_rate_name, expense_category_name, vendor_trn, purchase_order_number, rrn
Sync and approvalclient_sync_status, erp_sync_status, erp_sync_type, exclude_from_sync, sync_errors, approval_status, approved_date_time, approved_by ({ user_external_id, name })
Detailmemo, transaction_description, segments, line_items, receipts

line_items entries carry { id, amount, vat_amount, description, expense_category, erp_tax_rate_name, erp_tax_rate_remote_id, erp_chart_of_account_name, erp_chart_of_account_remote_id, segments, created_at, updated_at }.

segments carry your cost allocation. The four standard labels are Location, Project, Division and Department. Custom segment keys use underscores on this API (cost_center).

Response schema from the OpenAPI document
FieldTypeDescription
status_codeinteger
successboolean
dataobject[]
idstring
merchant_namestring
erp_supplier_namestring
expense_category_namestring
erp_tax_rate_namestring
erp_chart_of_account_namestring
pool_account_namestring
card_namestring
card_holder_namestring
card_holder_emailstring
qashio_idstring
transaction_amountinteger
transaction_currencystring
transaction_timestring
transaction_descriptionstring
transaction_typestring
transaction_categorystring
fee_chargesinteger
clearing_statusstring
billing_currencystring
memostring
vat_amountinteger
status_codestring
message_typestring
settlement_statusstring
rrnstring
vendor_trnstring
purchase_order_numberstring
parent_idstring
parent_qashio_idstring
visibleboolean
cleared_atstring
exclude_from_syncboolean
client_sync_statusstringWhether your integration has pulled the current version of this transaction. Acknowledging it sets synced; a later change sets outdated.not_syncedsyncedoutdated
erp_sync_statusstring
erp_sync_typestring
approval_statusstring
merchant_citystring
merchant_countrystring
mcc_codestring
mcc_descriptionstring
company_idstring
supplier_qashio_external_idstring
chart_of_account_qashio_external_idstring
erp_supplier_remote_idstring
erp_tax_rate_remote_idstring
erp_chart_of_account_remote_idstring
chart_of_account_numberstring
pool_external_idstring
card_external_idstring
card_last_fourstring
employee_idstring
erp_supplierstring
erp_chart_of_accountstring
billing_amountinteger
clearing_amountinteger
approved_date_timestring
modified_datestring
approved_bystring
updated_atstring
created_atstring
sync_errorsobject[]
idstring
namestring
labelstring
codestring
erp_internal_idstring
erp_codestring
segmentsobject[]
idstring
namestring
labelstring
codestring
erp_internal_idstring
erp_codestring
receiptsobject[]
idstring
namestring
labelstring
codestring
erp_internal_idstring
erp_codestring
line_itemsobject[]
idstring
namestring
labelstring
codestring
erp_internal_idstring
erp_codestring
metaobject
request_idstring
timestampstring
paginationobject
pageinteger
page_sizeinteger
total_pagesinteger
total_recordsinteger
has_nextboolean
has_previousboolean

Errors

400 (invalid enum, card_last_four not four digits, incomplete date range), 401, 403.

  • 401Unauthorized - missing or invalid Bearer token

Every error carries an errors[] array and a meta.request_id. See Errors for the full envelope.

This request takes no parameters.

Response

Send the request to see the response.

Esc

Start here

IntroductionIntegration walkthroughAuthenticationConventions

Popular endpoints

POSTExchange code for tokens/oauth2/tokenGETGet company summary/public/v1/erp/company/summaryGETList bank accounts/public/v1/erp/bank_accountsGETList cards/public/v1/erp/cardsGETList chart of accounts/public/v1/erp/chart_of_accounts