Skip to content

Xero Integration

YardPilot connects to Xero to automatically sync invoices and record your payment revenue, making bookkeeping and bank reconciliation simple.

What Gets Synced

YardPilot syncs invoices and payments to Xero:

WhatWhen It SyncsXero Result
InvoicesWhen sent to clientDraft or Authorised invoice in Xero
Invoice paymentsWhen payment recorded against synced invoicePayment allocation in Xero
Stripe/SquareWhen payout confirmedPayout summary (revenue, fees, net)
Cash paymentsImmediately on recordingReceive Money to Undeposited Funds
Bank transfersNot synced (see below)N/A — arrives via bank feed

Stripe & Square Payouts

When Stripe deposits money into your bank account, YardPilot creates three transactions in Xero:

TransactionPurposeExample
Receive MoneyRecords your revenue (minus refunds)$1,000 gross sales
Spend MoneyRecords processor fees$30 Stripe fees
Bank TransferMoves net amount to your bank$970 to ANZ Business

This matches exactly what appears in your bank feed, making reconciliation effortless.

Why payout summaries?

Syncing individual payments creates reconciliation headaches — your bank shows one deposit, but Xero shows dozens of transactions. Payout summaries match your bank 1:1.

Cash Payments

For cash payments, YardPilot syncs each payment individually to Xero as a Receive Money transaction into your Undeposited Funds account.

TransactionPurposeExample
Receive MoneyRecords customer payment$150 from John Smith

Key differences from processor payouts:

  • One transaction per payment (not batched into daily payouts)
  • Customer as contact (actual customer name, not "Stripe")
  • Simpler setup (only need Undeposited Funds account, no clearing account)

Undeposited Funds

This is a standard accounting practice — hold cash payments in a holding account until you physically deposit them at the bank. When you do a bank deposit, transfer from Undeposited Funds to your actual bank account.

Bank Transfer Payments

Bank transfers are NOT synced to Xero from YardPilot. Here's why:

When a customer pays by bank transfer, the money goes directly into your bank account. Your bank feed automatically imports this transaction into Xero. If YardPilot also synced the payment, you'd have duplicate transactions — one from the bank feed and one from YardPilot.

Your workflow for bank transfers:

  1. Customer transfers money to your bank account
  2. You see the deposit in your bank statement
  3. You manually record the payment in YardPilot (marks invoice as paid, updates customer balance)
  4. In Xero, you reconcile the bank feed transaction by matching it to the customer

YardPilot does not automatically create Xero transactions for bank transfers — your bank feed handles that.

Reconciling bank transfers in Xero

When you see a bank transfer deposit in your Xero bank feed:

  1. Click Find & Match or CreateReceive Money
  2. Select the customer who paid
  3. Allocate to the appropriate revenue account

This approach prevents duplicates while still giving you accurate payment records in both systems.

Connecting to Xero

  1. Go to SettingsIntegrationsXero
  2. Click Connect to Xero
  3. Log in to your Xero account and authorise YardPilot
  4. Select your Xero organisation

After connecting, you'll be prompted to configure your Xero accounts.

Configuring Xero Accounts

After connecting Xero, set up the accounts that YardPilot uses to sync invoices and payments.

  1. Go to SettingsIntegrationsXero
  2. Under Xero Accounts, configure:
AccountPurposeXero Account Type
Revenue AccountWhere sales income is recorded on invoices/payoutsRevenue
Fees AccountWhere processor fees are recordedExpense
Bank AccountWhere payments are depositedBank

These accounts are shared across all payment processors and invoice sync — you configure them once, and YardPilot applies them everywhere.

Auto-populated from existing config

If you previously configured accounts on a payment processor, YardPilot pre-populates these fields from your existing settings. Review and save to confirm.

Account requirements

  • Revenue Account: Must be a Revenue-type account (e.g., "Sales - Lawn Care", account code 200)
  • Fees Account: Must be an Expense-type account (e.g., "Merchant Fees")
  • Bank Account: Must be a Bank-type account where deposits arrive (e.g., "ANZ Business")

Changing Accounts

