What needs to sync
A complete Shopify–accounting integration moves more than just orders. It covers: order creation (mapped to the right income account by product category), sales tax collection (by jurisdiction, not just a single line), Shopify Payments payouts (net of fees, mapped to a clearing account), manual refunds and returns (as credit memos or negative invoices, depending on your workflow), gift card redemptions and issuances, and multi-currency transactions (converted at the transaction rate, not today's rate).
This is where app store connectors fail. Most handle simple order → invoice sync well. The moment you have Shopify Payments fee reconciliation, partial refunds, or custom tax treatments, the app creates incorrect records that your accountant has to manually fix every month.
The payout reconciliation problem
Shopify pays out in batches — orders from Monday through Thursday might hit your bank account the following Tuesday, net of Shopify's fees. This creates an accounting challenge: the order date, the payout date, and the fee deduction date are all different. Most connectors either ignore this entirely or handle it incorrectly, creating reconciliation nightmares at month-end.
A properly built integration uses a Shopify Payments clearing account: orders post to the clearing account on the order date, payouts move the net amount to your bank account on the payout date, and Shopify's fees post as an expense on the payout date. The result is a balance sheet that actually reconciles.
App vs. custom build
For most early-stage Shopify stores, a well-configured Xero or QuickBooks app (A2X is the best we've seen) handles the common cases adequately. We'll tell you honestly in a scoping call whether you need custom work. The triggers for custom development: complex tax treatment across multiple jurisdictions, multi-currency with specific conversion requirements, large volume (2,000+ orders/month where app processing time becomes a problem), or ERP integration that runs through the same accounting system. If you're inside those bounds, a properly configured app gets you 90% of the way there.