Setup & configuration guide · Adaptive Pace
A step-by-step walkthrough of the Settings panel: connecting your accounts, setting up each sync, and configuring live sync, schedules, invoices and bills. Set the syncs up in the order below, because invoices and bills link back to your contacts and products.
Your monday boards and your Xero organisation, kept in step — so the same figures don't get typed twice.
Contacts, invoices and bills update within seconds of a change in Xero once live sync is on; everything also re-checks on a daily schedule so nothing is missed. Exactly what updates when is set out in How fresh is my data? — and there's a summary of your trial and plan at the end.
Who can do this: only monday admins can configure syncs. Other members see the cards in read-only form. Each install connects to one Xero organisation.
Set up in this order: Contacts and Products & Services first, then Invoices, then Bills. An invoice board links each customer to your Contacts board and each line's product to your Products board (via connect columns), so both must exist first. A bill board links each supplier to your Contacts board, so Contacts must exist before Bills.
One-time setup. The panel shows a three-step progress strip (Connect monday, Connect Xero, Create a sync) until you're fully set up.
Open the app's Settings panel. Under Connections you'll see the status of both platforms. Connect them in order; Xero only becomes available once monday is connected.

Xero connections expire from time to time. If yours does, the panel says so and shows a Reconnect Xero button — one click and a sign-in, and syncing picks up where it left off.
After Xero connects, the Connections panel shows your organisation's Country, Base currency, Edition, and Tax handling. The app detects these automatically and adapts field labels, currency, tax handling and date formatting to match your region, so there's no region setting to choose. It works with Xero's Australia, New Zealand and UK editions and the Global edition. For US and Canada organisations, contacts, invoices, bills, amounts, dates and currency sync normally, and the app shows a short note that region-specific tax isn't fully automated. The connection is never blocked.
Region labels and the tax, account and currency dropdowns are read from Xero after you connect. They appear on the first settings load once connected; if they aren't there yet, click Refresh once. Need to reconnect, or move to a different Xero organisation? See below.
Map a monday board to Xero Contacts. Do this first: invoices and bills both link their customers and suppliers back to this Contacts board.
On the Contact sync card, click Set up contact sync. The editor opens:
Leave the board unselected and click Create a new board. The app builds a board in your chosen workspace with every column already created and mapped. You can save immediately without touching the mapping.
Select your existing board from the dropdown. Its columns load and you map them yourself in the next step.
Switching to a different board clears the column mapping. Column IDs are board-specific, so mappings never carry across boards.
Can't see your board? Choose its workspace first — that narrows the list. If it's a board nobody has opened in a while, open it once in monday and reload this page.
Match your monday columns to Xero contact fields. Each dropdown only offers columns whose type fits the field (a date column can't be a Name, for instance), and no column can be mapped to two fields.

Missing a column? Click + Add “Email” column to this board under any unmapped field. The app creates a correctly-typed column and maps it in one click.
When your sync brings contacts from Xero, the app adds a read-only Contact type column and keeps it up to date. Each contact shows one of:
| Value | Meaning |
|---|---|
| Customer | You have raised at least one sales invoice for them. |
| Supplier | You have at least one bill from them. |
| Customer, Supplier | Both — you buy from them and sell to them. |
| (blank) | Neither yet. See the note below — this is normal. |
Why a column rather than a setting? Xero doesn't let you tick a box marking someone a customer or a supplier — it works it out from their invoices. So there is no reliable way to filter the sync by it, and a filter would risk quietly leaving contacts off your board. Instead every contact syncs and gets labelled, and you filter or group the board by this column when you only want to look at customers. That also keeps bill sync working, since it needs suppliers on the board to link them.
Blank is normal for a new contact. Xero marks someone a Customer the moment you raise their first sales invoice, and a Supplier when you enter their first bill — so a contact you have just created is neither, and the column stays blank until you invoice them. It fills in on the next sync after that.
The column is read-only: it is filled from Xero and never sent back, so editing it on the board has no effect. It only appears for syncs that bring contacts from Xero (the Xero → monday and Create both ways directions) — a monday → Xero sync never has anything to write into it. Boards made with Create a new board include it already.
Two different things can happen in a sync, and the direction controls each one separately:
Updates only ever flow one way, so there's never a conflict about which edit "wins":
| Direction | New records | Edits to a linked record |
|---|---|---|
| monday → Xero | Created in Xero from monday. | monday's values are written to Xero. Editing the contact in Xero won't change monday. |
| Xero → monday | Created in monday from Xero. | Xero's values are written to monday. Editing the item in monday won't change Xero. |
| Create both ways, update monday → Xero | Created on whichever side is missing it. | Edits flow monday → Xero only. |
| Create both ways, update Xero → monday | Created on whichever side is missing it. | Edits flow Xero → monday only. |
"Updating" means the app compares the mapped fields and writes across only the ones that differ, bringing the receiving side in line with the source. Read-only figures (outstanding/overdue balances) always come from Xero regardless of the direction you pick.
Click Save configuration. Validation runs first, and required fields or duplicate mappings are flagged inline.
Two manual tools sit on the Contact sync summary. You never have to wait for a schedule.

The counts at the top (Create / Update / Unchanged) tell you the shape of the run before you commit to it, and every row has a tick box so you can hold anything back. Before you Apply, the panel also tells you roughly how long the run will take.
Some rows may be set aside rather than synced — a contact with no name, two rows with the same name, or one that looks like it is already on your board. The preview counts them and says why, so you can see the whole picture before anything happens.
The app will not create a second copy of someone already on your board. If it spots a likely match that just isn't linked yet, it holds off and tells you. Run Match unfilled Xero IDs above to link them, and syncing carries on normally from there.
Previews are always read-only — nothing changes in monday or Xero until you click Apply. Leaving rows unticked is safe, and the panel tells you what happens to anything you skip. Re-running an Apply never creates duplicates either; the app re-checks against your current data before it writes.
Syncing a very large number of records at once? The app paces itself to stay within Xero's limits and picks up the remainder automatically — there is never anything to re-run by hand.
Map a monday board to your Xero Products & Services (items). Set this up before Invoices if you want invoice lines to reference Xero product codes.
On the Products & Services card, click Set up product sync. The flow is the same as Contact sync: pick a workspace, then Create a new board for a fully pre-mapped board or select an existing one, then map columns.
Products sync on the schedule only — there is no live sync for this card. Xero doesn't publish a real-time feed for Products & Services, so the Products card has a Scheduled sync row but no Live sync toggle. Product changes reach the other side on the next daily run, or immediately when you use Push products below. See How fresh is my data?

The same manual tools are available on the summary: Match unfilled Xero IDs (matches by Code and fills the Xero Item ID for unlinked rows) and Push products with the same read-only Preview then Apply.
Why do this before invoices? A scaffolded invoice board links each line's product back to this Products board through a connect column, so the Products board needs to exist first. If your invoices only ever use a single amount line (no per-product lines), a Products sync is optional.
Two things control when a sync runs: a daily schedule (every card has one) and live sync (contacts, invoices and bills). Set them on the card; changes save immediately.
| Sync | Live sync | Scheduled | On demand |
|---|---|---|---|
| Contacts | Yes — within seconds | Once a day | Push contacts · Match Xero IDs |
| Products & Services | No — none available | Once a day — the only automatic sync | Push products · Match Xero IDs |
| Invoice status paid · part-paid · voided |
Yes — within seconds | Once a day | Refresh Xero statuses |
| — Overdue specifically | No — date-driven, Xero sends no event | Up to 24h after the due date | Refresh Xero statuses |
| Bills | Yes — within seconds | Once a day | Preview → Apply |
The short version: live sync does the real-time work; the daily schedule is a safety net that catches anything a webhook missed. Products and the Overdue status are the two things that have no real-time path — for those, the schedule (or a manual refresh) is what updates them.
On the Contact, Invoice and Bill cards, the Live sync row shows ON or OFF with a Turn on / Turn off button. Live sync is webhook-driven and near real-time, so changes apply within seconds instead of waiting for the schedule.
Live sync is opt-in and off by default. The scheduled sync below keeps running either way as the safety net, so nothing is missed if a webhook is dropped.
About Overdue. An invoice becomes overdue because a date passed, not because anything changed in Xero — so there is no event to send, and no live sync can catch it. The daily scheduled run is what flips the label, which means it can appear up to 24 hours after the due date. If you need it immediately, an admin can click Refresh Xero statuses on the Invoice card, or Refresh now on the Xero dashboard. Every other payment status (paid, part-paid, voided) is live.
The Scheduled sync row sets when the daily run happens. Pick the hour and the timezone — for example "Daily at 6:00 AM, Australia/Sydney". That's the whole control; every sync runs once a day.
Pick a time that suits the sync. A quiet hour (early morning) keeps board activity out of your team's way; an hour just before you start work means the board is current when you open it.
You start with a time already chosen. Every sync in your account begins on the same daily time, picked for you when the app is installed, so all four syncs land together and your board is consistent as of one moment. (Different accounts get different times — that's deliberate, it spreads the load so everyone's sync runs promptly.) Change any card's time whenever you like; each card is independent, so you can move Bills to the evening and leave Contacts in the morning.
Real-time freshness is live sync's job — it applies changes within seconds. The scheduled run exists as a safety net underneath it: it re-checks everything, so a dropped webhook or a change made while a connection was down still gets picked up. Running that full re-check more often than daily would add load without adding freshness, because live sync has already handled anything that actually changed.
You never have to wait for it. Every card has an on-demand action (Push contacts, Push products, Refresh Xero statuses, bills Preview → Apply) that runs the same sync immediately.
The Last auto-sync row shows the most recent run's outcome (SUCCESS / PARTIAL / ERROR), what changed, and when.
Invoice sync has two halves: an automation that creates Xero draft invoices from board items, and a status sync that writes Xero payment status back to the board.
Prerequisite: set up Contact sync and Products & Services sync first. A new invoice board links each item's Customer to your Contacts board and each line's Product to your Products board through connect columns, so those boards must already exist.
On the Invoice sync card, click Set up invoice sync. Same flow: workspace, then a board (or Create a new board for a fully pre-mapped one), then:
Map a monday File column and its files upload onto the Xero invoice when it's created (up to 10 files per invoice, each up to 25 MB). Xero accepts these file types:
bmp · csv · doc · docx · eml · gif · jfif · jpeg · jpg · keynote · msg · numbers · odf · ods · odt · pages · pdf · png · ppt · pptx · rar · rtf · tif · tiff · txt · xls · xlsx · zip
Anything outside that list (for example SVG, HEIC, WEBP, or HTML), plus empty files, oversized files, and anything past the 10-file limit, is skipped. When that happens the app posts a comment on the item listing the files it skipped and why, so nothing fails silently.
One invoice sync per board. If a board already has one, edit that config instead of adding another. The Tax type and Account code dropdowns load from Xero after you connect; if they look empty, refresh the settings once. (Attachments need a one-time Xero reconnect if your org connected before the attachments permission was added.)
Invoices are created by a monday automation, not from the Settings card. On your board, add an automation with the recipe:

“When Status changes to Draft, Create a Xero draft invoice for Item.”
When an item hits the trigger status, the app creates a Xero draft invoice for it. Nothing is sent to a customer until you review and approve it in Xero. Re-triggering the same item updates the existing draft; it never creates a duplicate.
A new invoice board includes a colour-coded Status column that the app owns and fills in for you. It's the at-a-glance signal you can filter and build automations on. You don't map it and shouldn't rename its labels; the app keeps it in step with Xero. A second text column, Sync Status Description, carries the detail (for example "Paid INV-0001" or "Error: customer not linked").

Each label means:
| Status | What it means |
|---|---|
| Blank | Not synced yet. No invoice has been created for this item, or the app intentionally left it alone. |
| Draft | A draft invoice exists in Xero. Freshly created invoices start here (awaiting approval also shows as Draft). |
| Awaiting Payment | The invoice has been approved in Xero and is unpaid, but not yet overdue. |
| Partially Paid | Approved and part-paid, with a balance still owing and not yet overdue. |
| Overdue | Approved, still owing, and past its due date. Date-driven rather than a change in Xero, so it isn't instant — see About Overdue in step 7. |
| Paid | Fully paid in Xero. |
| Voided/Deleted | The invoice was voided or deleted in Xero. The description column says which. |
| Error | The item couldn't be turned into an invoice (for example the customer isn't linked or no account code is set). The Sync Status Description spells out the reason so you can fix the data; it resyncs automatically once fixed. |
If you bring your own invoice board instead of creating one, add a status column named "Status" for these colour-coded labels. Without it, the app still writes the text description, just not the coloured label.
Once an invoice exists, its Xero payment state is written back onto the board automatically (the Status column above plus an update timeline on the item).
For a portfolio view of what customers owe you, use the Xero dashboard: outstanding, overdue, aged buckets and most-overdue invoices, filterable by customer and due date. If you created your invoices board with Create a new board, a Xero dashboard tab is already on the board. On a board you mapped yourself, add it as a board view, or add the widget to any monday dashboard.

