Switching From QuickBooks Sales Tax to Stripe Tax Mid-Year
Moving from QuickBooks automated sales tax to Stripe Tax? Pick the cut-over date, close the gaps, avoid double tax, and file the return that spans both.
You have been charging sales tax the QuickBooks way. You create invoices in QuickBooks Online, automated sales tax works out the rate, the tax builds up in the Sales Tax Center, and at the end of each period you record the payment there. Then your selling moves to Stripe (subscriptions, Checkout, Stripe invoices), and Stripe Tax takes over the calculating.
The switch itself takes an afternoon. The awkward part is the stretch around the cut-over date, when two systems each hold part of what you owe the same state. This guide covers how to switch from QuickBooks automated sales tax to Stripe Tax without a gap or an overlap: where to put the cut-over date, what turning off automated sales tax does and doesn't do, the order to do things in, how to file the return that spans both systems, and a worked quarter that splits one payment across two liability accounts.
Start a free trial if you want the tax Stripe calculates to land in QuickBooks Online without manual entries. If you are mid-switch and need the mechanics, read on.
What changes when you switch from QuickBooks sales tax to Stripe Tax
Before the switch, one system does everything. QuickBooks calculates tax on the sales forms you create, holds it in the Sales Tax Payable account it set up when you turned sales tax on, tracks what you owe per agency in the Sales Tax Center, and settles it when you record a tax payment.
After the switch, the work splits in two. Stripe calculates the tax at the moment of sale and collects it with the charge. It keeps the jurisdiction detail and produces the reports you file from. QuickBooks still has to hold the liability, because the tax arrives in your bank account inside your Stripe payouts, and that money belongs to the state.
How the tax gets into QuickBooks is where the setup matters. For United States companies, Acodei's documentation describes one method, the Tax Product method: you create a non-inventory product, such as "Sales Tax", tied to a liability account, and all Stripe Tax amounts on a sale roll into a single line on that product on the QuickBooks invoice or receipt. Acodei's docs say US QuickBooks accounts are limited to this method by Intuit's rules, and Acodei's product documentation records why: the Sales Tax Center in US QuickBooks doesn't allow third-party creation of official QuickBooks tax rates. Acodei's tax sync also requires Stripe Tax to be active in your Stripe account, and its documentation says the Tax Product method needs Stripe Tax enabled on Stripe Invoicing or Checkout.
The practical result is two liability accounts for a while. The QuickBooks-created Sales Tax Payable account holds the tax QuickBooks calculated before the cut-over. The account you tie to the tax product holds everything Stripe calculates after it. Our Sales Tax Payable glossary entry explains why keeping them separate is the normal, cleaner setup.
Your registration with the state doesn't change at all. The state doesn't know or care which software computed the tax. It expects one return per period covering all your taxable sales.
Pick the cut-over date: a filing-period boundary
The single decision that makes the rest easy is the date. If you file quarterly and switch on 1 October, the third-quarter return is pure QuickBooks and the fourth-quarter return is pure Stripe. Each return has one source, each liability account clears in one payment, and nobody has to add two reports together.
Switch on 16 August instead, and the third-quarter return needs numbers from both systems. That is manageable (the worked example below does exactly this), but it is extra work every time someone looks back at that quarter.
So line the date up with how often you file. A monthly filer can switch at any month start. A quarterly filer should aim for a quarter start. An annual filer rarely gets a clean boundary, which is the case where the overlap return is unavoidable.
Two Stripe behaviors decide which side of the line a sale falls on.
Tax counts when the invoice finalizes. Stripe's tax reporting documentation says it considers transactions effective on the date they finalize and doesn't recalculate taxes afterwards. An invoice finalizes when it moves from draft to open, before it is paid. A Stripe invoice finalized on 30 September belongs to September, even if the customer pays in October.
Time zone. When you export, Stripe asks for a date range and a time zone. Export in the time zone your books use, so a sale late on the evening of the cut-over date lands on the same side in both systems.
Three Stripe settings that create a gap
A gap is a stretch after the cut-over where neither system charged tax. It's worse than an overlap, because the sales were taxable and nobody collected the tax. Stripe's setup guide documents all three causes.
Registrations. Stripe says that without a registration in the customer's location, the calculation returns zero tax. Adding Stripe Tax doesn't copy your state registrations from anywhere. You add them in the Locations tab of the Dashboard, and Stripe lets you schedule a registration to take effect at a future date. Schedule yours for the cut-over date and the first sale after it is taxed. Our post on Stripe Tax registration thresholds covers where you need one.
Existing subscriptions, invoices and payment links. This one catches subscription businesses. Stripe says that enabling tax and configuring automatic collection doesn't update your existing subscription, invoice and payment link instances, and that you must update them separately (in the Dashboard, or with automatic_tax.enabled=true in the API) before they begin calculating and collecting tax. A customer who subscribed in March keeps renewing tax-free until you update that subscription. Do it before the first renewal after the cut-over.
Tax codes. Stripe asks you to select a preset product tax code and then confirm it is right for each product you sell, because the code decides which tax treatment applies. A wrong code can mean zero tax on something your state taxes. It is quieter than the other two, and it produces the same symptom: Stripe invoices in a registered state showing no tax.
The check for all three is the same. After the first week, filter Stripe invoices in your registered states for zero tax and look at each one.
One setting in QuickBooks that creates an overlap
The opposite failure is the same sale taxed twice, once by Stripe and again by QuickBooks.
It happens through the product records. Under automated sales tax, the products and services you sold on QuickBooks invoices were probably marked taxable, because that is how QuickBooks knew to add tax. Map those same products to your Stripe sales and the taxable flag comes along with them.
Acodei's troubleshooting guide covers this case. It says that when sales tax is applied to products in QuickBooks, deposit amounts may not match Stripe payouts, and the sync flags the deposit with a message that you have sales tax enabled on QuickBooks. The fix it gives is to open Products and Services and make sure every product used with Acodei is marked Nontaxable. The reason is the design: Acodei captures sales tax from Stripe but doesn't use QuickBooks' sales tax functionality, adding the tax as a line item instead.
Do this before the first synced sale, not after the first mismatch. The product and service glossary entry covers where the taxable setting lives.
What turning off QuickBooks automated sales tax does
You may not need to turn it off at all. If some taxed sales will still start life as QuickBooks invoices (a wholesale customer billed by check, say), leave automated sales tax on for those, keep the Stripe-synced products Nontaxable, and run both systems side by side for good.
If all your taxed selling has moved to Stripe, Intuit's article on turning off automated sales tax is short, and every line of it matters at cut-over:
- It "stops tax calculations on new transactions but preserves your historical data for reporting."
- Recurring invoices: "Future invoices will no longer include sales tax."
- Tax agencies: "All agencies become inactive, though your registration info is saved."
- Reporting: "Sales tax liability reports remain available for past data."
- Custom rates: "Existing rates remain active, but you cannot add new ones to transactions."
It also says turning the feature off "does not remove sales tax from transactions you have already created." That's what you want. The tax on your pre-cut-over invoices is real, you owe it, and it should stay where it is until you pay it.
Notice what the article doesn't say. It promises the liability reports stay available. It doesn't say you can still record a tax payment against an agency that has gone inactive. Don't find out on the due date. Keep automated sales tax on until you have filed the last return that contains QuickBooks-calculated tax and recorded that payment in the Sales Tax Center. Turn it off after that.
That gives you a safe order of operations:
- Pick the cut-over date on a filing boundary.
- Add or schedule your Stripe Tax registrations for that date.
- Set tax codes and turn on automatic tax, then update existing subscriptions, open invoices and payment links.
- Create the tax product and its liability account, and mark every product used with Acodei Nontaxable.
- File the last QuickBooks period through the Sales Tax Center and record the payment there.
- Turn off automated sales tax, if no taxed sales still start in QuickBooks.
The overlap return: one agency, two sources
If the cut-over falls mid-period, the state still expects one return. You build it from two sources and pay it with one payment, which QuickBooks records in two places.
The QuickBooks half. Everything up to the cut-over comes from the Sales Tax Center, the same way it always did. Intuit's filing guide walks through reviewing the return and recording the payment. Read the taxable sales and tax for the period straight from it.
The Stripe half. Everything from the cut-over onwards comes from Stripe. Run a summarized export with the date range starting on the cut-over date and ending at period end. The column to use is filing_tax_payable, which Stripe defines as the net tax liability, tax collected minus tax refunded, in the tax authority's filing currency. For the sales lines of the return, total_sales and total_taxable_sales give Stripe's share.
Add them for the return. Tax, gross sales and taxable sales each become the sum of the two halves. If your state requires sub-state reporting, Stripe says to use its itemized export for its half, which breaks each line down by jurisdiction.
Record the payment in two places. The money leaves your bank once. The two liabilities are separate, so the entry is split:
- The QuickBooks-calculated share is recorded in the Sales Tax Center with Record Tax Payment. This is the step that keeps the Center's picture of what you owe correct. Don't settle this share with a check or journal entry to Sales Tax Payable. Intuit's filing guide says that if a return shows an unexpected balance due, you should check for journal entries made to the sales tax payable account for that agency.
- The Stripe share is recorded as a check (or an expense) to the agency, categorized to the liability account your Stripe tax posts to. Our guide to recording a Stripe sales tax payment walks through that entry and what to do when the amount paid differs from the balance.
Both records draw on the same bank account, and together they equal the one debit on your statement. If the debit also arrives through the bank feed, don't add it as a new transaction on top of those two records, or the payment is counted twice.
A worked quarter with a mid-quarter switch
Take a business registered in one state, filing quarterly, with a combined rate of 8.25%. It switches on 1 August, a month start but mid-quarter. Every figure below is illustrative.
July (QuickBooks). Automated sales tax calculated tax on $18,400.00 of taxable sales invoiced in QuickBooks. The Sales Tax Center shows $1,518.00 owed to the agency for the quarter, and nothing after 31 July.
August and September (Stripe). A summarized export for 1 August to 30 September, in the business's time zone, shows taxable sales of $37,600.00 and tax collected of $3,102.00. One $600.00 sale was refunded through a credit note, reversing $49.50 of tax. filing_tax_payable is $3,052.50. A balance sheet as of 30 September shows the Stripe liability account, Stripe Sales Tax Payable, at the same $3,052.50.
The return. Taxable sales are $18,400.00 plus $37,600.00, less the $600.00 refund, so $55,400.00. Tax due is $1,518.00 plus $3,052.50, which is $4,570.50, and 8.25% of $55,400.00 is also $4,570.50, so the two halves tie out. The business files on 20 October and pays $4,570.50 from checking.
The entries.
| Date | Where | Account | Amount |
|---|---|---|---|
| 20 Oct | Sales Tax Center, Record Tax Payment | Sales Tax Payable (QuickBooks-created) | $1,518.00 |
| 20 Oct | Check to the state tax agency | Stripe Sales Tax Payable | $3,052.50 |
| Both paid from | Business checking | $4,570.50 |
After both entries, the third quarter is settled in both places. The Sales Tax Center shows nothing owed for the period. The Stripe liability account, read as of 30 September less the October check, is zero. The bank statement shows one debit of $4,570.50 against two records that add up to it.
Now the version that goes wrong. Suppose the business forgot to update three annual subscriptions, and they renewed in August without automatic tax, for $1,200.00 each. Neither system charged tax on $3,600.00 of sales. Stripe's report doesn't include tax it never calculated, so the export looks clean and the return is short by the tax on those renewals if the sales were taxable. The zero-tax invoice filter from earlier is what catches this before filing. Whether that tax is now owed, and how to account for tax you have to pay but never collected, is a question for your accountant, since no customer paid it.
Refunds and credit notes that cross the cut-over
A refund after the switch on a sale from before it belongs to the system that calculated the original tax. A July QuickBooks invoice credited in September reduces QuickBooks' figure, through a credit memo in QuickBooks, the way it always did. Stripe has no record of that sale, so its report can't reduce anything for it.
For Stripe sales refunded later, the method you use matters for your books. Acodei's documentation notes that a refund made at the payment level, without an item breakdown, doesn't always come with line-level tax detail from Stripe, so the refunded tax may need a manual adjustment in QuickBooks. A refund made through a credit note carries that detail. After a switch, when you are reconciling two liability accounts for the first time, it pays to know which of your refunds were which. Our guide to refund tax on credit notes versus payment refunds covers the difference.
A cut-over checklist
- Choose the cut-over date on a filing-period boundary where you can.
- Schedule Stripe Tax registrations to take effect on that date, in every state where you are registered.
- Set your preset tax code and check each product's code.
- Turn on automatic tax, then update every existing subscription, open invoice and payment link.
- Create the non-inventory tax product and its own liability account, and mark every product used with Acodei Nontaxable.
- After the first week, filter Stripe invoices in registered states for zero tax.
- File the last QuickBooks-calculated period, or the QuickBooks half of the overlap return, through the Sales Tax Center and record that payment there.
- Record the Stripe share as a check to the Stripe liability account, and don't also add the bank feed debit.
- Turn off automated sales tax only when no taxed sales still start in QuickBooks and the last QuickBooks-calculated payment is recorded.
Frequently asked questions
Do I have to turn off QuickBooks automated sales tax to use Stripe Tax?
No. If some taxed sales still start as QuickBooks invoices, keep it on for those and mark the products used for Stripe sales Nontaxable. If all your taxed selling has moved to Stripe, turn it off, but only after you have recorded the last payment for tax QuickBooks calculated.
What happens to the tax QuickBooks already calculated when I turn it off?
It stays. Intuit says turning it off doesn't remove sales tax from transactions already created, that agencies become inactive with registration info saved, and that sales tax liability reports remain available for past data. You still owe that tax, and it should be filed and paid.
Will Stripe Tax start charging tax on my existing subscriptions automatically?
No. Stripe says enabling tax doesn't update existing subscriptions, invoices or payment links. Each one must be updated separately, in the Dashboard or by setting automatic_tax.enabled=true through the API. Until then, those renewals charge no tax.
Can one sales tax return combine numbers from QuickBooks and Stripe?
Yes, and when the switch falls mid-period it has to. The QuickBooks half comes from the Sales Tax Center up to the cut-over date. The Stripe half comes from a Stripe export starting on the cut-over date. Add tax, gross sales and taxable sales, file once, and record the payment in both places.
Why doesn't my Stripe payout match the QuickBooks deposit after the switch?
Check your products first. Acodei's troubleshooting guide says that when sales tax is applied to products in QuickBooks, deposits may not match Stripe payouts, and that every product used with Acodei should be marked Nontaxable in Products and Services. Products carried over from your QuickBooks invoicing days are the usual suspects.
Where this leaves you
A clean switch comes down to one rule: every taxable sale gets calculated by exactly one system. Stripe handles everything from the cut-over date onwards, and QuickBooks handles everything before it. The gap checks keep Stripe from missing a sale. The Nontaxable products keep QuickBooks from taxing one twice. And leaving automated sales tax on until its last payment is recorded keeps the old liability payable through the tool that tracked it.
Acodei's part is the Stripe side of that line. It carries the tax Stripe calculates into the liability account you tie to your tax product, so that account and Stripe's reports can be compared period by period. For the setup itself, see Stripe Tax in QuickBooks Online, and for the object behind it, the Stripe Tax glossary entry.
Start a free trial and connect your Stripe account to QuickBooks Online.
Automate your Stripe to QuickBooks sync
Save hours every month. Acodei automatically syncs your Stripe transactions, invoices, and payouts to QuickBooks Online.
14-day free trial · card required · cancel anytime
How Acodei handles this in your stack
Stripe QuickBooks Integration
See how Acodei syncs Stripe payments, fees, refunds, invoices, and payouts into QuickBooks Online automatically.
Or go straight to a capability
Advanced Product Mapping
Map Stripe products to QuickBooks with rule-based logic on product ID, price ID, metadata, and account. Set rule priority and extend mapping to refunds and fees.
Automated Invoice Sync
Bring Stripe invoices into QuickBooks and auto-apply payments and credit memos, with numbering, invoice matching, and quantity tracking to cut double-entry.
Multi-Currency Mastery
Sync Stripe transactions across currencies with automatic exchange rate handling and currency-specific customer records. Our team enables multicurrency on request, and zero-decimal currencies such as JPY are not supported.
Class Mapping
Map Stripe products to QuickBooks classes for scalable categorization and multi-entity reporting. Class tracking requires QuickBooks Online Plus or Advanced.
Historical Data Import
Backfill historical Stripe data into QuickBooks by month range. Preview volume and cost before syncing so reporting starts from a complete baseline.
How to Connect Stripe to QuickBooks Online
Connect Stripe to QuickBooks Online in minutes. Acodei links both accounts with secure OAuth and syncs payments, fees, refunds, and payouts automatically.
Reconcile Stripe Payments in QuickBooks
Reconcile Stripe in QuickBooks Online automatically. Acodei splits out fees, matches payouts to deposits, and keeps every charge audit-ready.
Related articles
Acodei Journal
How to Record a Stripe Sales Tax Payment in QuickBooks
Acodei Content Team
How to Record a Stripe Sales Tax Payment in QuickBooks
9/30/2026
Acodei Journal
Stripe Tax-Exempt Customers: Getting QuickBooks Right
Acodei Content Team
Stripe Tax-Exempt Customers: Getting QuickBooks Right
9/29/2026
Acodei Journal
Stripe Donations in QuickBooks: A Nonprofit Setup Guide
Acodei Content Team
Stripe Donations in QuickBooks: A Nonprofit Setup Guide
9/29/2026
Get more operational finance guides like this one
We will only send high-value product and finance content.