You can change your Xero accounts at any time. When you save:

  • All payment processors (Stripe, Square, etc.) are updated automatically
  • Future invoice syncs use the new accounts
  • Previously synced transactions in Xero are not affected

Setting Up Clearing Accounts

A clearing account is a special bank-type account in Xero that acts as a temporary holding place for payments before they're deposited into your real bank account. YardPilot uses clearing accounts to:

  • Track revenue and fees from each payout
  • Create transactions that match your bank feed exactly
  • Keep your accounting organised by payment processor

When You'll See This

The clearing account setup appears when:

  • You first connect Xero and enable YardPilot accounting for Stripe
  • You reconnect Xero after a disconnection
  • You switch a processor's accounting source to "YardPilot"

Setup Options

You have two choices when setting up a clearing account:

Option 1: Use an Existing Account

If you already have a suitable bank account in Xero, you can adopt it:

  1. Click Select Existing Account
  2. Choose from the list of available accounts
  3. YardPilot validates your selection automatically
  4. Click Confirm Selection

Requirements for existing accounts:

  • Must be a Bank type account
  • Must be Active (not archived)
  • Must use AUD currency
  • Must not have a bank feed connected

TIP

Using an existing account works well if you've previously set up a clearing account manually or migrated from another system.

Option 2: Create a New Account

Let YardPilot create a dedicated clearing account:

  1. Click Create New Account
  2. YardPilot creates "YardPilot Pay Clearing - Stripe" in Xero
  3. The account is automatically configured correctly

This is the recommended option for most businesses — it keeps YardPilot transactions separate from your other accounts.

Per-Processor Accounts

Each payment processor (Stripe, Square, etc.) can have its own clearing account. This helps you:

  • Track revenue by processor
  • Reconcile each processor independently
  • See clear transaction history per payment method

Account Validation

When selecting an existing account, YardPilot checks:

CriteriaWhy It Matters
Bank typeClearing accounts must be bank-type for transfers
Active statusArchived accounts can't receive transactions
AUD currencyMust match your business currency
No bank feedPrevents duplicate transactions from automatic feeds

If validation fails, you'll see which criteria weren't met and can either fix the account in Xero or choose a different one.

Changing Your Clearing Account

Once configured, clearing accounts can't be changed automatically. If you need to switch:

  1. Contact support to discuss the migration
  2. Ensure all pending payouts are reconciled first
  3. The new account will be used for future payouts only

WARNING

Don't delete or archive your clearing account while it has a balance. Reconcile all transactions first.

Setting Up Payment Processors

After connecting Xero, configure which payment processors YardPilot should sync.

  1. Go to SettingsIntegrationsXeroPayment Processors
  2. Find Stripe and set:
    • Accounting Source: YardPilot (YardPilot posts to Xero)
    • Clearing Account: Select or create a clearing account (see below)

Revenue, fees, and bank accounts are configured once in the Xero Accounts section above and apply to all processors automatically.

Cash Payments

For cash payments, setup is simpler — you only need to configure an Undeposited Funds account:

  1. Go to SettingsIntegrationsXeroPayment Processors
  2. Find Cash and set:
    • Accounting Source: YardPilot (YardPilot posts to Xero)
    • Undeposited Funds Account: Select your holding account (see below)

Only one account needed

Unlike Stripe/Square, cash payments don't have processor fees, so you only need to configure where payments go — no fees account or clearing account required.

Bank transfers don't need configuration

Bank transfer payments are not synced to Xero (they arrive via your bank feed), so there's no YardPilot configuration needed for bank transfers.

Creating an Undeposited Funds Account in Xero

If you don't already have an Undeposited Funds account, create one in Xero:

  1. In Xero, go to AccountingChart of Accounts
  2. Click Add Account
  3. Configure the account:
    • Account Type: Bank
    • Account Name: Undeposited Funds (or similar, e.g., "Cash on Hand")
    • Code: Optional (e.g., 1050)
    • Description: Holding account for cash payments before deposit
    • Currency: AUD
  4. Click Save
  5. Return to YardPilot and refresh the Payment Processors page
  6. Select your new account from the dropdown

Don't enable bank feeds

Do not connect a bank feed to your Undeposited Funds account. This is a holding account, not a real bank account.

Square & Other Processors

