Transactions
List Transactions
Paginated UNION of invoices + credit memos. Each row carries a `type` discriminator and a `magento_admin_url` deep-link that points at the correct admin section (invoice vs credit memo) on the storefront.
Get Transaction
Single transaction detail. The `{txn}` id can refer to either a `magento2_invoices.id` or a `magento2_credit_memos.id`; the `type` query string disambiguates.
Get Transaction Filter Options
Aggregated dropdown options for the transactions filter panel — currencies (pulled live from the linked orders), per-type counts, and per-state counts. Empty / never-synced instances surface empty lists.
Refresh Transactions
Start a tracked background job that pulls invoices (`GET /V1/invoices`) and credit memos (`GET /V1/creditmemos`) from Magento 2 into SKU.io. The sync is incremental by Magento's `updated_at`. A document whose Magento order has not been downloaded yet is skipped and counted (`skipped_no_order`); it is picked up once the order sync brings the order in. Returns the `tracked_job_log_id`; the job's results report `invoices_fetched`, `invoices_saved`, `credit_memos_fetched`, `credit_memos_saved` and `skipped_no_order`, or an `error` when Magento 2 refuses the request.
Refresh Single Transaction
Re-fetch a single invoice or credit memo from Magento 2 and return the refreshed row — typically after it was captured or refunded in Magento admin. Synchronous.
Push Transaction to Accounting
Push the transaction to the connected accounting system (QuickBooks Online / Xero). Synchronous — returns the updated row inline.
Push Invoice to Accounting
Push one Magento 2 invoice to the connected accounting system — the same action as Push Transaction to Accounting with `type=invoice`, without the `type` query string. Requires the `integrations.sync` permission.
Push Credit Memo to Accounting
Push one Magento 2 credit memo to the connected accounting system — the same action as Push Transaction to Accounting with `type=credit_memo`, without the `type` query string. Requires the `integrations.sync` permission.
Toggle Reconciliation
Toggle the manual reconciliation flag on the transaction. The note is optional and persists alongside the timestamp; setting `is_reconciled: false` clears both fields.