Support  ›  Settlements & posting  ›  UK VAT & MF orders

UK VAT and Marketplace Facilitator orders

UK Amazon sellers run into two VAT mechanics that affect how a settlement should land in Xero: the OUTPUT-side tax codes for income, and Marketplace Facilitator (MF) orders where Amazon collects and remits VAT on your behalf.

The OUTPUT-side tax codes

Xero's UK tax types separate the income side from the expenses side with a suffix. It's a small detail but it's the source of more support tickets than almost anything else, so it's worth getting right at the mapping screen and forgetting about thereafter.

CodeWhat it meansWhen TrueBooks uses it
OUTPUT220% VAT on incomeStandard UK sales, shipping income, refunds, retrocharged VAT
INPUT220% VAT on expenses (reclaimable)FBA fees, storage, advertising, commissions on UK-shipped orders
ZERORATEDOUTPUTZero-rated income (still goes in Box 6)MF-responsible sales — Amazon collects the VAT, you don't
REDUCEDRATEOUTPUT5% VAT on incomeRare; some reduced-rate goods (children's car seats, etc.)
NONEExcluded from the VAT return entirelyInventory reimbursements, internal Amazon credits
REVERSECHARGESReverse-charged services (UK customer importing from abroad)FBA fees on international orders, certain cross-border services
!

The income-side codes have an OUTPUT suffix; the codes without the suffix (ZERORATED, REDUCEDRATE) exist in Xero too but they're for purchases. Posting a sale with the wrong-side code returns a Xero validation error — the API rejects the invoice rather than booking it incorrectly.

What is a Marketplace Facilitator order?

For some destination jurisdictions, the marketplace itself is legally responsible for collecting and remitting VAT/sales tax to the tax authority — not the seller. Amazon UK applies this to a number of cross-border situations (e.g. low-value imports into the UK from a non-UK seller, sales to certain EU jurisdictions, US states with marketplace-facilitator laws).

When a row in your settlement is for an MF order, Amazon collects the gross from the customer, withholds the VAT portion, and disburses you the net. You see all the moving parts in the settlement: the principal, the tax, and a separate "withheld tax" line that backs the tax out.

How TrueBooks recognises MF orders

The signal is the presence of a ItemWithheldTax / MarketplaceFacilitatorVAT-* row tied to an order. When TrueBooks sees one of those, it flips the order into MF-handling mode and routes the rest of that order's lines accordingly:

The partial-withhold case

Most of the time the MarketplaceFacilitatorVAT withheld row exactly cancels the corresponding tax row, and TrueBooks can simply skip both. Occasionally Amazon withholds part of the VAT — usually on shipping — leaving a residual amount you actually receive. TrueBooks handles this by summing the principal/shipping plus the matching withheld row inside the MF branch, so the total you see in your Xero invoice matches the disbursement to the penny rather than slightly overstating the MF revenue.

The cross-border limitation worth knowing

Some non-MF cross-border orders (shipped outside the UK, dispatched from a UK warehouse, where the seller — not Amazon — is the VAT-collector) are indistinguishable from UK domestic orders in the settlement file alone. The flat-file format simply doesn't carry the destination country on these rows. To split them out properly you'd need a separate ship-to-country lookup against the SP-API order endpoint.

The practical impact: if you have a meaningful volume of seller-collected cross-border orders, your VAT breakdown by destination will look slightly off — the disbursement total is correct, but some sales that should be zero-rated may sit in the standard UK 20% bucket. TrueBooks logs this case explicitly in its classifier notes; we'll add SP-API destination enrichment as a follow-up so this lands correctly in a future update.

Quick sanity checks for your VAT return

The VAT Audit page in TrueBooks (Analytics → VAT Audit) breaks the active period out by category × VAT rate so you can reconcile against your filed return without re-counting every line by hand.