MethodAccounting SourceNotes
SquareExternalIf using Square's own Xero integration

Don't double-sync

If Square (or another processor) has its own Xero integration, set it to External in YardPilot. Setting it to YardPilot will create duplicate entries.

Invoice Sync

When enabled, YardPilot automatically creates a matching invoice in Xero every time you send an invoice to a client. This keeps your invoicing in sync across both systems without manual data entry.

How It Works

  1. You send (or mark as sent) an invoice in YardPilot
  2. YardPilot creates or finds the customer as a Xero contact
  3. A matching invoice is created in Xero with all line items, amounts, and GST
  4. When you record a payment in YardPilot, the payment is allocated against the Xero invoice

The sync is one-way — YardPilot pushes to Xero. Changes made directly in Xero are not pulled back into YardPilot.

Setting Up Invoice Sync

  1. Go to SettingsIntegrationsXero
  2. Ensure a Revenue Account is configured in Xero Accounts above — this is required before enabling invoice sync
  3. Under Invoice Sync, toggle it on
  4. Choose the Xero Invoice Status:
StatusWhat Happens in XeroBest For
DraftInvoice created as draft for reviewBookkeeper reviews before approving
AuthorisedInvoice created as approved, ready for paymentAutomated workflows, payment matching

Draft vs Authorised

Draft (default) is safest — your bookkeeper can review invoices in Xero before approving. Choose Authorised only if you want full automation and don't need Xero-side review.

Bank account for Authorised invoices

If you choose Authorised, make sure you've also configured a Bank Account in Xero Accounts. Xero needs this to allocate payments against authorised invoices.

What Gets Mapped

Each YardPilot invoice maps to a Xero invoice:

YardPilot FieldXero FieldNotes
Invoice numberInvoiceNumbere.g., INV-0042
Issued dateDate
Due dateDueDate
CustomerContactCreated in Xero if not found
Line itemsLineItemsName, quantity, unit price
GST includedLineAmountTypesInclusive or Exclusive
DiscountNegative lineAdded as a negative line item
AdjustmentExtra lineAdded as a positive/negative line item

Per-Item Account Codes

By default, all invoice line items use your company's revenue account. But you can map individual products or services to different Xero accounts.

For example, if "Lawn Mowing" should go to account 200 but "Pool Cleaning" should go to account 210:

  1. Go to SettingsProducts & Services
  2. Edit the catalog item (e.g., "Pool Cleaning")
  3. Under Xero Account, select the Xero revenue account
  4. Save

When an invoice containing that item is synced, the line item uses the item's account code instead of the default.

Fallback chain

If a catalog item doesn't have a Xero account set, or the line item isn't linked to a catalog item, the company's default revenue account is used.

Invoice Void Sync

When you void an invoice in YardPilot that was already synced to Xero, YardPilot automatically handles the Xero side:

Xero Invoice StatusWhat YardPilot Does
DraftDeletes the draft
AuthorisedVoids the invoice

If the invoice was already voided or deleted in Xero, YardPilot detects that and skips the API call.

Invoice Update Sync

If you edit a synced invoice and the Xero invoice was created as Draft, YardPilot updates the Xero draft to match your changes. Authorised Xero invoices cannot be updated — you'll need to void and recreate them.

Payment Allocation

When you record a payment against a YardPilot invoice that's been synced to Xero as Authorised, YardPilot creates a matching payment in Xero against that invoice.

Draft invoices and payments

Xero doesn't allow payments against Draft invoices. If your Xero invoice status is set to Draft, payments won't be allocated in Xero until the invoice is approved there.

Retry Failed Syncs

If a sync fails (e.g., temporary Xero API issue), you can retry it:

  1. Open the invoice in YardPilot
  2. Look for the Xero Sync status showing an error
  3. Click Retry Sync

Invoices with sync errors are also automatically retried in the background.

Account Mapping

Revenue, fees, and bank accounts are configured in Xero Accounts (see "Configuring Xero Accounts" above). Here's what each account is used for:

Revenue Account

Where your sales income is recorded. Must be:

  • Type: Revenue
  • GST: GST on Income (10%)

Common examples:

  • Sales - Lawn Care
  • Service Revenue
  • Sales Income

