Skip to main content

Xero Integration Guide

Updated over 3 weeks ago

Overview

RentalTide integrates with Xero to automatically sync your daily transactions, making your accounting workflow seamless and accurate.

Key Benefits

  • Automated daily sync - No manual data entry required

  • Accurate bookkeeping - Double-entry accounting ensures balanced books

  • Deferred revenue tracking - Properly accounts for advance bookings

  • Multi-currency support - Handles Stripe settlements in different currencies

  • Real-time invoice creation - Account charge transactions become Xero invoices

Getting Started

Step 1: Connect Xero

  1. Navigate to Settings → Integrations

  2. Find the Xero integration card

  3. Click Connect to Xero

  4. Authorize RentalTide to access your Xero organization

  5. Select your Xero organization (if you have multiple)

Step 2: Configure Account Mappings

After connecting, you'll need to map RentalTide accounts to your Xero Chart of Accounts:

Required Mappings

  1. Bank Account

  • Where daily cash deposits are recorded

  • Example: "Operating Account" or "Cash at Bank"

  1. Deferred Revenue Account

  • Liability account for advance booking payments

  • Example: "Deferred Revenue" or "Advance Payments"

  • Account Type: CURRENT LIABILITY

  1. Revenue Clearing Account

  • Temporary holding account for booking deposits

  • Example: "Revenue Clearing" or "Deposit Clearing"

  • Account Type: CURRENT ASSET (NOT Bank type)

  • Why needed: Xero manual journals cannot use bank accounts

Important: The Revenue Clearing Account must be a CURRENT ASSET or CURRENT account type. DO NOT use a BANK type account, as Xero's API will reject manual journals that include bank accounts.

Step 3: Configure GL Codes

RentalTide supports two methods for GL codes:

Method 1: Direct Xero Codes (Recommended)

Configure your inventory and tax codes to match your Xero account names directly:

For Inventory Revenue Accounts:

  1. Go to Operations → Inventory (or Business → Inventory)

  2. Edit each boat/item

  3. Set GL Code to match your Xero revenue account name

  • Example: "Boats", "Kayak Rentals", "Equipment Sales"

For Tax Accounts:

  1. Go to Admin → Locations (or Settings → Locations)

  2. Edit your location

  3. Under Tax Settings, set each tax rate's GL code to match your Xero tax account names

  • Example: "GST", "PST", "Sales Tax"

For A/R Account:

  1. In Location settings under Details or Accounting

  2. Set A/R GL Code to match your Xero accounts receivable account

  • Example: "A/R", "Accounts Receivable", "Trade Debtors"

Benefits:

  • No manual mapping required

  • Codes sync directly to Xero

  • Easier to understand in reports

Method 2: Numeric Code Mappings (Legacy)

If you're using RentalTide's numeric internal codes (e.g., "6545", "3055"), you'll need to map them:

  1. Go to Settings → Integrations → Xero

  2. Click Manage GL Code Mappings

  3. Map each numeric code to your Xero account code

  • Example: Map "6545" → "Boats", "3055" → "GST"

How Syncing Works

Daily Cashout Sync

At the end of each day:

  1. Go to POS → Cashout

  2. Select your date range

  3. Review the daily summary

  4. Click Sync to Xero

RentalTide will create ONE manual journal in Xero containing all transactions for that day, aggregated by account type.

What gets synced:

  • Cash sales

  • Credit card sales

  • POS retail sales

  • Tips collected

  • Check-in transactions (revenue recognition)

What doesn't get synced in cashout:

  • Booking deposits (synced automatically when booking is made)

  • Online booking payments (synced automatically)

  • Transactions already synced as manual journals

Booking & Check-in Accounting

RentalTide uses deferred revenue accounting for bookings:

When Customer Books

What happens:

  • Customer pays deposit online or at POS

  • Creates a manual journal in Xero automatically (synced when payment is recorded):

  • Debit: Revenue Clearing Account

  • Credit: Deferred Revenue (liability)

  • NO revenue recognized yet (service not rendered)

  • NO tax recorded yet (accrual basis)

In your books:

  • Deferred Revenue shows as a liability

  • Money is in Revenue Clearing Account

Note: This sync happens automatically when the payment transaction is created, not at cashout time.

When Customer Checks In

