Bring bills in from Xero
Connect a Xero organisation: its approved bills come in for review on Bills & receivables, go through the same check as a bill list, and become payables only when you add them. Choose the account payments made on Arc will be booked to.
Connect Xero, and the bills you approve there come into Vestiarion for you to review, without retyping them. Each bill goes through the same check as a bill list: duplicates, currency, the supplier. It becomes a payable only when you add it, and the agent then decides it as any other bill, with every guardrail.
Vestiarion reads from Xero, and writes to it only the payments an owner, admin or accountant approves: each payment made on Arc for a bill brought in from Xero, booked against that bill. Approving a bill in Xero does not approve its payment in Vestiarion.
Keeping your bills in QuickBooks Online or Zoho Books instead? Bring them in from QuickBooks or from Zoho Books: the same review list and the same check. A workspace can connect more than one.
Watch it
Under two minutes, from approved Xero bills coming in to one paid on Arc testnet. The steps below go through each part in full.
Read the transcript
This workspace is connected to Xero. Here, it's Xero's demo company.
Bills you approved in Xero come in on their own. Nothing becomes payable until a person adds it.
We add two of them, Swanston Security and PowerDirect.
Within half a minute, the agent has looked at both, and it holds them.
It says why. There's no purchase order on file, the bill is overdue, and the wallet is short.
Meanwhile, in Xero, the business pays PowerDirect from its bank, the way it always has.
In Xero, it now shows as paid.
Vestiarion checks Xero every fifteen minutes. Here we press Sync now.
It flags PowerDirect. It was paid in Xero after it was added, so nobody should pay it again.
Swanston still needs paying. In shadow mode, the payment goes to a mirror wallet on Arc testnet, while the real supplier is paid from the bank.
A person reads the agent's reasons, and approves it.
Paid at the same amount as the bill: 59.54 USDC on Arc testnet.
Here it is on the public explorer.
And the bill already paid in Xero is rejected, with a reason, so it never leaves twice.
Every decision is signed. Connect Xero: vestiarion.xyz
Before you start
- An owner or admin of the workspace connects Xero. Anyone else sees "An owner or admin connects Xero."
- A Xero organisation with bills: bills you approved in Xero, with an amount due. The Xero Demo Company works for a first try.
- The bills' currency. Outside shadow mode, Vestiarion pays bills in USDC or EURC, and Xero bills are in your own currency. In a workspace in shadow mode on Arc testnet, a bill in the business's own currency is added at its USDC amount at the day's rate, as a bill typed into the form is.
1.Connect Xero
Open Settings. Under Xero, choose Connect Xero.
The connect page has the workspace you came from already picked (if you manage several, you can pick another) and says what Vestiarion does with Xero's data:
- It reads the bills, suppliers and chart of accounts of the Xero organisation you pick. It writes to Xero only the payments an owner, admin or accountant approves: each payment made on Arc for a bill brought in from Xero, booked against that bill.
- The bills you add are shown to the workspace's members and to its agent. The agent's model provider (DeepSeek, on the hosted service) sees each bill's facts to decide on it, under that provider's own API terms. Read DeepSeek's API terms and privacy policy.
- Vestiarion never uses Xero data to train or improve any AI model, and never passes it to anyone else without your workspace's say.
Tick I agree, then choose Continue to Xero. Your agreement, with its date, is kept on the connection and in the workspace's signed ledger.
Xero asks you to sign in and to allow access. If you allow more than one organisation, Vestiarion then asks you to Pick the Xero organisation: choose one and Connect this organisation. The others stay authorised in Xero until you remove them there.
Back in Settings, the card says "Xero is connected. Its open bills are coming in for review on Bills & receivables." The ledger records accounting_connected.
2.Which bills come in
The first sync starts as soon as you connect. It brings in the bills Xero says are approved and still have an amount due, due or dated in the last 90 days or later. Older open bills stay in Xero; add one with the invoice form if you need it. After that, Vestiarion asks Xero every 15 minutes for what changed, and Sync now asks at once.
- Drafts and bills awaiting approval in Xero never come in.
- A bill paid, voided or deleted in Xero before you added it leaves the list.
- A bill paid, voided or deleted in Xero after you added it stays in Vestiarion, and is listed under "Closed in Xero after they were added", so you can reject it before the agent pays it. The ledger records
accounting_bill_closed. - A bill is never added twice. Each one is kept once by its id in Xero, and checked against the invoices already in Vestiarion.
3.Add the bills
Open Bills & receivables. Waiting for review, at the top, names the bills Xero brought in, such as "3 from Xero"; it opens "From Xero: 3 bills to add" beside the page, with the supplier, the bill's number, its amount due, its due day and what will happen to it:
- Ready to add, with its USDC amount for a bill in your own currency.
- Already in Vestiarion: same counterparty, amount, due date and reference., or "Same as bill PD-4471 from Xero." when Xero lists it twice.
- Can't be added, and why, in the same words as a bill list: for instance "Bills in USD are taken in shadow mode only. Turn it on for USD in Settings, or convert the amount to USDC."
None is ticked to start: tick each bill to add, or Select all, which ticks the bills that can be added. Then choose:
- Add, goods received, when the goods or services on the ticked bills were received;
- Add, not received yet, when they were not: the agent waits for them to be marked received before it pays;
- Dismiss, for bills you pay another way. They stay in Xero.
Each bill is added as one typed into the invoice form: the same checks, and a signed create_invoice entry that says via: "xero" with the Xero ids of the organisation, the bill and the supplier. Its decision trail says "A person added it, brought in from Xero." Dismissing records accounting_bills_dismissed.
The supplier. A bill goes to the counterparty its Xero supplier was linked to the first time, else to the one counterparty with its name (without regard to case, punctuation or a legal suffix). A supplier no counterparty has yet is added with the bill, marked New counterparty: a vendor with no payment address yet, a payment limit of its largest bill being added, and purchase orders needed, which you change on Counterparties. Add its payment address there before the agent can pay it.
The approval. Xero approving a bill does not approve its payment: the agent decides it, and a person decides what the agent stops.
4.Choose where payments will be booked
An owner or admin chooses the account in Xero that payments made on Arc will be booked to. Under Where payments made on Arc will be booked, choose Choose the account. Vestiarion reads your chart of accounts and offers its active bank accounts. The other accounts Xero lets take a payment, such as a clearing account or an owner's drawings, wait under Show other accounts that take payments, which says "These are not bank accounts": a supplier payment booked from an owner's equity or drawings account is almost always wrong, so check with your accountant first. Never a revenue or expense account.
Pick one to see how a payment would be booked: "A payment of 1,250.00 USDC to PowerDirect for bill PD-4471 will be booked in Xero as a payment of 1,250.00 USD from Arc USDC wallet (091), with the Arc transaction as its reference." The bill is one still open in Xero, in US dollars, with an amount due, one you added first. With none, the preview says it is an example: "For example, a payment of 100.00 USDC for a bill will be booked in Xero as a payment of 100.00 USD from Arc USDC wallet (091), with the Arc transaction as its reference." USDC is booked as USD and EURC as EUR, so an account in USD fits best. The network fee is shown apart and not booked to this account. Then Use this account. The ledger records accounting_payment_account_chosen.
Until someone chooses, the card says "Not chosen yet. Nothing is booked to an account nobody chose."
5.Book payments in Xero
When a bill you added from Xero is paid on Arc, by the agent or by a person, and the payment is confirmed, Vestiarion drafts its booking in Xero: within 15 minutes, or at once with Sync now. Nothing is written to Xero until an owner, admin or accountant approves it. A connection made before Oct 13, 2026 agreed that only an owner or admin approves: there an accountant is told to ask one of them, or to have Xero reconnected so an accountant can. See Work across clients as an accountant.
A payment is only ever booked into books of the same reality.
- A payment on Arc mainnet moved real money. It can be booked into your real Xero organisation.
- A payment on Arc testnet, and every payment in shadow mode, is booked only into an organisation Xero calls a demo company, such as the Xero Demo Company. In shadow mode your business also pays the bill from its bank and books that payment itself, so booking the mirror would book the bill twice. Into any other organisation it is "Not booked: payments in shadow mode and on Arc testnet are never booked into your real books." and nothing is sent.
Allow Vestiarion to book payments
Booking needs Xero's permission to write payments. A connection made before Vestiarion asked for it shows Allow Vestiarion to book payments on the Xero card in Settings and above the bookings. Choose it: Xero asks you to allow access again, and the same organisation reconnects, keeping its bills, links and the account you chose. Vestiarion reads what it read before.
Review, then approve
Open Bills & receivables. Waiting for review names the payments to book, such as "1 to book in Xero", and opens "To book in Xero: 1 payment" beside the page. Each payment shows what changes in Xero, as it is now and after booking: the bill's amount due and status (for instance 1,250.00 USD and Awaiting payment, then 0.00 USD and Paid), and the payment itself: its amount in the bill's currency, the account it is paid from, the day it was confirmed on Arc, and the Arc transaction as its reference.
USDC is booked as USD and EURC as EUR. A bill kept in your own currency in shadow mode is booked at the bill's own amount. Below each one is the payment on Arc it mirrors, and its network fee, which is shown apart and not booked: book it as a bank fee yourself if you keep fees.
Tick the payments to book, at most 10 at a time, and choose Approve and book. Each one is read again before it is sent:
- If anything changed since the page was read, such as the account chosen or the amount Xero says is due, it is not sent: "This booking changed since you saw it. Look at it again, then approve."
- A bill Xero shows paid already is never booked twice: "Already paid in Xero."
- Vestiarion first looks in Xero for a payment with the same reference on that bill and takes it if it is there, so a payment is booked once even when Xero did not answer the first time.
Once Xero answers, Vestiarion reads the payment back. The bill's card then says Booked in Xero, where the payment is ends with Booked in Xero and its Xero payment id, stated by Xero when Vestiarion read it back, and why it was paid shows a step, The books. The ledger records accounting_payment_drafted, accounting_payment_approved, accounting_payment_sent and accounting_payment_confirmed, or accounting_payment_failed or accounting_payment_refused when it was not booked.
To undo a booking, delete the payment in Xero. Vestiarion never books it again on its own.
6.When something goes wrong
The card says what happened, in words, and never "connected" while the last sync failed:
| The card says | What it means |
|---|---|
| The last sync with Xero failed | Xero did not answer, or its answer could not be read. The card says when Vestiarion tries again: a minute later, then longer after each failure, at most an hour. Nothing read so far is lost; the next sync goes on from where this one stopped. |
| Xero asked Vestiarion to slow down. Syncing again at 14:05 UTC. | Xero limits how often an app may ask, per minute and per day. The next sync starts at the time Xero gave, from where this one stopped. |
| Xero needs you to reconnect | Xero no longer accepts the connection: it was disconnected in Xero, or not used for 60 days. Choose Reconnect Xero: the bills, links and review list are kept. |
| Xero is not set up on this deployment yet. | The deployment has not finished setting up Xero. Nothing is read. |
| Xero did not answer, and no payment with this reference is there. | A booking did not go through. Approve it again: Vestiarion looks for it in Xero first, so it is never booked twice. |
| Xero refused the payment | Xero said why, in its own words: for instance a lock date before the payment's day. Fix it in Xero, then approve it again. |
7.Disconnect
An owner or admin chooses Disconnect Xero. Vestiarion asks Xero to end its access, deletes its tokens, and reads nothing more. Bills already added stay in Vestiarion, with their history. The ledger records accounting_disconnected. To connect again, choose Connect Xero.
Your data
- Xero's tokens are kept encrypted, readable only by the server, and never shown in the browser, a log, a model's prompt or a webhook.
- A bill's facts (supplier, number, amount, days) are shown to the workspace's members and to the agent. Its model provider sees them under that provider's own terms: on the hosted service, DeepSeek's API terms and privacy policy.
- To book a payment you approved, Vestiarion sends Xero the bill's id, the account's id, the day, the amount and the Arc transaction: nothing else.
- Vestiarion never uses Xero data to train or improve any AI model. See the privacy page.