Setting up Custom Accounting Categories Expenses and Bills Data Integration

Overview

Airwallex provides seamless direct integrations with Xero, NetSuite, QuickBooks, and other leading accounting platforms — accounting data is imported automatically, and expenses and bills sync back to your software.

If your accounting platform is not directly supported, use the Custom Accounting Data Importer to upload your own Chart of Accounts, Tax Rates, and Custom Fields via an .xlsx file. This lets your employees code expenses and bills against your own accounting categories.

There are two ways to manage this data: 

  • Manually via file upload (this guide), or 

  • Continuously via the Accounting APIs for Spend if you want to keep a proprietary or custom ERP in sync automatically.

Note: Custom accounting data — whether managed by file upload or by API — is only available if you are not already connected to a supported native integration (Xero, NetSuite, QuickBooks, etc.). If a supported connection is active, custom accounting data will not appear and will not be used, even if it was uploaded or created previously. Additionally, once you make your first change via the Accounting APIs, your connection becomes API-managed and bulk file upload is disabled for that data set, so the two methods can't overwrite each other's changes.

This guide covers:


How do I import my accounting data?

Step 1: Navigate to the importer

  1. Log in to your Airwallex account.

  2. Go to Settings → Connections and select Using another accounting software?

Step 2: Download the import template

Download the provided .xlsx template. It contains the following tabs, using these exact names:

  • Chart of accounts

  • Custom field 1

  • Custom field 2

  • Tax rates

If you need more than 2 custom fields, duplicate one of the Custom Field tabs and rename it Custom field 3, Custom field 4, or Custom field 5. Up to 5 custom fields total are supported.

Step 3: Format your data

Export your data from your accounting software and populate each tab using the exact column headers and rules below. A record is rejected if a required column is empty.

Chart of accounts tab

Column (exact header)

Required

Description

If left blank

Format / example

GL Code

No

The account code for this entry in your accounting software.

Stays blank

5000

Account Name

Yes

The unique name of this entry in your accounting software. Used to identify the record and prevent duplicates — keep this aligned with your source system.

Row is rejected

Cost of Goods Sold

Airwallex Display Name

No

What your employees see when coding expenses or bills in Airwallex.

Falls back to Account Name

COGS

Airwallex Entities (multi-entity organisations only)

No

Which legal entities this entry applies to. See "Assigning entities" below.

Applies to All entities

All or Entity A|Entity B

002 - Custom Accounting Data Importer.png

Example row: 5000 | Cost of Goods Sold | COGS | All

Custom field tabs (Custom field 1Custom field 5)

Column (exact header)

Required

Description

If left blank

Format / example

Custom Field Name

Yes

The unique name of this value in your accounting software.

Row is rejected

DPT_ENG

Airwallex Display Name

No

What your employees see in Airwallex.

Falls back to Custom Field Name

Engineering

Airwallex Entities (multi-entity organisations only)

No

Which legal entities this entry applies to. See "Assigning entities" below.

Applies to All entities

All or Entity A|Entity B

003 - Custom Accounting Data Importer.png

Example row: DPT_ENG | Engineering | All

Tax rates tab

Column (exact header)

Required

Description

If left blank

Format / example

Tax Rate

Yes

The unique name of the tax rate in your accounting software.

Row is rejected

GST

Tax Rate Value (%)

Yes

The percentage rate, entered as a plain number with no % sign.

Row is rejected

10 (for 10%)

Airwallex Display Name

No

What your employees see in Airwallex.

Falls back to {Tax Rate} ({Tax Rate Value}%)

GST (10%)

Airwallex Entities (multi-entity organisations only)

No

Which legal entities this entry applies to. See "Assigning entities" below.

Applies to All entities

All or Entity A|Entity B

Example row: GST_10 | 10 | GST (10%) | All

Assigning entities (multi-entity organisations only)

