Xero Integration
Connect Restaurant Revolution to Xero for automated accounting.
Overview
Xero integration provides:
- Automatic journal entries - Daily sales posted automatically
- Invoice sync - Corporate accounts and catering
- Multi-currency - International transactions
- Bank reconciliation - Match POS to bank feeds
- Contact sync - Customers and suppliers
Connection Setup
Prerequisites
- Xero Standard or Premium
- Xero admin access
- Restaurant Revolution Professional plan
Connection Steps
- Go to Settings > Integrations > Accounting
- Click Connect Xero
- Sign in to your Xero account
- Select the organization (if multiple)
- Authorize Restaurant Revolution
- Review permissions and confirm
Xero Permissions
Restaurant Revolution requests:
| Permission | Purpose |
|---|---|
| accounting.transactions | Create journal entries |
| accounting.contacts | Sync customers/vendors |
| accounting.settings | Read chart of accounts |
| accounting.reports.read | View financial data |
Account Mapping
Chart of Accounts
Xero account mapping:
┌─────────────────────────────────────────────────────────────────┐
│ XERO ACCOUNT MAPPING │
├─────────────────────────────────────────────────────────────────┤
│ │
│ Revenue Accounts │
│ ─────────────────────────────────────────────────────────── │
│ Food Sales → 200 - Sales │
│ Beverage Sales → 200 - Sales │
│ Catering → 201 - Other Revenue │
│ │
│ Bank Accounts │
│ ─────────────────────────────────────────────────────────── │
│ Cash → 090 - Cash on Hand │
│ Credit Card → 091 - Clearing Account │
│ Checking → 092 - Bank Account │
│ │
│ Liability Accounts │
│ ─────────────────────────────────────────────────────────── │
│ Tips Payable → 803 - Wages Payable │
│ Gift Cards → 840 - Other Current Liabilities │
│ Sales Tax → 820 - GST/VAT │
│ │
│ Expense Accounts │
│ ─────────────────────────────────────────────────────────── │
│ COGS → 310 - Cost of Sales │
│ Discounts → 400 - Discounts │
│ CC Fees → 404 - Merchant Fees │
│ │
│ [Save Mapping] │
│ │
└─────────────────────────────────────────────────────────────────┘
Tracking Categories
Map to Xero tracking categories:
| Category Type | POS Field | Xero Tracking |
|---|---|---|
| Location | Location name | Region tracking |
| Department | Revenue category | Category tracking |
| Daypart | Meal period | Optional tracking |
Multi-Currency Support
Currency Configuration
For international operations:
┌─────────────────────────────────────────────────────────────────┐
│ MULTI-CURRENCY SETTINGS │
├─────────────────────────────────────────────────────────────────┤
│ │
│ Base Currency: USD - US Dollar │
│ │
│ Location Currencies: │
│ ─────────────────────────────────────────────────────────── │
│ Main Street (USA) → USD │
│ Toronto (Canada) → CAD │
│ London (UK) → GBP │
│ │
│ Exchange Rate Source: [Xero Daily Rates ▼] │
│ │
│ [Save Settings] │
│ │
└─────────────────────────────────────────────────────────────────┘
Currency Conversion
Entries convert using:
- Daily exchange rates from Xero
- Transaction date rates
- Automatic gain/loss calculation
Tax Rate Mapping
GST/VAT Configuration
Map tax rates between systems:
| POS Tax Rate | Xero Tax Rate | Rate |
|---|---|---|
| Sales Tax | GST on Income | 10% |
| Reduced Rate | Reduced Rate | 5% |
| Zero Rated | Zero Rated | 0% |
| Exempt | Exempt | 0% |
Tax Settings
┌─────────────────────────────────────────────────────────────────┐
│ TAX RATE MAPPING │
├─────────────────────────────────────────────────────────────────┤
│ │
│ Default Tax Behavior: │
│ [●] Tax inclusive pricing │
│ [ ] Tax exclusive pricing │
│ │
│ Tax Rate Mapping: │
│ ─────────────────────────────────────────────────────────── │
│ Food (Standard) → GST on Income (10%) │
│ Beverage (Standard) → GST on Income (10%) │
│ Takeaway Food → Reduced Rate (5%) │
│ Gift Cards → Exempt │
│ │
└─────────────────────────────────────────────────────────────────┘
Journal Entries
Daily Sales Entry
Manual Journal: Daily Sales Summary
Date: 24 Jan 2026
Reference: RR-DS-20260124
Line Account Debit Credit Tax
────────────────────────────────────────────────────────────
1 Cash on Hand $1,245.00 -
2 Clearing Account $3,856.25 -
3 Gift Card Redemptions $125.00 -
4 Sales $4,726.25 GST
5 Wages Payable - Tips $643.00 -
6 Gift Card Liability $200.00 -
7 GST $430.50 -
────────────────────────────────────────────────────────────
TOTAL $5,226.25 $5,226.25
Bank Deposit Entry
Manual Journal: Credit Card Deposit
Date: 25 Jan 2026
Reference: RR-CCB-20260125
Line Account Debit Credit Tax
────────────────────────────────────────────────────────────
1 Bank Account $3,748.34 -
2 Merchant Fees $107.91 GST
3 Clearing Account $3,856.25 -
────────────────────────────────────────────────────────────
TOTAL $3,856.25 $3,856.25
Invoice Integration
Corporate Account Invoices
For corporate catering and accounts:
┌─────────────────────────────────────────────────────────────────┐
│ INVOICE SYNC │
├─────────────────────────────────────────────────────────────────┤
│ │
│ Acme Corporation │
│ Invoice: INV-2456 │
│ Date: Jan 24, 2026 │
│ Due: Feb 23, 2026 (Net 30) │
│ │
│ Items: │
│ ─────────────────────────────────────────────────────────── │
│ Catering - Board Meeting (25 pax) $625.00 │
│ Delivery Fee $50.00 │
│ ─────────────────────────────────────────────────────────── │
│ Subtotal $675.00 │
│ GST (10%) $67.50 │
│ Total $742.50 │
│ │
│ Status: ● Synced to Xero │
│ │
└─────────────────────────────────────────────────────────────────┘
Invoice Settings
| Setting | Options |
|---|---|
| Auto-create invoices | Corporate orders, All catering, Manual |
| Payment terms | Net 7, Net 14, Net 30, Custom |
| Invoice prefix | RR-INV- |
| Email invoices | Via Xero, Via POS, Manual |
Bank Reconciliation
Matching Deposits
Connect bank feeds to POS data:
┌─────────────────────────────────────────────────────────────────┐
│ BANK RECONCILIATION │
├─────────────────────────────────────────────────────────────────┤
│ │
│ Bank Transaction POS Settlement │
│ ─────────────────────────────────────────────────────────── │
│ │
│ Jan 25: $3,748.34 │
│ Visa/MC Deposit ←→ CC Batch 012426 │
│ [Match] [Split] [Skip] Amount: $3,856.25 │
│ Less fees: -$107.91 │
│ Net: $3,748.34 ✓ │
│ │
│ Jan 25: $1,245.00 │
│ Cash Deposit ←→ Cash Drop 012426 │
│ [Match] [Split] [Skip] Amount: $1,245.00 ✓ │
│ │
│ ═══════════════════════════════════════════════════════════ │
│ Unmatched POS Settlements: 0 │
│ Unmatched Bank Transactions: 0 │
│ │
└─────────────────────────────────────────────────────────────────┘
Auto-Matching Rules
Create rules for automatic matching:
| Rule | Condition | Action |
|---|---|---|
| CC Deposit | Description contains "Visa" | Match to CC clearing |
| Cash | Reference starts "CASH" | Match to cash drop |
| AmEx | Description contains "AmEx" | Match to AmEx clearing |
Sync Settings
Configure Sync
┌─────────────────────────────────────────────────────────────────┐
│ XERO SYNC SETTINGS │
├─────────────────────────────────────────────────────────────────┤
│ │
│ JOURNAL ENTRIES │
│ ─────────────────────────────────────────────────────────── │
│ [✓] Daily sales summary │
│ [✓] Payment deposits │
│ [✓] Tax entries │
│ [✓] Tip liability │
│ [ ] Individual transactions │
│ │
│ INVOICING │
│ ─────────────────────────────────────────────────────────── │
│ [✓] Sync corporate invoices │
│ [✓] Sync catering invoices │
│ [ ] Sync all customer invoices │
│ │
│ CONTACTS │
│ ─────────────────────────────────────────────────────────── │
│ [✓] Sync corporate customers │
│ [✓] Sync loyalty members │
│ [✓] Sync suppliers │
│ │
│ TIMING │
│ ─────────────────────────────────────────────────────────── │
│ Frequency: [Daily ▼] │
│ Time: [11:00 PM ▼] │
│ │
│ [Save Settings] │
│ │
└─────────────────────────────────────────────────────────────────┘
Sync Status
Dashboard View
┌─────────────────────────────────────────────────────────────────┐
│ XERO CONNECTION STATUS │
├─────────────────────────────────────────────────────────────────┤
│ │
│ Connection: ● Connected │
│ Organization: Main Street Restaurant Pty Ltd │
│ Last Sync: Jan 24, 2026 11:05 PM │
│ Next Sync: Jan 25, 2026 11:00 PM │
│ │
│ SYNC SUMMARY (Last 7 Days) │
│ ─────────────────────────────────────────────────────────── │
│ Journal entries created: 7 │
│ Invoices synced: 3 │
│ Contacts synced: 12 │
│ Bank items matched: 14 │
│ Errors: 0 │
│ │
│ [Sync Now] [View History] [Disconnect] │
│ │
└─────────────────────────────────────────────────────────────────┘
Troubleshooting
Common Issues
| Issue | Cause | Solution |
|---|---|---|
| Token expired | 30-day limit | Reconnect authorization |
| Account missing | Deleted in Xero | Update mapping |
| Duplicate entry | Manual + auto | Delete duplicate |
| Tax mismatch | Rate changed | Update tax mapping |
| Currency error | Rate unavailable | Use manual rate |
Error Messages
| Error | Meaning | Fix |
|---|---|---|
Account not found | Mapped account deleted | Update account mapping |
Organisation locked | Xero period closed | Adjust entry date |
Rate limit exceeded | Too many API calls | Wait and retry |
Invalid tax rate | Tax rate not in Xero | Add tax rate to Xero |
Voice Commands
| Task | Say |
|---|---|
| Check status | "Hey Maximus, Xero sync status" |
| Sync now | "Hey Maximus, sync to Xero" |
| View invoices | "Hey Maximus, show pending Xero invoices" |
| Reconnect | "Hey Maximus, reconnect Xero" |
Best Practices
Initial Setup
- Verify organization - Correct Xero org selected
- Review accounts - Ensure all needed accounts exist
- Map carefully - AI suggestions are starting points
- Test first - Sync one day manually, verify
Ongoing
- Monitor daily - Check sync completed
- Reconcile weekly - Match bank transactions
- Update mappings - When adding categories
- Review exceptions - Address errors promptly
Related Guides
- Accounting Overview - Integration overview
- Journal Entries - Understanding entries
- Reconciliation - Bank matching