Tax for ecommerce is the set of sales, use, and income tax rules that apply when a Shopify or DTC brand sells online — plus the accounting mechanics that move those tax dollars through the general ledger. Most guides stop at nexus checklists. This one goes deeper: how tax collection, remittance timing, and marketplace facilitator rules actually distort gross margin, contribution margin, and cash forecasts on a real Shopify P&L.
What Does Tax for Ecommerce Actually Mean on a Shopify P&L?
Tax for ecommerce covers three distinct flows: sales tax collected from customers (a liability), income tax owed on profit (an expense), and use tax on business purchases. For a Shopify brand, the sales tax flow is where most bookkeeping errors happen — because Shopify payouts, marketplace facilitators, and apps like Recharge each route tax differently through the books.
In our work closing books for 100+ Shopify stores each month, the single most common mistake is treating sales tax as part of revenue. When a customer pays $110 on a $100 order with 10% tax, only $100 is revenue. The $10 belongs on the balance sheet as Sales Tax Payable until the state pulls it. Getting this wrong inflates top-line sales by 5–10% and quietly overstates gross margin every month.
The three tax buckets that hit a DTC brand
- Sales tax — collected from the customer at checkout, held as a liability, remitted to each state where the brand has nexus.
- Income tax — owed on net profit at the federal and state level, filed via Schedule C, 1120, or 1120-S depending on entity type per the SBA guide to choosing a business structure.
- Use tax — owed on business purchases (samples, equipment, software) where sales tax was not collected by the vendor. Frequently missed in DTC bookkeeping.
Sales tax is not revenue. It is a pass-through liability. Every accounting error in ecommerce tax starts with forgetting that one sentence.
Actionable takeaway: A Shopify store should confirm its chart of accounts has a dedicated Sales Tax Payable liability account, separate from revenue, and that Shopify payouts are mapped so the tax portion lands there — not in sales. For deeper mechanics on this, see the Ottit guide on ecommerce sales tax cost.
How Does Sales Tax Collection Flow Through Shopify Payouts?
Shopify Payments deposits net payouts — gross sales minus refunds and processing fees — into the connected bank account, typically on a 2–3 business day rolling schedule per the Shopify Help Center guide to payouts. Sales tax collected sits inside that gross payout amount, meaning the tax dollars land in the bank account before the state ever pulls them.
This creates a cash-timing quirk unique to ecommerce. A brand can look flush at month-end and then hemorrhage cash on the 20th when Texas, California, and New York all pull their monthly remittances at once. Stores selling $500,000/month at a blended 7% tax rate are effectively floating $35,000 of state money — which is fine, until it isn't.
A typical Shopify payout journal entry with sales tax
Notice that Sales Tax Payable increases by $800 even though the cash is already in the bank. That $800 will stay on the balance sheet until the state pulls it — typically on the 20th of the following month. Multiply this across 40+ states and the balance sheet carries a rolling liability that often exceeds monthly EBITDA for growth-stage brands.
Cash forecast impact
Actionable takeaway: DTC brands often sweep sales tax collections into a separate high-yield account (Mercury Treasury, Brex Cash) so the money is earmarked and earns yield until remittance. This also prevents the 20th-of-the-month cash shock. See the Ottit guide on cash flow statements for Shopify brands for how this shows up in the CFS.
How Do Marketplace Facilitator Rules Change the Journal Entries?
Marketplace facilitator laws — now enacted in 45+ states following the 2018 South Dakota v. Wayfair Supreme Court decision — require platforms like Amazon, TikTok Shop, Walmart, and eBay to collect and remit sales tax on behalf of their sellers. The seller sees the tax pass through the order but never accrues a payable. Getting the journal entry right here is where most bookkeepers stumble.
The three most common facilitator scenarios
| Channel | Who collects sales tax | Booked to Sales Tax Payable? | Shows on state return? |
|---|---|---|---|
| Shopify DTC (own store) | The seller (via Shopify Tax or Avalara) | Yes | Yes — full tax |
| Amazon FBA | Amazon (facilitator) | No | Reported as gross, tax excluded |
| TikTok Shop | TikTok (facilitator) | No | Reported as gross, tax excluded |
| Faire (wholesale) | Faire (facilitator in most states) | No | Depends on state |
| Shop Pay in facilitator states | Varies — often Shopify collects, seller remits | Yes | Yes |
Here is the entry when TikTok Shop collects and remits on a $100 sale with $8 tax:
Notice Sales Tax Payable is never touched. If a bookkeeper accidentally routes TikTok orders through the same mapping as Shopify DTC orders, the store ends up double-counting tax as a liability — and then over-remitting to states. We see this on nearly every new client engagement where the brand runs both DTC and marketplace channels.
The fastest way to spot a broken ecommerce close: compare Sales Tax Payable on the balance sheet to what the store actually filed last month. If they don't roughly tie, marketplace facilitator mapping is almost always the culprit.
Actionable takeaway: Shopify brands running multi-channel (DTC + Amazon + TikTok Shop) typically maintain separate revenue accounts per channel and separate clearing accounts per payout source. This makes the facilitator-vs-non-facilitator split visible at the P&L level. See the Ottit marketplace facilitator tax guide for the full reconciliation workflow.
What Is Nexus and When Does an Ecommerce Store Have to Register?
Nexus is the legal connection between a business and a state that triggers a sales tax collection obligation. Following the 2018 South Dakota v. Wayfair Supreme Court decision, states can require out-of-state sellers to collect tax based on economic activity alone — no physical presence required. Most states use a $100,000 in sales or 200 transactions threshold, though the transaction count has been dropped in states like California, Colorado, and New York.
Common nexus triggers for Shopify brands
- Economic nexus — crossing a state's sales or transaction threshold in a rolling 12-month period.
- Physical nexus — inventory in a 3PL warehouse (ShipBob, Amazon FBA), a remote employee, or a pop-up event in the state.
- Affiliate nexus — paying in-state influencers or affiliates for referrals in some states.
- Click-through nexus — legacy rule in a handful of states tied to referring websites.
- Marketplace nexus — some states count marketplace sales toward the threshold even when the marketplace remits.
A brand using ShipBob's East Coast fulfillment center in Pennsylvania has physical nexus in Pennsylvania from day one, regardless of sales volume. A brand hitting $105,000 in California DTC sales in a calendar year has economic nexus and typically has 30–60 days to register before liability starts accruing.
Actionable takeaway: Most DTC brands review nexus exposure quarterly using tools like Bookkeep or Avalara's nexus dashboard, and register before the state finds them. The Ottit multi-state registration playbook walks through the operational steps.
How Do Shopify Tax, Avalara, and Bookkeep Compare for Ecommerce Sellers?
Shopify Tax is the native calculation and reporting tool built into Shopify admin, priced as a percentage of taxable orders in the US. Avalara is a third-party engine that handles calculation, filing, and multi-channel compliance. Bookkeep sits at the accounting layer — it takes payout data from Shopify, Amazon, and TikTok Shop and posts clean, tax-aware journal entries into QuickBooks or Xero.
Feature comparison at a glance
| Capability | Shopify Tax | Avalara | Bookkeep |
|---|---|---|---|
| Real-time tax calculation at checkout | Yes (native) | Yes (via app) | No — accounting layer only |
| Automated state filings | Limited (US only, select states) | Yes (50 states + international) | No — routes to filer |
| Multi-channel (Shopify + Amazon + TikTok) | Shopify only | Yes | Yes |
| Posts journal entries to QBO / Xero | No | Limited | Yes — core function |
| Marketplace facilitator handling in books | Manual | Manual | Automated split |
| Best fit | Sub-$1M single-channel DTC | Multi-channel, multi-state brands | Any brand needing clean GL entries |
For the 100+ Shopify stores Ottit closes books for monthly, we use Bookkeep as the accounting-layer tool for revenue recognition and sales tax journal entries. It splits Shopify payouts into revenue, tax, fees, refunds, and gift card liability with per-channel mapping — the exact split most brands try (and fail) to build manually in QuickBooks. For calculation and filing, Avalara is the standard at multi-channel scale.
Tools like A2X are also active in this space; in our experience the accounting-layer split for marketplace facilitator states is cleaner in Bookkeep because it handles the pass-through vs. accrued-liability distinction natively per channel. See the A2X documentation for Shopify accounting for their approach.
Actionable takeaway: Brands under $1M in single-channel DTC typically start with Shopify Tax + Bookkeep. Multi-channel brands over $2M usually layer in Avalara for filings while keeping Bookkeep on the accounting side. The Ottit Shopify accounting system guide covers the full stack.
How Does Sales Tax Distort Gross Margin and Contribution Margin?
When sales tax is accidentally booked as revenue, gross margin looks better than reality. A brand with true 60% gross margin on $500K in sales, collecting 7% blended tax, would show $535K in sales and appear to have 62.6% gross margin — a 2.6 point overstatement that misleads every downstream forecast, ad spend decision, and investor conversation.
The math on a $500K month
Contribution margin gets even messier. If a brand uses gross-of-tax sales to calculate CAC payback or MER (marketing efficiency ratio), the numbers look artificially strong. A 3.0x MER on gross sales is really 2.8x MER on net revenue — enough to turn a profitable ad campaign into a losing one when scaled.
A 2-point gross margin overstatement from sales tax mis-mapping doesn't sound like much — until you scale ad spend based on it and burn six months of cash chasing a phantom unit economic.
Actionable takeaway: Attribution tools like Triple Whale pull revenue from Shopify's API, which by default reports gross-of-tax. Configure the integration to use net revenue (excluding tax) so ad efficiency metrics match the P&L. See the Ottit contribution margin playbook for the full breakdown.
How Do You Reconcile Sales Tax Payable Every Month?
The industry standard is a three-way reconciliation: the Shopify Tax report (or Avalara liability report), the general ledger Sales Tax Payable balance, and the amount actually filed with each state. When all three agree within a small tolerance, the close is clean. When they don't, there is drift — and drift compounds.
The monthly reconciliation workflow
- Pull the Shopify Tax report for the month, filtered by state, excluding marketplace facilitator orders.
- Pull the GL Sales Tax Payable roll-forward from QuickBooks or Xero — opening balance + accruals - payments = ending balance.
- Pull the filed returns from each state's portal or from Avalara / the filing service.
- Compare all three by state. Tolerance for a clean close is typically under $50 per state or 0.5% of the liability.
- Investigate variances. Common causes: refunds crossing month-end, marketplace orders mis-mapped, rate changes mid-month, exempt customer certificates.
- Post adjusting entries as needed and document them in the close file.
According to the Shopify Help Center tax documentation, Shopify's tax reports can be pulled by filing period and state — but they don't reconcile to the GL automatically. That reconciliation is the bookkeeper's job, and it is where Bookkeep's per-channel journal entries save 3–5 hours per close for a typical multi-state brand.
Actionable takeaway: Sales tax reconciliation belongs in the standard monthly close checklist alongside bank recs, credit card recs, and inventory. Brands that skip it discover the drift only at year-end, when cleanup takes 10x longer. The Ottit tax audit playbook shows what auditors look for.
What About Income Tax and 1099-K for Ecommerce Sellers?
Income tax is separate from sales tax. Ecommerce brands owe federal and state income tax on net profit — revenue minus COGS minus operating expenses. The entity structure (LLC, S-corp, C-corp) determines the return type and rate, and Shopify Payments issues a 1099-K annually reporting gross payment volume per IRS Form 1099-K instructions for third-party payment networks.
The 1099-K trap
The 1099-K reports gross processed payments — including sales tax, shipping charged to customers, and amounts later refunded. It does not match Shopify revenue on the P&L. For a brand with $2M in gross Shopify Payments volume, the 1099-K might show $2M while true revenue is closer to $1.75M once tax, shipping, and refunds are backed out. Reconciling this at tax time is a standard workpaper — and a red flag if the numbers can't be tied out.
Federal income tax for sole proprietors flows through IRS Schedule C (Profit or Loss from Business) instructions. S-corps and C-corps file separately. The IRS Small Business and Self-Employed Tax Center is the federal hub for entity-level obligations.
Actionable takeaway: Brands typically prepare a 1099-K reconciliation workpaper as part of year-end close, tying gross 1099-K to Shopify's payout report and then to booked revenue. This is one of the first documents a CPA or auditor asks for.
Key Takeaways on Tax for Ecommerce
- Sales tax is a liability, not revenue. Every ecommerce accounting error starts with forgetting this.
- Marketplace facilitators (Amazon, TikTok Shop) collect and remit — those orders never accrue a payable in the seller's books.
- Shopify payouts land gross of tax, so the tax portion floats in the bank until state remittance dates.
- Three-way monthly reconciliation (Shopify report ↔ GL ↔ filed returns) is the industry standard.
- Nexus thresholds trigger registration; economic nexus generally starts at $100,000 in sales into a state.
- Getting sales tax mapping wrong overstates gross margin by 2–3 points and distorts every downstream metric — MER, CAC payback, contribution margin.
Sources
- the 2018 South Dakota v. Wayfair Supreme Court decision
- the Shopify Help Center tax documentation
- the Shopify Help Center guide to payouts
- IRS Form 1099-K instructions for third-party payment networks
- IRS Schedule C (Profit or Loss from Business) instructions
- the IRS Small Business and Self-Employed Tax Center
- the SBA guide to choosing a business structure
- the A2X documentation for Shopify accounting
This guide is educational and does not constitute tax advice. Sales tax rules, nexus thresholds, and marketplace facilitator laws vary by state and change frequently. Consult a CPA or state-registered tax professional for guidance on any specific situation.