This rule applies identically to the Airwallex Entities column on every tab above.

  • Single-entity organisations: your template does not include this column — every record automatically applies to your one entity.

  • All entities: enter All.

  • Specific entities: list the exact Legal Entity Name(s), separated by | with no surrounding spaces, e.g. Entity A|Entity B, or put each entity on its own row instead.

  • Duplicate entity names: if two entities share the same name, use the Legal Entity ID instead of the name, with the same | separator. You can find your Legal Entity IDs in Settings > Accounts, or via the Retrieve account details API.

  • Left blank: the record defaults to All entities.

Step 4: Upload and review

  1. Click "Get Started" → "Upload" and upload your completed .xlsx template. You can upload a single file containing all entities on one sheet, or multiple .xlsx files in the same session.

  2. Airwallex displays a summary of the changes before anything is saved:

    • New records added — new rows found in your file(s).

    • Edited display names — existing records where the Airwallex Display Name changed.

    • Not matched records — data currently in Airwallex that is missing from your latest file(s).

  3. Compare changes (checked by default): Airwallex automatically matches your existing data against the uploaded file, and "Not matched" records are marked for deletion as part of the standard overwrite. Uncheck Compare changes if you want to review each "Not matched" record individually and manually choose to delete or keep it.

  4. Edit as needed, then click "Save" to finish.
    005 - Custom Accounting Data Importer.png

Once saved, the accounting data is live and available for your employees to use when coding expenses and bills.


How do I update existing accounting data?

There are two ways to update your accounting data, depending on the scale of the change.

Method 1: Minor changes in-app

Use this for quick, one-off changes to individual records.

  1. Navigate to Settings → Connections and select Custom Accounting Data

  2. Click "Edit accounting data."

  3. Add, rename, or delete data manually.

  4. Click "Save changes." Updates are immediately visible to employees coding expenses or bills.

Method 2: Bulk updates via file upload

Use this for major changes, bulk additions, or a full data replacement. This method uses the same overwrite logic described in Step 4 above: your uploaded file is compared against your existing data, and records missing from the file are treated as candidates for deletion.

  1. Navigate to Settings → Connections and select Custom Accounting Data

  2. Click "Upload"

  3. Download your existing template (pre-filled with your current data).

  4. Edit the downloaded file. You can:

    • Add records by inserting new rows.

    • Rename Airwallex Display Names for existing records.

    • Update Airwallex Entities assignments.

    • Delete records by removing their rows.

  5. Upload the updated file.

  6. Review the proposed changes for each field (same review screen as Step 4 above), then click "Save" to apply your updates immediately.


How do I delete all my accounting data and start over?

  1. Navigate to Settings → Connections and select Custom Accounting Data

  2. Scroll to the bottom of the page and click "Remove uploaded data."

  3. In the confirmation pop-up, select "Delete data" to proceed.

Airwallex deletes all existing custom accounting data, so you can import a new data set from scratch.


Troubleshooting

Failed to import file(s)

If formatting errors are found in your uploaded file(s), the import fails and a "Failed to import file(s)" notification appears on the upload screen.

006 - Custom Accounting Data Importer.png

  1. Click "Download unimported record" to get a new .xlsx file. It includes your original data plus an additional "Parsing Errors" tab pinpointing the exact location of each error.

  2. Correct the flagged records in your file, save, and re-upload to complete the import.

Common causes of import errors:

  • A required column is empty — Account Name, Custom Field Name, or Tax Rate/Tax Rate Value (%) must be filled in on every row.

  • Tax Rate Value (%) contains a % sign or non-numeric text instead of a plain number (e.g. 10 instead of 10%).

  • An entity name in Airwallex Entities doesn't exactly match a Legal Entity Name on your account, or two entities share the same name and a Legal Entity ID wasn't used instead.

  • Duplicate Account Name / Custom Field Name / Tax Rate values within the same tab.

Was this article helpful?

1 out of 4 found this helpful

Have more questions? Submit a request