What happens:

  • Customer arrives and checks in

  • Creates a manual journal in Xero automatically:

  • Debit: Deferred Revenue (clears the liability)

  • Credit: Revenue account (e.g., "Boats")

  • Credit: Tax accounts (e.g., "GST")

  • Debit: A/R (if balance owed)

  • Revenue is recognized (service rendered)

  • Tax liabilities created (accrual basis)

In your books:

  • Deferred Revenue liability is cleared

  • Revenue appears in income statement

  • Tax liabilities created

Account Charge Invoices

When a customer purchases on their account:

What happens:

  • Transaction creates an invoice in Xero automatically

  • Invoice is assigned to the customer's Xero contact

  • Creates A/R entry for the amount owed

Customer pays down account:

  • Creates a payment against the invoice

  • Clears A/R

Revenue Clearing Account Explained

Why is this needed?

Xero's API has a restriction: Manual journals cannot include bank-type accounts. This means when we receive a booking deposit, we cannot directly post it to your bank account in a manual journal.

The solution:

  1. Booking deposit → Goes to Revenue Clearing Account (CURRENT ASSET)

  2. Later → You move funds from Revenue Clearing to Bank (via bank transaction or invoice)

Think of it as:

  • A temporary holding pen for deposits

  • Tracks money received but not yet "banked" in Xero

  • Cleared regularly by reconciling to actual bank deposits

Best Practice:

  • Reconcile Revenue Clearing Account weekly

  • Create bank transactions to move funds: DR Bank, CR Revenue Clearing

  • Or use Xero's bank feed to match deposits

Common Questions

Why don't I see my booking deposits in the cashout?

Booking deposits are automatically synced as manual journals when the booking is made. They are filtered out of the cashout to prevent duplicate entries in Xero.

You'll see them in:

  • Xero → Manual Journals → Look for "Booking deposit" entries

  • Deferred Revenue account balance

What if a transaction fails to sync?

Check for these common issues:

  1. "Unmapped GL codes"

  • Some account codes need to be mapped

  • Go to Settings → Integrations → Xero → GL Mappings

  • Map the codes mentioned in the error

  1. "Xero connection expired"

  • Reconnect to Xero: Settings → Integrations → Xero → Reconnect

  • This happens periodically for security

  1. "Transaction unbalanced"

  • Contact support - this indicates a calculation error

  • Provide the transaction ID from the error message

How do I handle refunds?

Refunds create negative journal entries that offset the original transaction. When you sync your daily summary, the refund amounts are included and balanced properly.

Can I sync multiple days at once?

Yes! On the Cashout page, select a date range (e.g., last week) and RentalTide will create one aggregated manual journal for the entire period.

What happens to tips?

Tips are tracked separately and posted to a Tips Payable account (liability), representing money you owe to staff.

When you pay out tips to staff, create a transaction in Xero:

  • Debit: Tips Payable

  • Credit: Bank Account (or Cash)

Troubleshooting

Issue: "Account code not found in Xero"

Cause: The GL code mapped doesn't exist in your Xero chart of accounts

Solution:

  1. Go to Xero → Settings → Chart of Accounts

  2. Create the missing account

  3. Or update your mapping to use an existing account code

Issue: Manual journal doesn't balance

Cause: Rare calculation error or timing issue

Solution:

  1. Check the transaction details in RentalTide

  2. Verify tax calculations are correct

  3. Contact support with the transaction ID

Issue: Duplicate entries appearing

Cause: Transaction synced both automatically and in daily cashout

Solution:

  • This should be filtered automatically

  • If you see duplicates, contact support

  • Provide the date range and transaction IDs

Issue: Revenue Clearing Account has a large balance

Cause: Booking deposits accumulating without being moved to bank account

Solution:

  1. Check your Revenue Clearing Account in Xero

  2. Create bank transactions to move funds to your actual bank account:

  • DR: Bank Account

  • CR: Revenue Clearing

  1. Or use Xero's bank feed to match deposits

  2. Aim to clear this account weekly

Best Practices

  1. Sync daily - Don't let transactions pile up. Sync at end of each business day.

  1. Review before syncing - Check the cashout summary for accuracy before clicking Sync.

  1. Reconcile Revenue Clearing - Weekly reconciliation keeps this account clean.

  1. Use direct GL codes - Configure inventory and tax codes to match Xero account names directly (Method 1 above).

  1. Check Deferred Revenue - Monitor your Deferred Revenue account balance to see advance bookings liability.

  1. Keep Xero connected - If you see "reconnection required", reconnect immediately to avoid sync gaps.

Did this answer your question?