Shopify accounting software

Shopify accounting software that that syncs to QuickBooks & Xero

BeanHawk is the accounting software that connects Shopify to QuickBooks Online or Xero. Each payout batches orders by date and nets out fees, BeanHawk records revenue on the order date through a clearing account, so your periods stay accurate and every Shopify Payments fee, app charge, and refund lands in the right place.

Posts straight into your ledger

Shopify → QuickBooks Online & Xero

Pick your ledger. The integration is already built and mapped.

AmazoneBayShopifyWalmartBeanHawkQuickBooksXero

Why Shopify books break in a generic ledger

Payouts straddle months

Shopify batches orders by payout date, so a single payout can span two months. Recording revenue on the payout date warps your monthly numbers, order-date revenue with a clearing account keeps periods clean.

Fees hide inside the payout

Shopify Payments processing fees, app subscription charges, and refunds are netted into the deposit. Each belongs in its own expense account, not lumped into one 'Shopify income' line.

Store sales tax is your obligation

Unlike marketplaces, sales tax on your own Shopify store is yours to remit in nexus states. Your books need a tax liability account that actually reconciles, not tax buried in revenue.

See it in BeanHawk

Every settlement becomes one clean journal

BeanHawk parses each marketplace payout line by line and posts a single summarized journal to QuickBooks or Xero — sales, fees, refunds, facilitator tax, and reimbursements mapped to the right accounts, balanced to the penny.

  • Debits equal credits or it won't post — no more deposits booked as revenue
  • Marketplace facilitator tax routed to a liability account, out of your income
  • The net deposit lands in a clearing account that matches your bank feed exactly
See the QuickBooks & Xero sync →
app.beanhawk.com/books/settlementsBeanHawkDashboardReimbursementsBooksInventoryChannelsJRJordan R.Owner · Pro planSettlement → journalSettlement #90417Amazon · 14-day payout1,204 orders3,918 fee lines212 refunds1 net deposit$6,853.70 depositedOne deposit hidesa dozen line items.autoJournal entryPostedACCOUNTDRCRProduct sales12,480.00Referral fees1,872.00FBA fulfilment fees2,104.50Refunds640.00Facilitator tax (liability)1,014.20Reimbursements218.40Bank — net deposit6,853.70Balanced15,630.5015,630.50→ QuickBooks→ Xero

How the sync works

  1. 1

    Connect Shopify

    Secure, read-only authorization in about 60 seconds. Multiple accounts and marketplaces supported.

  2. 2

    Connect QuickBooks or Xero

    OAuth connection with professional default account mappings you, or your accountant, can adjust once and reuse.

  3. 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 won't post.

  4. 4

    Reconcile in one click

    The net deposit lands in a clearing account that matches your bank feed exactly. Every payout, accounted for.

Payouts don't respect your month end

Shopify Payments pays in batches. Orders captured over a period get grouped, fees come out, and one net amount lands in your bank a few days later. The batch boundary has nothing to do with your accounting calendar, so the last payout of January routinely contains orders from January and the first payout of February contains the rest of them.

Book revenue on the payout date and you've moved sales between months. On a growing store the distortion runs in one direction and quietly overstates the newer month. It also breaks any comparison against your Shopify analytics, which report by order date, so the two numbers never agree and nobody can say which one is wrong.

The fix is a clearing account. Revenue, discounts, shipping income, and tax post on the order date and debit clearing. When the payout arrives, the payout journal credits clearing and debits the bank for the net, with fees taken out on the way. Clearing returns to zero once every order in the batch has been paid out, and a stuck balance points straight at the order that didn't settle.

Shopify Payments is one gateway, and most stores have several

Shopify Payments deducts its processing fee inside the payout, so the fee is visible but only if you split it out. A third-party gateway behaves differently: PayPal, Amazon Pay, or an alternative processor collects the customer's money itself and deposits into your bank on its own schedule, with its own fee, on a separate bank feed. Shopify still records the order, but that cash never appears in a Shopify payout.

Stores that accept both end up with two or three deposit streams for one set of orders, plus a Shopify fee for using an external gateway on top of whatever the gateway charges. Reconcile only the Shopify payouts and a meaningful share of revenue goes unmatched. Reconcile each deposit stream to the same order-date revenue through separate clearing accounts and everything ties.

Chargebacks and payment disputes complicate it further, since the funds get pulled back on one date and, if you win, returned on another. Each side needs a journal, and holding disputed amounts in their own account keeps them from disappearing into processing fees. Fee structures differ by gateway and by plan, so check your current rates rather than assuming a number.

Sales tax on your own store is your obligation