The dashboard's overdue figure and aged buckets follow the same daily cadence as the Overdue status, for the same reason. The panel shows when it was last updated, and admins get a Refresh now button that recalculates on the spot.
Mirror your Xero accounts-payable bills onto a board: one item per bill, one subitem per line, with suppliers linked to your Contacts board.
Prerequisite: set up Contact sync first. Each bill's supplier links back to your Contacts board through a connect column. (Products aren't needed for bills.)
On the Bill sync card, click set up, pick or create a board, and choose the History setting: All history, or only bills since a date you pick. Each bill becomes a board item named after its supplier and reference — for example “Acme Ltd - PO-5010”. Where a bill is missing one of those, the app names it from whatever it does have, so every row is still recognisable.

Bill sync is strictly one-way: the app never writes bills back to Xero. Board rows you archive as housekeeping aren't re-created (except a still-unpaid bill whose row went missing). A supplier links automatically once that contact exists on your Contacts board; until then the bill shows the supplier name as text and links itself on a later run.
What the free trial includes, what changes when it ends, and how to pick up where you left off.
You get everything. No feature is held back and nothing is capped — contacts, products, invoices, bills, live sync, the dashboard and every manual push all work exactly as they will on a paid plan. Set the whole thing up and run it against your real Xero organisation; that's the point of the trial.
The Settings panel shows how long is left (“12 days left in your free trial”) so you're never surprised.
Syncing pauses. It is deliberately the gentlest possible stop:
| What happens | What doesn't |
|---|---|
| New and scheduled syncs stop running, and the panel shows “Syncing is paused”. | Nothing is deleted. Every board item, every Xero record, and all your column mappings and settings stay exactly as they are. |
| Manual pushes and refreshes are unavailable until a plan is chosen. | Your Xero connection and board setup are kept, so there is nothing to rebuild. |
Nothing you have already synced is touched. Data that reached your boards or your Xero organisation is yours; pausing only stops new syncing. The same is true if you uninstall — see Editing and deleting.
Choose a plan from the app's listing in the monday marketplace. Syncing resumes on the next scheduled run, and you can start it immediately with any card's manual action (Push contacts, Refresh Xero statuses, bills Preview → Apply).
Anything that changed in Xero while syncing was paused is picked up on that first run — the scheduled sync re-checks both sides rather than only looking at what changed since it last ran, so there is no gap to backfill by hand.
Plan changes are a monday account-level action, so a monday admin handles them from the app's listing. Other members keep read-only access to the cards throughout.
Every sync card has Edit and Delete at the bottom of its summary.
Uninstalling the app entirely purges all stored tokens and configuration. Data already written into your boards and your Xero organisation remains yours, untouched.
The app tells you what it is doing and what it needs. Here is what the occasional message means — and why none of them puts your data at risk.
monday signs you in to the Settings panel for a short while at a time. If you have had the panel open a long time, just reload the page — nothing is lost, and no setting is left half-saved.
Large syncs run in batches, and the app always tells you how far it got — whether nothing was applied, or how many records were done. Either way it is safe to run it again: the app re-checks everything against your current data first, so nothing is ever duplicated or applied twice.
Problems with a single record are reported on the row itself, in its Sync status column (or Status and Sync Status Description for invoices). These are almost always small data fixes — a missing customer link, or a contact with no name. Fix it on the board and the row syncs itself on the next run; there is nothing to re-trigger.
The Settings panel will say which of these it is:
Every card has a Last auto-sync row showing the most recent run and how it went. And you never have to wait for the schedule — each card has a manual action that runs the same sync straight away.
Still stuck? Tell us the board, the sync type and roughly when you noticed — that is enough for us to trace it. Our address is at the bottom of this page.