Integrations

Approved invoices post to Xero as bills

Vendor invoices arrive by email, get read, coded to a property and a GL account, and go through whatever approval you require. What lands in Xero at the end of that is an ordinary bill: the supplier as a contact, an account code and its own tax on every line, tracking where you use it, and the PDF the vendor sent attached to the bill where the invoice arrived with one. Connect QuickBooks Online as well and the same approved invoice posts to both.

The free plan processes 25 invoices a month with unlimited users, takes no credit card and does not expire. You get your own intake address at the end of setup.

What lands in Xero

One bill per approved invoice, and its attachment

  • The supplier is resolved to a Xero contact, from the mapping you reviewed once.
  • Every line carries its own account code — Xero keys accounts by code, so that is what is sent.
  • Every line carries its own tax, and the tax on the lines adds up to the tax on the bill to the cent.
  • Tracking categories are applied per line where you use them, so one bill can carry a different property on every line.
  • The PDF the vendor emailed is attached to the bill, where the invoice arrived with one, so the source document is one click from the ledger entry. The attachment is best-effort: a document that arrived without a PDF still posts, and an upload that fails never costs you the bill.
  • A multi-line invoice maps line by line, not as one lump.
  • The bill's Xero identifier is recorded against the document, so a ledger entry traces back to the original email.

What it does not write

A bill and its attachment, and nothing else. inletAP does not edit a bill that already exists in Xero, does not reorganize your chart of accounts, and does not pay anything — there are no payment rails in this product at all. If an invoice cannot be coded safely, it is held back rather than posted short.

Two ledgers

One invoice, one bill in each set of books

Connect Xero and QuickBooks Online together and an approved invoice reaches both under a single export run.

Each ledger is tried on its own

One ledger refusing does not roll the other one back, and it does not hold the good bill hostage while somebody fixes a mapping. The run posts what it can post.

A partial result says so

A document that reached one ledger and not the other reads partially exported, names the ledger that took it, and offers a retry for the one that did not. It does not read posted, because it is not.

Retries cannot double-post

A retry replays the same bills rather than posting new ones. Anything already in the ledger is recognized and skipped, in both Xero and QuickBooks Online.

A ledger that will not say is handled too

If Xero declines to say what happened to a request, inletAP does not guess and does not try again blindly. It looks the bill up in Xero and adopts the one that is already there, and only mints a new attempt once it knows there is none. That is the case where a duplicate bill normally gets made, and it is the one we went looking for.

A nightly check, on both — from Starter

On Starter and above, inletAP reads the bills it posted back out of every connected ledger each night and records what each one actually holds. A bill changed or removed downstream becomes a difference you can see rather than a silent disagreement. It is not in the free plan, which posts bills and reads nothing back.

A number you can check

One real bill, and the arithmetic it settled at

Read back out of Xero's own API after the bill was created, not computed by us and quoted at you.

A three-line invoice, as Xero holds it

Lines, before tax
1,450.00 + 370.00 + 380.00 = 2,200.00
Tax, split across those lines
119.63 + 30.52 + 31.35 = 181.50
Total
2,381.50

The tax on the invoice was one number. Xero carries tax on the line, so that number has to be divided three ways and the parts have to add back up to it — not to within a cent, to it. The split uses the same largest-remainder arithmetic the property splitter uses, so the odd cent lands somewhere deliberate rather than wherever floating point put it. Xero settled the bill at 2,381.50, which is the total the vendor printed on the invoice. An adjective would have been easier to write. A number is easier for you to check.

The honest boundary

What does not port from QuickBooks, and what we are not

Copying a QuickBooks sentence and swapping the brand name is how a false claim gets written. These are the places the two connectors genuinely differ.

The two connectors are not identical

Xero puts tracking on each line, so one Xero bill can carry a different property on every line. The ceiling is that a Xero organization defines at most two tracking categories in total, so properties have to be one of the two you already use. There is no Xero equivalent of coding a line to a unit as a sub-customer — that one stays QuickBooks-only, and we are not going to imply otherwise.

Not certified, and not on the Xero App Store

inletAP is not a Xero certified app, is not listed on the Xero App Store, and is not a Xero partner. Certification requires live customer connections we do not have yet, so it is ahead of us rather than behind us. The connector works today and you connect it from inside inletAP, and it is in limited release while it is new — no plan excludes it, but an uncertified app may hold only a capped pool of connections, so a new connection can be refused for a reason that is ours rather than yours. You are told that in words when you try, not afterwards. We will change this paragraph when the badge is real, and not before.

One more piece of plain speech: this is not a sync. Bills go one way, from inletAP into Xero. The only thing that travels back is the nightly read-back described above — a paid plan feature, and it changes nothing in your ledger.

Xero questions

What exactly does inletAP write into Xero?
One bill per approved invoice, and its attachment. The supplier is resolved to a Xero contact, every line carries its own account code and its own tax, tracking categories are applied where you use them, and the PDF the vendor emailed is attached to the bill where the invoice arrived with one. A multi-line invoice maps line by line rather than as a single lump, and the tax on the lines adds up to the tax on the bill to the cent. It writes nothing else: it does not edit a bill that already exists, and it never pays anything.
Can I post to Xero and QuickBooks Online at the same time?
Yes. Connect both and an approved invoice posts to each connected ledger, as one bill in each, under a single export run. Each ledger is tried on its own, so one refusing does not roll the other back. When that happens the document reads partially exported rather than posted, names the ledger that took it, and offers a retry for the one that did not. Retries are idempotent in both, so retrying cannot create a second bill.
Is inletAP a certified Xero app?
No. inletAP is not Xero certified and is not listed on the Xero App Store. Certification requires a number of live customer connections we do not have yet, so it is ahead of us rather than behind us, and we would rather say that here than let you find out in the marketplace search box. The connector itself works today — you connect it from inside inletAP.
Is this a two-way sync with Xero?
No, and we are not going to call it one. Bills go one way: inletAP posts them into Xero. The only thing that comes back is the nightly reconciliation check, which starts on the Starter plan: it reads the bills we posted and records what your ledger actually holds, so a bill that was changed or deleted in Xero shows up as a difference rather than as a silent disagreement. Nothing in Xero is edited or overwritten by that check, and on the free plan nothing reads your ledger at all.
Does the Xero connector do everything the QuickBooks one does?
No. Xero puts tracking on each line, so one Xero bill can carry a different property on every line. The ceiling is that a Xero organization defines at most two tracking categories in total, so properties have to be one of the two you already use. There is no Xero equivalent of coding a line to a unit as a sub-customer — that one stays QuickBooks-only, and we are not going to imply otherwise.
What happens if Xero refuses a bill?
The batch records the reason in the words Xero used — an account code that is not on the chart, a supplier with no contact mapped, a tax rate that does not exist in that organization — and offers a retry. A refusal never posts a partial bill: the bill either exists in Xero in full or it does not exist at all. Where a document could not be coded safely, inletAP holds it back rather than posting a supplier short.

Something here not answered? Ask us — and if the answer is “not yet”, that is what you will get.

Start free and run your own invoices through it

25 processed invoices a month, unlimited users, no credit card. Point a few vendors at your intake address and see the extraction, the coding and the audit trail on your own documents.