Amazon Xero integration, reconciled to the penny
BeanHawk turns every Amazon payout into a clean, summarized Xero journal: sales, fees, refunds, and taxes mapped to the right accounts, reconciled against the deposit that actually hit your bank.
Why Amazon books break in Xero
- •Amazon pays in settlements that bundle sales, referral fees, FBA fees, refunds, reserves, and reimbursements into one deposit, so recording deposits as revenue breaks your books.
- •Amazon collects marketplace facilitator tax in most states, and it must not be booked as your income.
- •FBA inventory events (lost, damaged, reimbursed) need balance-sheet entries that most connectors leave to manual adjustments. BeanHawk posts them automatically.
How the integration works
- 1
Connect Amazon
Secure, read-only authorization in about 60 seconds. Multiple accounts and marketplaces supported.
- 2
Connect Xero
OAuth connection with professional default account mappings you (or your accountant) can adjust.
- 3
Review the first journal
BeanHawk parses each payout line by line and builds one summarized journal that must balance to the penny, or it will not post.
- 4
Reconcile in one click
The net deposit lands in a clearing account that matches your bank feed exactly. Every Amazon payout, accounted for.
Where each Amazon payout line belongs in Xero
| On the payout | Account | Why it matters |
|---|---|---|
| Product charges (principal) | Revenue: product sales | This is your gross sale before Amazon takes anything. If you only book the deposit, revenue is understated by every fee Amazon withheld, and every margin percentage built on that number is wrong. |
| Referral fee | Cost of sales: marketplace commission | It is charged per order, so it belongs with the sale it came from. Parked in general overhead, it vanishes from contribution margin and you cannot tell which SKUs actually pay for themselves. |
| FBA fulfilment fee (pick, pack, weight handling) | Cost of sales: fulfilment | It scales with units shipped. Treated as fixed overhead, any per-unit forecast or break-even price you build is off by the largest variable cost you have after product cost. |
| Monthly and long-term FBA storage fees | Operating expense: inventory storage | Storage tracks how long stock sits, not how much you sold. Mixed in with fulfilment fees, aging inventory stops being visible right up until the long-term fee lands. |
| Refunds: principal returned to the buyer | Contra-revenue: refunds and returns | Netting refunds straight against sales erases your return rate. Return rate is usually the first number that tells you a listing, a size chart, or a supplier has gone wrong. |
| Refund commission and administrative fee retained by Amazon | Cost of sales: marketplace commission | Amazon refunds most of the referral fee but keeps a slice. Booking the whole thing as a refund of revenue overstates the credit and quietly understates your true commission cost. |
| FBA inventory reimbursements for lost or damaged units | Other income: reimbursements, with an offsetting inventory adjustment | A reimbursement is not a sale. Counted as revenue it inflates the top line, and without the inventory offset your on-hand valuation still carries units that no longer exist. |
| Reserved or unavailable balance movement | Balance sheet: Amazon reserve (asset) | Reserve is money you have earned and cannot touch yet. Ignore it and the settlement total will never tie to the deposit, which is the single most common reason an Amazon clearing account refuses to go to zero. |
| Marketplace facilitator tax collected and remitted by Amazon | Pass-through tax account that nets to zero | Amazon collects it and Amazon remits it. Sitting in revenue it overstates income, and any state filing or tax estimate built off the profit and loss inherits the error. |
| Sponsored Products and other advertising charged inside the settlement | Operating expense: advertising | Ad spend is deducted before the deposit lands, so a seller who only looks at the bank line never sees it at all. That makes advertising look free and makes ACoS impossible to check against the books. |
How a month actually closes on Amazon
Amazon closes a settlement period and deposits the net. Periods run roughly every two weeks but the boundaries move, and they almost never line up with a calendar month. Closing a month starts with pulling every settlement report whose date range touches that month, not the ones whose deposits landed in it.
When a settlement straddles month end, split it by transaction posting date rather than deposit date. That means two summarized journals from one settlement file, one for each month, and the two of them together have to add back to the settlement total exactly. Deposit-date accounting is faster and it will misstate both months, which matters more the closer you get to a year end or a due diligence request.
Everything routes through an Amazon clearing account. The journal debits clearing for the net earned, and the deposit credits it when the cash arrives. Whatever is left in clearing at month end should be the amount Amazon owes you but has not paid: the open period plus reserve. If that balance is a number you cannot explain, the journal is wrong, not the bank.
Reserve is where most reconciliations fail. The unavailable balance moves between periods, and if it is not carried on the balance sheet the settlement math stops working even though every fee line was mapped correctly. Compare the reserve account balance to the account-level balance Amazon shows on the same date, and investigate the gap before you post rather than after.
Sellers running multiple regions or multiple accounts need separate clearing accounts per marketplace and per currency. Convert at whatever rate your policy specifies, then let the difference between the booked rate and the rate you actually received land in a realised foreign exchange account when the payout hits. Pooling Europe and North America into one clearing account is a reconciliation you will not win.
The last check before posting is arithmetic: gross sales, minus fees, minus refunds, plus reimbursements, plus or minus the reserve movement, should equal the deposit to the penny. BeanHawk refuses to post a journal that fails this test. A journal that balances but does not foot to the settlement is worse than no journal, because it looks finished.
What Xero does well, and where it needs help
Xero calls the posting mechanism a Manual Journal, and it behaves differently from a QuickBooks journal entry in ways that matter. Manual journals can be saved as drafts for review before posting, they can be set to auto-reverse on a chosen date, and they carry a 'show journal on cash basis reports' option that changes whether the entry appears in cash-basis reporting. BeanHawk posts a summarized manual journal per settlement period with the settlement reference in the narration.
Tracking categories are Xero's answer to segmenting by channel, and the constraint is specific: an organisation gets two tracking categories, each with a capped number of options (Xero has adjusted the option limit over time, so check the current figure). Spend one on Channel and think hard before committing the second, because there is no third. Sellers who use both on channel and marketplace region find they have nothing left for department or brand later.
Bank reconciliation in Xero pushes you toward Find and Match, and that is exactly what a marketplace deposit needs: match it against the clearing account transaction the manual journal created. The danger is bank rules. A rule that auto-codes anything from Amazon or Shopify straight to a sales account will happily book net deposits as revenue forever, understating sales and erasing every fee. If you already have such a rule, delete it before connecting anything.
Xero has no native landed cost function, and its inventory uses average cost rather than FIFO. Tracked inventory items in Xero also come with limits that multi-channel sellers hit quickly. The practical answer is the same one that works in QuickBooks: keep perpetual SKU-level valuation in a subledger, push freight and duty into unit cost there, and post a periodic summarized inventory and cost of goods sold journal into Xero.
Xero's plans cap how many invoices, bills, and in some cases bank transactions you can process per month, and plan names and limits have changed by region and over time. Manual journals are not usually the binding constraint, but if you also invoice wholesale customers out of Xero, the cap can be. Multi-currency is another plan-dependent feature and it matters directly if you sell across marketplaces in more than one currency, so confirm your plan before designing the chart of accounts around it.
For a cross-border seller, set up one clearing account per currency and let Xero handle the revaluation rather than converting everything by hand. Xero will post unrealised gains and losses on foreign currency balances at period end, which means your clearing account balance moves for reasons that have nothing to do with the marketplace. Knowing that in advance saves an afternoon of hunting for a difference that is working exactly as designed.
Frequently asked questions
- Can Xero connect to Amazon Seller Central directly?
- No. Xero's bank feed shows the Amazon payout and nothing about what produced it, and the connector apps in Xero's marketplace differ a lot in how much detail they break out. BeanHawk reads the settlement report itself, posts a manual journal against the Amazon clearing account, and leaves you a single Find and Match to do when the payout arrives in the bank.
- Should I use a Xero tracking category for each Amazon marketplace?
- It is a reasonable use of one of your two categories if you sell in several regions, with an option per marketplace. What tracking will not fix is currency. Each currency still needs its own clearing account, because Xero revalues foreign currency balances at period end and a pooled clearing account makes that revaluation impossible to interpret. Tracking answers 'which marketplace', not 'which currency'.
- Should Amazon deposits be recorded as revenue?
- No. A deposit is what is left after Amazon subtracts referral fees, FBA fees, advertising, refunds, and whatever it moved into reserve. Booking the deposit as sales understates revenue and makes every expense Amazon withheld disappear from your profit and loss entirely. Record gross sales, record each fee type separately, and let the deposit clear a balance sheet account.
- How do FBA reimbursements get booked?
- As other income, paired with an inventory adjustment for the units that were lost or destroyed. Two things happened: Amazon paid you, and stock left your valuation. Only recording the cash leaves phantom inventory on the balance sheet, and recording it as sales revenue inflates a top line that investors and lenders will test against your marketplace reports.
- Can Xero connect to a marketplace and code the fees on its own?
- Not on its own. Xero's bank feed brings in the deposit as a single line, and connector apps vary widely in how much of a settlement they break out. Xero has no way to know that a deposit contains commission, advertising, refunds, and a reserve movement. Something has to parse the settlement file and hand Xero a balanced manual journal, then you match the deposit against the clearing account.
- Do I actually need tracking categories in Xero for one sales channel?
- If you sell on one channel and nothing else, separate accounts are simpler and you can skip tracking entirely. Tracking earns its place the moment you add a second channel or a second region, because it lets you run a profit and loss per channel without duplicating the chart of accounts. Just remember you only get two categories, so spend the first one on the dimension you will report on most.
Connect Amazon to Xero free
Start with the free reimbursement audit, then flat all-channel pricing from $19/mo. No per-channel fees.
Also see: Amazon + QuickBooks Online · eBay + QuickBooks Online · eBay + Xero · Shopify + QuickBooks Online · all guides