Movepro Docs / Finance & Xero

Finance & Xero

Movepro is not designed to be your accounting system, and doesn't try to be. It is the source of truth for your operational and sales information: the jobs, the payments received, the invoices raised. Those invoices sync to Xero, and Xero is where reconciliations, BAS and end-of-year work happen. This page covers the finance side: connecting Xero, mapping accounts, how invoices sync (and how voiding works), the Finance views, the per-order P&L, and payouts.

In this guide

Connect Xero and set the sync defaults

An admin connects the account from Settings → Integrations: click Connect to Xero, authorise access in Xero, and the card comes back as . The Invoice Sync Settings then appear underneath. These are the global fallbacks the system uses whenever nothing more specific is set:

Every one of these dropdowns is fed live from your Xero organisation, so what you see is your own chart of accounts.

Integrations settings connected to Xero with revenue, cost, tax, branding and bank account defaults
Connected, with the global defaults set: revenue to Sales, costs to Purchases, and payments recorded against the savings account.
Defaults, not decisions. These settings are the fallback. Catalogue items can carry their own accounts, and each invoice can override everything again, per line or for the whole invoice.

Map accounts on catalogue items

For revenue tracking that sorts itself, put the mapping on the catalogue items. Open a rate card, edit an item, and two extra fields appear once Xero is connected: a cost account in the Buy section and a revenue account in the Sell section. You might buy packing materials against Cost of Goods Sold and sell them under Other Revenue, while your hourly moves stay in Sales. When these items land on an invoice, each line arrives in Xero already coded.

Edit catalogue item panel with a Xero cost account selected in the Buy section
A tea chest mapped to 310 - Cost of Goods Sold on the buy side; the sell side takes a revenue account the same way.

The payment status column

The Jobs list carries two status columns. Status is the order itself (Booked, Completed); the one that matters to finance is Payment status, which compares money received against the order total:

Jobs list with the payment status column showing settled, balance owing, deposit paid, unpaid and overpaid
The Payment status column on the Jobs list: on a completed job you want to see green Settled.
The daily scan. Completed job, anything other than Settled: open it and find out why. The order's Payments tab has the detail.

How invoices sync to Xero

Invoices are created on the order, and with Xero connected the editor becomes account-aware. Each line item carries its own revenue account (prefilled from the catalogue mapping, changeable per line), and the Xero Settings section can override the whole invoice instead: one revenue account for everything, tax types, the branding theme and the payment bank account. Payments ticked on the invoice flow through with it, so the invoice arrives in Xero with its payments already applied. Invoice numbering is managed by Xero.

Xero settings expanded inside the invoice editor with default revenue account, tax types, branding theme and bank account
Invoice-level overrides: set one revenue account here if you don't need per-line tracking.

A saved invoice shows a Xero tag in the Invoices tab, meaning it synced. The row's Sync from Xero action re-pulls it whenever the Xero side changes. In Xero itself, the invoice looks exactly as built: the line items with their accounts, the linked payments, and nothing due.

The synced invoice in Xero with line items, accounts, three applied payments and zero amount due
The Movepro invoice in Xero: line items coded, the three payments applied, amount due $0.00.

Voiding an invoice, and fixing sync errors

There is no draft state for invoices. Once created, an invoice is treated as sent, and by accounting convention you don't edit a sent invoice: you void it and create a new one (the row's ⋮ menu has both). Two rules keep this clean:

  1. You can't void an invoice that has payments applied. Movepro will report "Cannot void Xero invoice with status PAID". Un-assign the payments from the invoice in Xero first, then void.
  2. If a void comes back with a red Xero sync failed on the order's Invoices tab (the Details link explains why; sync failures surface there, not in the Finance menu), fix it on the Xero side: mark the invoice void in Xero, then use Sync from Xero on the row to pull the corrected status back.
Invoices tab with a void invoice showing a Xero sync failed error and its tooltip
The void that couldn't sync: payments were still attached in Xero, so Xero refused it.
Invoices tab with a paid invoice and a void invoice, both carrying Xero tags
Resolved: the replacement invoice is Paid, the old one is Void, and both carry the Xero tag.

The Finance menu: payments, transactions, purchase orders

The Finance item in the left menu holds the company-wide money views. Only the Owner, Admin and Finance roles see it; managers, operations and sales staff work with money on the order itself.

The order P&L

Every order has a Profit & loss view (the button sits in the order header), and it becomes meaningful once the order is marked complete. Because quotes are built from catalogue items that carry both a cost and a sell price, the P&L can lay out Expected against Actual for every line: the revenue items, additional charges like the call-out fee, and labour, where the assigned crew's hours are costed at their rate-role rates.

Order P&L with expected and actual columns for pickup items, additional charges and labour
Expected vs actual, per group: line revenue, quantities and unit costs, with labour costed from the crew's clocked hours.

Add cost drops an unplanned line into the actuals so the ledger stays honest: a $200 goodwill payment, a parking fine, a tolls surprise. The bottom of the page rolls everything up to net revenue per service and for the whole order.

Order P&L with a manually added goodwill cost and the order totals showing expected versus actual net revenue
A $200 goodwill payment added to actuals: expected net was -$0.02, actual net is -$200.02. The order totals tell the real story.
What it's for. Per-job P&L is the raw material for pricing decisions: which job types earn, where to push marketing, and where the quoting needs another look.

Payouts: card money on the way to your bank

When card payments run through Stripe, cleared money is paid out to your bank automatically: daily by default, with the frequency changeable from the Payouts page. Each payout bundles the day's transactions into a single bank deposit, which is why the deposit on your statement rarely matches any one job. Finance → Payouts is the view that unpicks them: every payout with its date, status (In Transit, then Paid) and destination account, plus the running balance still on its way. Payouts is the most tightly gated page in the CRM: only the Owner and Finance roles can open it.

Click a payout to see exactly what's inside: a timeline (initiated, in transit, completed), the statement descriptor to find it on your bank statement, and a summary of charges, refunds, adjustments and fees, followed by every transaction with its order reference. That's reconciliation sorted: for the $576.27 that landed, look up each order reference in Movepro and tick them off.

Payouts page with a payout opened showing the summary of charges, refunds and fees and the transaction list with order references
A payout opened: five charges minus fees and a refund make the $576.27 deposit, with an order reference on every payment. Bank account details in this screenshot are masked.
Where it lands. The bank account payouts go to is set in Payment settings. Transactions clear roughly every 24 hours, so today's card payment is usually in tomorrow's payout.
Previous← Costs & pricing NextTeam & affiliates →