This is the sharpest difference between a Shopify store and a marketplace. On Amazon or eBay, the marketplace collects and remits sales tax under facilitator laws in most states. On your own Shopify store, Shopify calculates the tax at checkout and collects it on your behalf, then hands it to you. Remitting it is your job, in every state where you have nexus.

That makes the tax you collect a liability from the moment the order is placed. It sits on the balance sheet until you file and pay, and the account should rise through the period and drop when you remit. If tax has been sitting inside your revenue line, both your income and your filings are built on the wrong number, and the correction gets more expensive the longer it runs.

Nexus itself follows economic thresholds that vary by state and get revised, and the rules for your own store differ from the marketplace rules you may already be used to. Keep the liability account clean and reconciled, and confirm registration and filing frequency with current state guidance or your tax advisor.

Apps, subscriptions, and the second bill Shopify sends

Store costs arrive on more than one path. Your Shopify plan and app subscriptions are billed on their own cycle and charged to your card or netted against payouts depending on your setup. Shipping labels bought through Shopify come out separately again. None of these are processing fees, and lumping them together produces a single Shopify expense line that tells you nothing.

Split them and the numbers start answering questions. Processing fees move with revenue, so they belong next to sales as a variable cost. App subscriptions are close to fixed and are the line that grows without anyone deciding it should, one trial at a time. Shipping label spend belongs with fulfillment cost, where it can be compared against the shipping income you charged customers.

Gift cards deserve their own treatment. Selling one isn't revenue, it's a liability, and revenue is recognized when the card is redeemed against an order. Discounts work as contra revenue rather than an expense, and tips collected at checkout are a pass-through if you hand them on. Each is a small entry that keeps gross revenue and net revenue honest.

Refunds, partial refunds, and the fee that doesn't come back

A refund on Shopify can be full or partial, can include or exclude shipping, and can be issued days or months after the original order. Whichever shape it takes, it reduces revenue, reverses the tax you collected, and, if inventory was restocked, moves a unit back into stock at cost.

Processing fees are the part that surprises people. Whether any portion of the original fee is returned when you refund depends on the gateway and its current policy, so treat the fee as a separate question from the refund itself rather than assuming it reverses. Check your gateway's current terms.

BeanHawk posts refunds against a contra revenue account rather than as an expense, so gross sales, refunds, and net sales are all visible. Refund rate then becomes something you can actually watch by month, which is usually more useful than the refund total.

Getting set up

Connecting Shopify so the books actually reconcile

  1. 1

    Connect your Shopify store

    Install BeanHawk on the store and grant read access to orders, payouts, products, and inventory. Multiple stores connect independently and can post to the same ledger or to separate ones.

  2. 2

    Map order-level accounts before payouts

    Start with what an order is made of: product revenue, discounts as contra revenue, shipping income, tips, gift card liability, and sales tax collected. Getting the order side right first makes the payout side much easier to check.

  3. 3

    Add a clearing account per deposit stream

    One for Shopify Payments, and one for each third-party gateway you accept. Order revenue debits clearing, payouts credit it, and a clearing account that doesn't return to zero tells you exactly which stream is unmatched.

  4. 4

    Split your Shopify costs into real expense accounts

    Processing fees, plan and app subscriptions, and shipping labels each get their own account. It takes ten minutes once and it's the difference between knowing your variable cost per order and guessing at it.

  5. 5

    Set up the sales tax liability account

    Point collected tax at a liability account, not revenue, and record your remittances against it. Reconcile the balance to your filings each period so the account trends to zero after every payment.

  6. 6

    Reconcile one full payout cycle, then let it run

    Take a payout that's already cleared your bank, match it to the orders inside it, and confirm clearing lands at zero. Once one cycle ties cleanly, ongoing payouts post automatically and only exceptions need your attention.

Common questions

Does BeanHawk connect Shopify to QuickBooks?

Yes. BeanHawk syncs Shopify to QuickBooks Online, posting each payout as a summarized journal with order revenue, fees, refunds, and sales tax split out correctly. See the Shopify + QuickBooks integration.

How do I use QuickBooks for Shopify accounting?

QuickBooks alone imports Shopify payouts as a single deposit, which hides fees and mixes tax into revenue. BeanHawk sits between them and posts a proper journal, so QuickBooks reflects real sales, fees, and tax liability.

Does BeanHawk work with Xero for Shopify?

Yes, the Shopify + Xero integration posts the same penny-accurate journals into Xero, with a clearing account that matches each payout to your bank feed.

How much does BeanHawk cost?

Start free with a reimbursement audit, then flat pricing from $19/mo with every channel, Shopify, Amazon, eBay and more, included. No per-channel fees.

Get Shopify books syncing

Start with the free reimbursement audit, then flat all-channel pricing from $19/mo. No per-channel fees.

More channels: Amazon accounting software · eBay accounting software · all channels · vs A2X · vs Link My Books