There is a job in your business that nobody applied for. Somebody, maybe you, exports orders from the store, opens the accounting software, and retypes what the store already knows. Every week, or worse, in one heroic session at month end.
We call it swivel-chair accounting: swivel to the store, read, swivel to the books, type. It survives in businesses that automate everything else, because it grows a few minutes at a time and never announces itself as a project. This article walks through what it actually costs, what the automated version looks like stage by stage, and how to decide between an off-the-shelf connector and a custom integration. We run this pipeline in production on our own platform, so the stages below come from operating it, not from a vendor brochure.
The manual reality, honestly described
Here is the loop as it actually runs in a small store doing, say, 200 orders a month:
- Export orders to CSV from the store admin. The export has the store's column names, not your accounting system's.
- Massage the CSV. Split combined fields, map payment methods, fix the date format, delete test orders you forgot to filter.
- Retype or import into the accounting software as invoices. Decide, again, how shipping charges and discounts map to your ledger accounts.
- Handle the exceptions by memory: that refund from the 14th, the partially cancelled order, the customer who paid twice.
- At month end, discover the books and the store disagree by some amount, and spend an evening finding out why.
At 200 orders a month this is somewhere between four and ten hours of monthly work, depending on how messy the exceptions are. The hours are the visible cost. The invisible costs are worse: transposition errors that surface at tax time, refunds recorded in the store but never in the books, and a sales report you quietly do not trust. In our integration scoping calls, the trigger is rarely the hours; it is the month someone found a discrepancy they could not explain.
The automated pipeline, stage by stage
Order-to-invoice automation is not one thing you buy; it is a pipeline of five stages, and every stage below has a failure mode that a good implementation must handle. This is the same pipeline we run in production for stores on our own platform, so the failure modes are ones we have personally been paged about.
Stage 1: the order event
When an order is paid, the store emits a webhook: a machine-readable message saying "order 1042 exists, here are its lines, taxes, shipping, and payment." Shopify and WooCommerce both support this natively. The subtlety is that webhooks can arrive twice, late, or out of order, so the receiving side must be idempotent: processing the same order event twice must produce one invoice, not two. This single property separates integrations that work from integrations that generate cleanup work.
Stage 2: invoice creation
The pipeline turns the order into an invoice in your accounting system, line by line: products, quantities, unit prices, discounts, shipping as its own line, and tax computed the way your accountant expects. The design decision that matters here is mapping. Which ledger account does shipping income go to? Are discounts a negative line or a reduced unit price? These questions sound trivial and are where most integrations quietly diverge from what the accountant wanted. Get the mapping agreed in writing before any code or connector is configured.
Stage 3: the ledger entry
A proper accounting system posts the invoice as a journal entry: revenue on one side, receivable or payment clearing on the other, tax in its own account. If your integration stops at "invoice created" you have automated the typing but not the accounting; someone still reconciles payments by hand. The full version also records the payment against the invoice, using the payment processor's reference so stage 5 has something to match on.
Stage 4: refunds and credit notes
This is the stage most cheap integrations skip, and it is where the books rot. A refund in the store must become a credit note in the books, linked to the original invoice, with tax reversed correctly. Partial refunds (one item out of three, or shipping only) are the hard case and the common case. If a vendor demo does not show a partial refund flowing through end to end, ask for exactly that before signing anything.
Stage 5: reconciliation
The unglamorous stage that pays for the whole pipeline. On a schedule, the system compares three sources: what the store says was sold, what the books say was invoiced, and what the payment processor says was deposited (minus its fees, which need their own ledger line). Matches are confirmed automatically; mismatches surface as a short exception list for a human. The goal is not zero human involvement. The goal is that the human handles the five weird cases, not the two hundred normal ones.
Connector or custom? The honest decision
Off-the-shelf connectors (the Shopify-to-QuickBooks and WooCommerce-to-Xero style apps, typically $20 to $100 per month) are the right default. If your store and accounting system are both mainstream, your tax situation is standard, and your mapping needs are close to the connector's defaults, buy the connector. It will be running this afternoon and someone else maintains it. Do not let anyone, including an agency, talk you into custom work that a $50 per month app performs adequately.
Custom integration earns its cost in specific situations: multi-channel sales that must merge into one set of books, non-standard tax treatment, an accounting system without a good connector, warehouse or inventory logic tied into the flow, or connector defaults that fight your accountant's chart of accounts. Custom work costs thousands up front instead of tens per month, and you own its maintenance. The break-even is real but further out than integration vendors imply.
The failure pattern we see most is the middle path: a connector configured to approximate a non-standard requirement, drifting slightly wrong every month, with the gap absorbed by manual journal corrections. That is the worst of both worlds, automated enough that nobody checks it, wrong enough that someone should.
Check it yourself: is your current setup actually working?
Three questions, answerable in under an hour:
- Pick five random orders from last month, including at least one refund. Find each one in your books. Do the amounts, tax, and dates match exactly?
- Take one month's payment processor deposits and reconcile them against your books' receipts for the same period. Does anyone in your business currently do this, or is it assumed?
- Ask whoever does your books how long month-end takes and what the last unexplained discrepancy was. The length of the pause before the answer is diagnostic.
If those five orders match, your reconciliation happens, and month-end is boring, your setup is fine regardless of how it is built. Boring books are the entire goal.
When you want it scoped properly
If the answers were less comfortable, the next step is a scoping conversation, not a purchase. We map your order flow, tax situation, and accounting setup, and tell you plainly whether a $50 connector covers you or where custom work is genuinely justified. Since we operate this pipeline in production ourselves, we scope from the failure modes, not the feature list.
Frequently asked questions
Can Shopify automatically create invoices in QuickBooks or Xero? Yes, through connector apps available in both app stores, typically $20 to $100 per month. They handle standard orders well. The points to verify before committing are partial refund handling, how processor fees are recorded, and whether the ledger account mapping matches what your accountant wants.
Does WooCommerce integrate with accounting software? Yes. WooCommerce has connector plugins for the major accounting systems, and because it is open source, custom integration is always possible when connectors fall short. The same cautions apply: test refunds and fee handling, not just the happy path of a simple paid order.
What is order reconciliation in ecommerce? It is the routine of checking that three records agree: what your store sold, what your books invoiced, and what your payment processor actually deposited after fees. Done manually it is slow enough that many stores skip it; automated, it runs on a schedule and surfaces only the exceptions for a human to review.
Is it worth automating accounting for a small online store? Below roughly 50 orders a month, manual entry or a simple CSV import is usually fine, and we tell store owners so. Past a couple hundred orders a month, or as soon as refunds and multiple sales channels enter the picture, the error rate of manual entry costs more than a connector subscription does.