Xero Integration
Push your invoices, payments, and client contacts to Xero for streamlined accounting and BAS preparation. Praxi's Xero integration uses a one-way push model with graceful fallback — if Xero is temporarily unavailable, syncs are queued and retried automatically.
When the Payroll Xero permission is authorised, Praxi can calculate pay from approved timesheets and push draft pay runs into Xero Payroll for your admin to review. Praxi does not lodge Single Touch Payroll (STP) Phase 2 with the ATO, and does not generate ABA bank payment files — complete those steps in Xero or your payroll provider.
Overview
The Xero integration:
| Feature | Description |
|---|---|
| Invoice sync | Pushes Praxi invoices to Xero as sales invoices |
| Payment recording | Applies payments to synced invoices when received |
| Contact sync | Creates or links Xero contacts as invoices sync |
| Reconciliation | Compares Praxi and Xero records and flags mismatches |
Data flows from Praxi to Xero only. Use Praxi as your source of truth for client invoices — creating the same invoices in both systems causes duplicates and reconciliation issues.
Prerequisites
Before connecting Xero:
| Requirement | Details |
|---|---|
| Xero subscription | Any current Xero business plan |
| Administrator access | Admin role in your Xero organisation |
| ABN | Australian Business Number configured in Xero |
| Praxi permissions | Practice owner or practice manager |
If you don't have Xero yet, create an account at xero.com/au and complete Xero's initial setup (business details, ABN, bank accounts) before connecting.
Connecting to Xero
- Go to Settings → Integrations → Xero
- Click Connect Xero
- Sign in to your Xero account
- Review the requested permissions on Xero's consent screen
- Click Allow access
- You're redirected back to Praxi with the connection active
Permissions Praxi requests
You'll see these on Xero's consent screen:
| Permission | Purpose |
|---|---|
| Accounting data | Push invoices and payments, read tax settings |
| Contacts | Create and update client contact records |
| Payroll | Employee, timesheet, and payroll configuration |
| Offline access | Keep the connection active between sessions |
Multiple Xero organisations
Praxi connects to one Xero organisation per practice. If your Xero login has access to several organisations, Praxi uses the first organisation Xero authorises. To switch organisations, disconnect and reconnect.
Verifying the connection
After connecting, the Xero settings page shows:
- Status Connected with your Xero organisation name
- A Test Connection button to confirm Praxi can reach Xero
- A Sync Now button to push outstanding invoices immediately
Choosing When Invoices Sync
Automatic sync is controlled from Settings → Billing Automation under Xero Accounting Sync:
| Toggle | What it does |
|---|---|
| Sync on invoice creation | Pushes each invoice to Xero when it's created |
| Sync on payment received | Pushes the payment to Xero when it's recorded |
Leave both off if you prefer to sync manually.
Syncing Invoices
Automatic sync
With the Billing Automation toggles on, invoices and payments flow to Xero as they happen — no manual steps.
Manual sync — single invoice
- Go to Billing → Invoices and open the invoice
- Open the invoice actions menu
- Click Sync to Xero
Once an invoice has synced, the same menu shows Open in Xero, which opens that invoice directly in Xero.
Manual sync — all outstanding invoices
- Go to Settings → Integrations → Xero
- Click Sync Now
This pushes all outstanding invoices in one batch.
What gets synced
| Data | Synced | Notes |
|---|---|---|
| Invoices | Yes | As Xero sales invoices |
| Payments | Yes | Applied to their invoices |
| Contacts | Yes | Created or linked as their invoices sync |
| Appointments | No | Only the invoices they generate |
Praxi matches existing Xero contacts by email address first, then phone number, then name, to avoid creating duplicates. Medicare details and clinical information are never sent to Xero.
Accounts and GST
Invoices sync to your Xero organisation's default accounts and tax settings. Custom account mapping isn't configurable in Praxi yet.
Most healthcare services (psychology, counselling, allied health) are GST-free under the GST Act. Review your first few synced invoices in Xero to confirm the tax treatment is correct before BAS time.
If a sync fails
When Xero is unreachable or returns an error, Praxi retries the sync automatically several times over about half an hour. If every retry fails, your practice owner and accountant are notified in Praxi and by email so the invoice can be re-synced manually.
A detailed sync history view on the Xero settings page is coming soon. In the meantime, the reconciliation dashboard (below) shows sync status and any records that need attention.
Reconciliation Dashboard
The reconciliation dashboard compares Praxi records against Xero and flags anything that doesn't match — available to practice owners and practice managers at Settings → Integrations → Xero → Reconciliation.
- Choose a period (last 30, 60, or 90 days)
- Run the reconciliation
- Review Pending Discrepancies — each shows the record and what differs
- Resolve each discrepancy: update Xero from Praxi, update Praxi from Xero, mark it as manually adjusted, or ignore it
- Past runs are listed under Reconciliation History
A weekly reconciliation run keeps small mismatches from accumulating into BAS-time problems.
Troubleshooting
The Xero settings area includes a dedicated troubleshooting page at Settings → Integrations → Xero → Troubleshoot with your live connection status and answers to common questions.
Connection lost
Xero connections can expire if your Xero subscription lapses, your password changes, or access is revoked from the Xero side. To reconnect:
- Go to Settings → Integrations → Xero
- Click Connect Xero
- Sign in and re-authorise
Invoice not appearing in Xero
- Check the Billing Automation toggles — if both are off, invoices only sync manually
- Open the invoice and use Sync to Xero to push it directly
- Run a reconciliation to surface any failed records
- If the sync fails repeatedly, test the connection from the Xero settings page and reconnect if needed
Duplicate invoices in Xero
- Keep Praxi as the source of truth — don't create client invoices manually in Xero
- Delete the duplicate in Xero
- Re-sync from Praxi if needed
Disconnecting Xero
- Go to Settings → Integrations → Xero
- In the Danger Zone section, click Disconnect
- Confirm
Disconnecting stops future syncs. Data already synced to Xero is not deleted. Reconnecting later may create duplicates if the same invoices sync again.
Best Practices
- Use Praxi as the source — don't create client invoices in Xero
- Sync on payment — enabling "Sync on payment received" keeps Xero records complete
- Test with one invoice — manually sync a single invoice before enabling automatic sync
- Reconcile weekly — catch mismatches early with the reconciliation dashboard
- Brief your bookkeeper — make sure whoever manages Xero knows invoices originate in Praxi