> ## Documentation Index
> Fetch the complete documentation index at: https://help.fieldpulse.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Setting Up Xero Before Syncing

> Format your FieldPulse customers and line items the way Xero expects before you connect, so the first sync runs clean and your invoices carry over.

> **Who uses this:** An Admin prepares data and configures the integration. **Availability:** Requires a connected Xero account; the FieldPulse Xero integration is available for customers in **Australia and New Zealand** only.

Preparing to sync with Xero means getting your [customer records](https://www.fieldpulse.com/features/customer-management) and line items into the format Xero requires before you connect the two systems. Xero is stricter than FieldPulse about names, SKUs, tax accounts, and special characters, so a few minutes of cleanup here is what keeps invoices from stalling on the first sync.

## Overview

The Xero integration is a two-way sync for customers, line items, invoices, and payments, and a one-way sync for estimates (FieldPulse → Xero). Once connected, creating or editing a customer, invoice, or [payment](https://www.fieldpulse.com/features/fieldpulse-payments) in the office or on the job is reflected in both systems automatically — no more double entry. [FieldPulse handles the invoicing](https://www.fieldpulse.com/features/estimates-and-invoices), and Xero handles the accounting.

Records sync in a fixed order — **customers first, then line items, then invoices** — so a formatting problem early in that chain blocks everything after it. Preparing your data before you connect is what prevents that.

## Before you begin

* Confirm you have a **Xero account** in Australia or New Zealand.

* Have access to both your **Xero contact list** and your **FieldPulse item list** so you can correct records in either system.

* Set up your **tax rate in Xero** — FieldPulse pulls the tax rate from Xero, not the other way around.

* Review the [Xero integration overview](/integrations/accounting/xero/overview) if you have not connected an accounting integration before.

## Step-by-step setup

### 1. Prepare your customer records

Get every customer record ready to sync from Xero:

1. Give each customer a **name** — a first name, last name, or company name. A customer with no first and last name in Xero syncs to FieldPulse as a commercial (company) customer.

2. Make sure a **Contact Name / Display Name** is filled in. This is a required customer field in both Xero and FieldPulse after syncing.

3. Add a **unique email address** and a phone number where you can. These are preferred but not required.

4. Note that **Xero contacts, suppliers, and customers all sync into FieldPulse as customers**, and Xero **Contact Groups** come across as a parent customer shown as "Group: Primary Person."

5. Trim contacts if needed: FieldPulse holds unlimited contacts per record, but **only the first 5 contacts sync to Xero** due to a Xero limit.

<img src="https://mintcdn.com/fieldpulse/CEfyoXWCPRJAXfyB/static/images/integrations/xero/pre-sync/image1.png?fit=max&auto=format&n=CEfyoXWCPRJAXfyB&q=85&s=41bce8866a6a26c96513820dc642f8a7" alt="Customer Record Additional Contacts list with the note that only the first 5 contacts sync" width="1650" height="1002" data-path="static/images/integrations/xero/pre-sync/image1.png" />

### 2. Prepare your line items

Line items are where most sync problems start. Before connecting, check each item so it meets Xero's rules:

1. Remove **special characters** from item names — Xero rejects \$ % ^ ( ) = ' \< > \{ } " and items containing them will not sync.

2. Make sure names are **not alphanumeric** — an item name can't mix numbers and letters together. For example, items named "Filter 20x25" or "2 inch PVC elbow" won't sync.

3. Give every line item a **unique SKU**.

4. Set a **GST account** on each item. The tax account must be set to GST on income, or the item should read BAS excluded or GST free.

5. Confirm your **tax rate is set up in Xero**, since FieldPulse pulls the tax rate from Xero.

### 3. Understand how statuses will map

FieldPulse and Xero use different status labels, so the sync translates them automatically. You don't configure this — but knowing the mapping helps you predict where each record lands. See the Settings reference below for the full estimate and invoice status maps.

Your data is ready when every customer has a name and display name, every line item has a unique SKU and a GST account with no special characters, and your tax rate is set in Xero — at that point you can connect and run the first sync without records stalling.

## Settings reference

### Estimate (quote) status mapping

| **Direction** | **Source status** | **Becomes** |
| - | - | - |
| Xero → FieldPulse | **DRAFT** | **Draft** |
| Xero → FieldPulse | Any other status | FieldPulse status unchanged |
| FieldPulse → Xero | **Archived** | **VOID** |
| FieldPulse → Xero | Any other status | **SENT** |

### Invoice status mapping

| **Direction** | **Source status** | **Becomes** |
| - | - | - |
| Xero → FieldPulse | **DRAFT** | **Draft** |
| Xero → FieldPulse | **SUBMITTED** or **AUTHORIZED** | **Invoiced** |
| Xero → FieldPulse | **PAID** | **Paid** |
| Xero → FieldPulse | **VOIDED** | **Void** |
| Xero → FieldPulse | Any other status | FieldPulse status unchanged |
| FieldPulse → Xero | **Archived** | **VOIDED** |
| FieldPulse → Xero | **Draft** | **Draft** |
| FieldPulse → Xero | **Void** | **VOIDED** |
| FieldPulse → Xero | **Paid** (invoice not originally created in Xero) | **PAID** |
| FieldPulse → Xero | Any other status | **AUTHORIZED** |

## Related articles

* [Xero Overview](/integrations/accounting/xero/overview)
* [How to Sync With Xero](/integrations/accounting/xero/sync)
* [How to Manage Xero After Syncing](/integrations/accounting/xero/post-sync)
* [Xero Sync Examples and Details](/integrations/accounting/xero/sync-examples)


## Related topics

- [Xero Overview](/integrations/accounting/xero/overview.md)
- [Xero](/integrations/accounting/xero/index.md)
- [How to Manage Xero After Syncing](/integrations/accounting/xero/post-sync.md)
- [How to Sync With Xero](/integrations/accounting/xero/sync.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.