Factory OS / MES Accounting

Connect ION Factory OS to Xero with AI

ION Factory OS runs your floor: purchase orders get cut, parts get received, work orders consume them. Xero runs your money: the same purchases arrive as supplier bills, get approved, and get paid. Between the two sits a gap that every hardware startup papers over with spreadsheets — finance asks "what did we actually receive against this bill?", ops asks "has this supplier been paid, because they are holding our next shipment hostage?", and someone spends an afternoon cross-referencing.

bomrail closes that gap without an integration project. Instead of syncing databases or building middleware, it exposes both systems to Claude (or any MCP-compatible agent) through a single hosted MCP endpoint. The agent reads live data from both sides and joins it in the answer: the ION PO, its receiving records, and the matching Xero bill with its payment status, in one response with every source cited.

Nothing is copied between systems and nothing is stored by bomrail beyond the audit log. ION stays the truth for procurement and inventory; Xero stays the truth for the ledger. What changes is that a three-way match — PO, receipt, bill — becomes a question you type instead of a reconciliation you schedule.

What becomes answerable

bomrail exposes both systems as read-only MCP tools. These are the joins an agent can make on demand:

Purchase orders

ION POs matched to Xero bills by PO number and supplier — spot bills with no receipt and receipts with no bill.

Receiving records

What actually arrived (quantities, dates, lots) against what Xero says you were invoiced for.

Supplier bills & payments

Paid/unpaid status, due dates, and amounts pulled live from Xero for any ION supplier.

Supplier records

One supplier view across both systems: open ION POs alongside outstanding Xero balances.

Spend by part or project

Roll ION PO lines up to Xero spend, so "what has the prototype run cost so far?" has a grounded answer.

Example: the three-way match, as a chat message

Your accountant flags a $12,400 bill from Apex Machining. Instead of forwarding it to ops and waiting a day, anyone asks: "Does the Apex bill from last week match what we ordered and received?" The agent pulls the bill from Xero, finds PO-0871 in ION, checks the receiving record, and answers that 38 of 40 machined housings were received — two were rejected at incoming inspection — so the bill overstates the delivery by two units.

That answer took three tool calls and about ten seconds. Every call is in the audit log: who asked, which records were read, what came back. The agent changed nothing in either system — bomrail connections are read-only unless you explicitly enable per-action approvals.

Frequently asked questions

Does bomrail copy data between ION and Xero?

No. bomrail is not a sync engine — it reads both systems live at question time and joins the results in the answer. ION and Xero each remain the source of truth for their own records, and there is no replicated database to drift out of date.

Can the AI create or pay bills in Xero?

Not by default. All tools are read-only on the Starter plan. On the Growth plan you can enable specific write actions (like drafting a bill), each of which requires a human to approve the exact action before it executes.

How do ION purchase orders get matched to Xero bills?

Primarily by PO reference and supplier. When a bill has no PO reference, the agent can match on supplier, amount, and date range, and it tells you the match is fuzzy rather than presenting it as certain.

What do we need to set this up?

Admin access to sign into ION and Xero via OAuth, and about fifteen minutes. bomrail gives you one MCP URL to add to Claude, Claude Code, or any MCP-compatible agent — no API keys to distribute to your team.

Related

Run ION and Xero?

That stack puts you at the front of the design-partner queue: white-glove setup, founder access, locked-in pricing — for honest feedback.

Apply for early access