Fees Account

Where processor fees are recorded. Must be:

  • Type: Expense
  • GST: GST Free Expenses

Bank Account

Your business bank account where deposits arrive. Must be:

  • Type: Bank
  • Status: Active
  • Currency: AUD

How Reconciliation Works

Stripe/Square (Payout Flow)

  1. Customer pays invoice via Stripe → Payment recorded in YardPilot
  2. Stripe batches payments and initiates payout → YardPilot waits
  3. Stripe confirms payout complete → YardPilot posts to Xero:
    • Receive Money (revenue) into clearing account
    • Spend Money (fees) from clearing account
    • Transfer from clearing account to your bank
  4. Bank feed shows deposit → Match to the Transfer in Xero

When you open Bank Accounts → your business account in Xero, you'll see:

  • A deposit from Stripe (from bank feed)
  • A matching Transfer transaction from YardPilot

Click OK to reconcile. Done.

Clearing Account Balance: The clearing account should always be $0 after reconciliation. If it has a balance, unreconciled payouts are waiting for bank feed match.

Cash Payments (Immediate Flow)

  1. You record a cash payment in YardPilot
  2. YardPilot immediately syncs to Xero:
    • Creates the customer as a Xero contact (if not already exists)
    • Posts a Receive Money transaction to your Undeposited Funds account
  3. When you deposit cash at the bank, transfer from Undeposited Funds to your bank account in Xero

To reconcile your bank deposit:

  1. In Xero, go to Bank Accounts → your business account
  2. Find the cash deposit in your bank feed
  3. Create a Transfer from Undeposited Funds to your bank account
  4. Match the transfer to the bank deposit

Batching deposits

If you deposit multiple cash payments at once, the Undeposited Funds balance will accumulate. Transfer the total amount when you make your bank deposit.

Bank Transfer Payments (No Sync)

Bank transfer payments follow a simpler flow since they don't sync to Xero:

  1. Customer transfers payment to your bank account
  2. You see the deposit in your bank statement
  3. You manually record the payment in YardPilot (marks invoice as paid)
  4. Bank feed imports the deposit into Xero automatically
  5. In Xero, reconcile the bank feed transaction by matching it to the customer

You manually track the payment in YardPilot (for invoice status, customer balance) while Xero receives the transaction via bank feed.

Reconciliation Alerts

If a payout hasn't been reconciled in Xero after 5 business days, YardPilot will alert you with:

  • Payout reference and amount
  • Expected arrival date
  • Link to Xero reconciliation
  • Suggested actions

This helps catch issues like:

  • Bank feed not updating
  • Payout sent to wrong bank account
  • Stripe payout delays

Troubleshooting

Invoice not appearing in Xero

Check: Is Invoice Sync enabled?

  1. Go to SettingsIntegrationsXero
  2. Verify a revenue account is configured in Xero Accounts
  3. Verify Invoice Sync is toggled on

Check: Was the invoice sent?

Invoice sync triggers when you send an invoice or mark it as sent. Draft invoices are not synced — they may still change before you commit to sending.

Check: Does the invoice show a sync error?

  1. Open the invoice in YardPilot
  2. Look for the Xero Sync status badge
  3. If it shows an error, click Retry Sync

Invoice synced with wrong account code

If a line item ended up in the wrong Xero revenue account:

  1. Check if the catalog item has a custom Xero account set in SettingsProducts & Services
  2. If so, update the Xero account on the catalog item
  3. The next invoice containing that item will use the corrected account
  4. For already-synced Draft invoices, edit and resave the invoice in YardPilot to trigger an update

Payment not allocated to Xero invoice

Check: Is the Xero invoice Authorised?

Xero only allows payments against Authorised invoices. If your invoice status setting is Draft, payments won't be allocated until the invoice is approved in Xero.

Check: Is a bank account configured?

  1. Go to SettingsIntegrationsXeroXero Accounts
  2. Ensure a bank account is selected

Payout not appearing in Xero

Check: Is the processor set to YardPilot accounting source?

  1. Go to SettingsIntegrationsXeroPayment Processors
  2. Verify Stripe shows "Synced by YardPilot"

