Airwallex logo

Sync card expenses to your ERP

Automate the synchronization of card expenses from Airwallex to your ERP system.

Copy for LLMView as Markdown

The Spend API enables you to build automated sync workflows between Airwallex card expenses and your ERP or accounting system. This is ideal for organizations using ERP systems that Airwallex does not integrate with natively .

Target audience

This use case applies to:

  • ERP platforms building a custom integration with Airwallex to sync card expenses.
  • Finance teams using accounting systems not covered by Airwallex's direct integrations .
  • Developers building integrations between Airwallex and internal financial systems.

Systems involved

  • Airwallex Spend: Source of truth for approved card expenses, including receipts, line items, and accounting coding.
  • Your ERP or accounting system: Destination for synced expense data, where it feeds into general ledger entries, reconciliation, and reporting.

Expected outcome

After integration, your system automatically:

  • Retrieves approved card expenses that have not yet been synced.
  • Ingests expense details, including attachments, line items, and accounting field selections.
  • Marks expenses as synced in Airwallex to prevent duplicate processing.
  • Optionally listens for webhook events to trigger syncs in real time rather than polling.

Integration flow

The typical integration follows this sequence:

  1. Poll or listen: Periodically call the List card expenses endpoint filtered by sync_status=NOT_SYNCED, or subscribe to Spend webhooks to receive real-time notifications.
  2. Retrieve details: For each new expense, call the Get card expense endpoint to capture attachments, line items, and accounting field selections.
  3. Map and persist: Transform the Airwallex expense data into your ERP's format and persist it.
  4. Mark as synced: After successful ingestion, update the expense's sync_status field with the value SYNCED. This prevents re-processing.

Prevent duplicates

Using sync_status as a filter provides built-in deduplication. Once an expense is marked as SYNCED, it no longer appears in queries filtered by NOT_SYNCED. This ensures that each expense is processed exactly once, even if your sync job runs on a schedule.

Manual "Mark as synced" in Spend Accounting hub

If a user manually selects Mark as synced for a card expense in the Airwallex Accounting hub, that expense’s sync_status will move to SYNCED even if it was not synced via your integration. As a result, it will no longer appear in API queries filtered by sync_status=NOT_SYNCED. If you rely on this filter for your sync job, make sure your finance team does not manually mark expenses as synced for any entities managed by your API integration, or put reconciliation controls in place to detect manually–synced items.

See also

To implement this use case, refer to:

Was this page helpful?