Most Shopify-QuickBooks integrations work. Apps like A2X, Webgility, and OneSaas handle the standard case well: orders map to sales receipts, payment fees separate out, refunds post correctly.
If you're reading this, you've probably hit a case that isn't standard. Your data still doesn't match at month-end. Transactions are duplicating. Your COGS are wrong. The app is technically running, but the numbers aren't right.
Here's a clear-eyed look at what each major app is built for, where they break, and when custom automation is the right answer.
What the Apps Are Good At
Before getting into failure modes, it's worth being specific about what these tools actually do well.
A2X
A2X is purpose-built for Amazon and Shopify sellers who need clean reconciliation between marketplace payouts and QuickBooks. It handles the settlement logic — splitting payouts into sales, fees, refunds, and adjustments — better than any other app on the market. If you're doing straightforward DTC Shopify sales or Amazon FBA, A2X is probably the right tool.
Webgility
Webgility is stronger on multi-channel sync and inventory. It handles more platforms than A2X and has better support for syncing product data, not just financial transactions. Better fit for sellers with physical inventory who need QuickBooks to reflect stock levels.
OneSaas / Intuit-native connectors
These are fine for simple, single-channel operations. Light transaction volume, no bundling, no B2B terms. The moment your business gets more complex, they show their limits quickly.
Where They Break
These are the specific failure modes I've seen most often — the situations where the app is running, the sync is completing, and the numbers are still wrong.
Multi-channel with different fee structures
Shopify DTC, Amazon FBA, and wholesale all have different margin profiles and fee structures. Apps typically flatten these into a single revenue account or require significant manual configuration to separate them. When month-end rolls around, your P&L looks wrong because channel-level profitability is getting blended.
Custom discounts and promotional pricing
Discount codes, volume pricing, wholesale accounts with negotiated rates — most apps map discounts to a single discount line item in QuickBooks. If you need discount analysis by code, campaign, or customer type, you're going to need custom logic.
Bundle SKUs and component-level COGS
If you sell bundles — three individual products grouped as a kit — most integration apps sync the bundle as a single line item. QuickBooks receives a bundle SKU it doesn't know how to cost. Your COGS calculations break, and your inventory counts for the individual components don't decrease correctly.
B2B payment terms
Net 30, Net 60, partial deposits, and invoiced wholesale orders don't fit neatly into the apps' models. A2X in particular was built for immediate payment commerce. B2B receivables management in QuickBooks requires either significant manual intervention or a custom sync that handles terms correctly.
High transaction volume
At scale — roughly 1,000+ transactions per day — some apps start hitting API rate limits, sync delays, and timeout errors. You end up with gaps in your accounting data that are hard to detect and painful to reconstruct.
Decision Framework
Use this to decide whether to fix your existing configuration, switch apps, or build custom automation.
| Your situation | Recommendation |
|---|---|
| Single Shopify channel, DTC, under 200 orders/day, no bundles | A2X or Webgility — fix configuration before replacing |
| Amazon + Shopify, standard products, settlement-based accounting | A2X — it's built for exactly this |
| Physical inventory, multi-platform, need stock sync | Webgility — stronger on inventory than A2X |
| Wholesale/B2B with payment terms, or bundle SKUs | Custom automation — apps won't handle this cleanly |
| Multi-channel with channel-level P&L requirements | Custom automation with channel-specific account mapping |
| Over 1,000 transactions/day with data gaps | Evaluate direct API integration — apps may be the bottleneck |
Before You Build Custom Automation
Custom automation is the right answer when the app architecture genuinely can't handle your data model. But before going that route, check three things:
- –Is the app misconfigured? Chart of accounts mapping errors and incorrect product-to-item mapping cause the majority of issues I see. Review the mapping before blaming the app.
- –Are you on the right plan? Some app features — bundle handling, multi-location inventory — are gated to higher tiers.
- –Is QuickBooks the bottleneck? Sometimes the app is fine and the QuickBooks setup (wrong account types, missing items, class tracking not enabled) is what's causing the mismatch.
If you've confirmed the configuration is correct and the app still can't handle your data structure, that's when custom automation makes sense — a direct API integration that maps your exact data model to QuickBooks the way your business actually works.
That's a build I do. Start here and describe what's breaking.
Still fighting your integration?
I audit existing setups and build custom integrations when the app can't handle the data model. Most audits complete in 3-5 days.
Start with an audit →