Check: Has Stripe confirmed the payout?

YardPilot only syncs after Stripe confirms the payout is complete. Check your Stripe dashboard for payout status.

Amounts don't match

If the Transfer amount doesn't match your bank deposit:

  • Refunds: Check if refunds were processed — they reduce the payout
  • Disputes: Chargebacks reduce payout amounts
  • Multiple payouts: Some days have multiple payouts — check dates
  • Currency: Ensure your Xero org uses AUD

Clearing account has a balance

This is normal if payouts are waiting for reconciliation. To clear it:

  1. Open Bank AccountsYardPilot Pay Clearing - Stripe
  2. Match each Transfer to the corresponding deposit in your bank account

Duplicate entries

If you see duplicate revenue/fees:

  1. Check if another integration is syncing the same processor
  2. Set conflicting processors to External in YardPilot
  3. Delete duplicate transactions in Xero

Cash payment not syncing

Check: Is the Cash processor set to YardPilot accounting source?

  1. Go to SettingsIntegrationsXeroPayment Processors
  2. Verify Cash shows "Synced by YardPilot"

Check: Is an Undeposited Funds account configured?

  1. In Payment Processors, check that an account is selected for Cash
  2. If the dropdown is empty, you may need to create an Undeposited Funds account in Xero (see "Creating an Undeposited Funds Account in Xero" above)

Check: Does the payment show a sync error?

  1. Go to the payment detail page in YardPilot
  2. Look for the Xero Sync status — if it shows an error, click Retry Sync
  3. If errors persist, check your Xero connection status

Cash payment synced but customer contact is wrong

YardPilot creates or finds Xero contacts based on the customer's email address. If a cash payment synced to the wrong contact:

  1. Check the customer's email in YardPilot matches their Xero contact
  2. If needed, merge duplicate contacts in Xero
  3. Future payments will use the correct contact once emails match

Undeposited Funds account dropdown is empty

If you don't see any accounts when configuring Cash:

  1. Verify your Xero connection — go to Settings → Integrations → Xero and check the connection status
  2. Check account requirements — the account must be:
    • Type: Bank
    • Status: Active (not archived)
    • Currency: AUD
    • No bank feed connected
  3. Create a new account — follow the "Creating an Undeposited Funds Account in Xero" instructions above

Bank transfer not appearing in Xero

Bank transfers are not synced from YardPilot to Xero — this is intentional. Your bank feed automatically imports bank transfer deposits into Xero.

To reconcile a bank transfer in Xero:

  1. Go to Bank Accounts → your business account
  2. Find the transfer in the bank feed
  3. Click CreateReceive Money
  4. Select the customer and allocate to your revenue account

Disconnecting Xero

To disconnect:

  1. Go to SettingsIntegrationsXero
  2. Click Disconnect
  3. Confirm

WARNING

Disconnecting stops all syncing. Transactions already in Xero remain unchanged. You'll need to record future payouts manually.

Backfilling Historical Data

If you connect Xero after already processing payments:

  1. Go to SettingsIntegrationsXeroPayment Processors
  2. Click Backfill next to Stripe
  3. Select a start date
  4. YardPilot will sync all confirmed payouts from that date

TIP

Only backfill from a date where you haven't already recorded entries manually. Overlapping dates will create duplicates.

GST Handling

YardPilot applies GST correctly for Australian businesses:

TransactionGST Treatment
Revenue (Receive Money)GST on Income (10%)
Fees (Spend Money)GST Free Expenses
TransferNo GST (bank transfers are not taxable)

This ensures your BAS reporting is accurate.

What's Not Synced

These features are not included in the current integration:

  • Two-way sync — changes made in Xero are not pulled back into YardPilot
  • Full contact sync — contacts are only created in Xero when syncing invoices or cash payments
  • Bank transfer payments — handled by your bank feed, not YardPilot (see above)
  • Multi-currency transactions — AUD only
  • Dispute automation — disputes must be handled manually in Stripe/Xero
  • Bulk backfill of invoices — only invoices sent after enabling sync are pushed to Xero

YardPilot remains your source of truth for invoices and customer records. Xero receives copies for accounting and reconciliation.

Field Service Management for Australian Businesses