The challenge
Bascuda, a UK seller on Etsy, keeps its books in Xero and needed every Etsy ledger entry to reach Xero without anyone copying it across.
Managing ecommerce finances is hard when the platforms do not talk to each other. Etsy does not offer trigger-based automation for ledger updates, so real-time syncing with Xero was impossible. That meant delayed entries, manual work and inconsistent financial tracking.
An Etsy ledger is also busy. One account holds sale receipts, transaction and processing fees, listing fees, shipping labels, Etsy Ads, refunds, adjustments and payouts to the bank. Each one belongs somewhere different in Xero, with its own account and VAT treatment. A payout is money moving between two bank accounts, so it cannot be booked as an expense. Etsy also reports amounts in pence, with a minus sign on every debit.
What we built
Amatec built a Make.com scenario that runs once a day, reads the last day of Etsy ledger entries, and posts each entry into Xero according to its type.
The scenario uses Etsy’s List Account Ledger Entries module with a window from one day ago to now, so each run picks up only the new entries and nothing is posted twice. A router then sends every entry down the path that matches its reference type.
- Receipts, transactions, processing fees and listing fees: the scenario fetches the Etsy receipt and creates a Spend Money transaction in Xero, referenced with “Etsy” and the receipt number. When an entry has no receipt to fetch, an error handler creates the same transaction without the reference and resumes the run.
- Payouts (disbursements): a Xero bank transfer from the Etsy account to the business bank account, which is what lets payouts match on reconciliation.
- Shipping labels: posted as platform and marketplace fees with no VAT.
- Etsy Ads: posted to advertising and marketing.
- Offsite ads fees, shipping refunds and auto-renew refunds: a switch on the entry description picks the account and VAT code for each one.
- Payment adjustments and recoupments: posted against UK sales at 20% VAT on income.
- Any positive amount: recorded as Receive Money.
Every amount is divided by 100 and stripped of its minus sign before it reaches Xero. Every line is tagged with Xero’s Sales Channel tracking category set to Etsy, so Etsy results can be read on their own in Xero reports.
Entries the router does not recognise are kept, never dropped. A text aggregator gathers them into a “Ledger Details” summary with the description, type, amount and date of each, and the scenario emails it to Bascuda at the end of the run. Whatever the rules could not classify lands with a person who can.
In the project notes the solution has five parts: automated retrieval once a day, smart filtering by entry type, delta detection so only new entries go through, a tailored integration that matches the client’s accounting setup, and the end-of-run report.
The results
The documented result is a 100% reduction in manual entry: Etsy bookkeeping for Bascuda now happens without anyone typing it into Xero.
- 100% reduction in manual entry.
- Daily financial accuracy, with Xero never more than a day behind Etsy.
- Smoother bank reconciliations, because payouts arrive as transfers and fees arrive already coded.
- Time saved for the client to focus on growing their business.
The account and VAT choices are written once, as rules, so the same fee is always coded the same way. Nobody has to remember which Etsy fee carries reverse charge VAT, or where a shipping refund goes.
Etsy’s missing trigger was the real constraint here. A scheduled daily pull with careful routing does the job a webhook would have done, and the emailed summary covers the edge cases a rule cannot.