GST and PST on One Stripe Line: QuickBooks Group Tax Codes
A BC sale carries GST and PST on one Stripe line. QuickBooks needs one group tax rate for both. How to build it, map it, and keep each agency's total...
A $400 subscription sold to a customer in Vancouver carries two taxes on one line: $20.00 of GST for the Canada Revenue Agency and $28.00 of PST for British Columbia. Stripe records them as two separate tax entries on that line. QuickBooks Online takes one sales tax selection per line. Something has to turn two into one without losing the split between the two agencies, and that something is a group tax rate.
Get the group right and the $48.00 lands in QuickBooks as $20.00 owed to the CRA and $28.00 owed to British Columbia, ready for two different returns. Get it slightly wrong and the totals drift from Stripe by a few cents or a few dollars a sale, quietly, until someone tries to file.
This guide covers what Stripe actually stores for a two-tax line, how a QuickBooks Online group rate is built and why its "Applicable on" setting matters, which provinces need a group at all, the default codes worth checking before you trust them, and how Acodei maps a pair of Stripe tax rates onto a single group.
Acodei maps a pair of Stripe tax rates, such as GST and PST, to one QuickBooks group tax code so the tax on each synced line matches Stripe. Start a free trial.
Which Canadian sales put two taxes on one line
Canada has three kinds of province for sales tax, and only one kind needs a group rate.
Stripe's Canada collection guide sets them out:
- GST only. "Alberta, Northwest Territories, Nunavut and Yukon apply only federal GST, no separate provincial taxes."
- HST. "New Brunswick, Newfoundland and Labrador, Nova Scotia, Ontario and Prince Edward Island combine the federal tax with their provincial tax to apply the harmonized sales tax (HST), which operates in the same way as the GST."
- GST plus a separate provincial tax. "British Columbia, Manitoba, Quebec, and Saskatchewan apply both the federal GST and their own provincial tax, but the provincial taxes are administered separately."
HST is one tax with one rate, so an Ontario sale has one tax entry and maps to one QuickBooks code. The two-tax line only happens in the last group, and the rates come from the CRA's GST/HST rate table:
| Province | Federal | Provincial | Combined |
|---|---|---|---|
| British Columbia | GST 5% | PST 7% | 12% |
| Manitoba | GST 5% | RST 7% | 12% |
| Saskatchewan | GST 5% | PST 6% | 11% |
| Quebec | GST 5% | QST 9.975% | 14.975% |
You only see both taxes if you're registered for both. Stripe calculates tax for the registrations you add under Locations in the Dashboard, and the provincial registrations have their own rules. Stripe lists British Columbia's threshold for PST as "10000 CAD per rolling 12 months" and Saskatchewan's as "1 transaction". For a business based in Canada, Stripe says it "monitors whether you must collect provincial taxes when you sell products in provinces other than the province of your business origin." Sales into your own province are outside that monitor.
What Stripe stores for a line with GST and PST
Every Stripe tax rate is an object with an ID that starts with txr_. Its tax_type field separates the Canadian taxes: gst, hst, pst, qst and rst are all distinct values. Rates Stripe Tax calculates for you are tax rate objects too. The same API page notes that rate_type "is only present for TaxRates created by Stripe Tax."
On an invoice, each line item has a taxes array. Each entry has its own amount, its own taxable_amount and a tax_rate_details.tax_rate pointing at one txr_ ID. So the Vancouver line looks like this:
| Line | Taxable amount | Tax entry | Rate ID | Amount |
|---|---|---|---|---|
| Pro plan, monthly | $400.00 | GST 5% | txr_...gst | $20.00 |
| $400.00 | PST 7% | txr_...pst | $28.00 |
Two details matter for QuickBooks.
Both taxes are calculated on the same $400. Neither tax is charged on the other. Stripe's tax rates guide gives the formula for exclusive tax as the rate times the post-discount amount, so with two exclusive rates each one multiplies the same base. The guide's own multi-rate example even uses "9.975% and 5%", the Quebec pair. That matches British Columbia's rule: its small business guide to PST says "the GST is not included in the price on which PST is calculated."
A line can carry up to ten rates, and if you use manual tax rates instead of Stripe Tax, line-level rates override invoice-level defaults. From the guide: "When you set tax rates on both a line item and the invoice, the rates for that invoice don't apply to that line item." If you build Canadian invoices by hand, a line with its own GST rate and no PST rate will not inherit the invoice's PST.
How a QuickBooks Online group rate holds two taxes
In QuickBooks Online Canada, each rate belongs to an agency: GST to the Canada Revenue Agency, PST to the provincial ministry, QST to Revenu Québec. Intuit's sales tax codes article describes the group option as one that "lets you combine existing tax codes into a single" rate. You pick the group on the line, and QuickBooks splits the tax back out to each agency's liability.
That is the point of the group. It's not a 12% rate. It's a 5% CRA rate and a 7% British Columbia rate travelling together, and each half still reports to its own return.
Intuit's group rate steps are short:
- Go to All apps, then Sales Tax, then Overview, and select Manage sales tax.
- Select Add tax, then Add next to Group rate.
- Enter a group name.
- Pick the first rate. Its Applicable on setting is greyed out and "defaulted to Net amount."
- Pick the second rate and choose what it applies to: "Net amount, Tax amount, or Net + Tax amount."
- Select Add. The group appears on the Group rates tab.
The setting that makes or breaks the match: Applicable on
Step 5 is where Stripe and QuickBooks can part ways. Stripe calculates both taxes on the net price. If the second rate in your group is set to Net + Tax amount, QuickBooks charges the PST on the GST as well. Stripe doesn't calculate it that way, and British Columbia doesn't tax it that way.
On the Vancouver line:
| Stripe | Group set to Net amount | Group set to Net + Tax amount | |
|---|---|---|---|
| GST 5% | $20.00 | $20.00 | $20.00 |
| PST 7% | $28.00 | $28.00 | 7% of $420.00 = $29.40 |
| Total tax | $48.00 | $48.00 | $49.40 |
$1.40 on one sale is easy to spot. Spread across a month of daily summaries it becomes a liability balance that doesn't tie to Stripe's report, and a PST return that's overstated. Set every component after the first to Net amount.
Check the default codes before you map to them
QuickBooks Online creates a list of common Canadian codes for you, including combined ones such as GST/PST BC and GST/QST QC. Intuit's common sales tax codes article lists those defaults, and as of this writing some of its figures don't match the CRA's current table:
| Code in Intuit's list | Intuit's figure | CRA's current rate |
|---|---|---|
| PST MB | 8% (group 13%) | 7% (group 12%) |
| PST SK | 5% (group 10%) | 6% (group 11%) |
| HST NS | 15% | 14% from April 1, 2025 |
That may be a stale help article rather than stale codes in your file, so check your own file. Open each group under Manage sales tax and compare its component rates with the CRA table before you map anything to it. If a default is wrong, don't try to repair it in place: Intuit's rate editing article says "You will not be able to edit any QuickBooks Online default tax rates." Create a rate under the right agency with Add custom rate, then build a new group from it.
Use the agency's Add custom rate, not the general Custom tax type. Intuit warns that codes created as Custom "will not report to Federal or Provincial Tax Agencies like the Canada Revenue Agency," which defeats the purpose of the group.
How Acodei maps two Stripe rates to one group
Acodei offers two ways to bring Stripe Tax into QuickBooks. The Tax Product method rolls all tax into one line posted to a liability account. The QuickBooks Tax Rate (Advanced) method maps each Stripe tax rate to a QuickBooks tax code. Our guide to Stripe Tax in QuickBooks Online compares the two. Acodei's tax documentation says the Advanced method is "Available for non-U.S. QuickBooks accounts," and that U.S. QuickBooks accounts "can only use the Tax Product method." A Canadian QuickBooks company can use either, but only the Advanced method puts GST and PST on the QuickBooks tax codes that feed each agency.
With the Advanced method:
- Acodei pulls your Stripe tax rates. The docs say "Acodei will pull in all Stripe Tax Rates from your Stripe account." You map each one to a QuickBooks tax code.
- Pairs map to groups. "If multiple Stripe Tax Rates apply to a single line item (e.g., GST + PST), select them together and map them to a QuickBooks group tax code."
- The group goes on the line. Acodei detects when two or more Stripe tax rates apply to a single transaction and applies the mapped group code to the matching line in QuickBooks, so the total tax matches Stripe.
For the Vancouver sale, you map the GST rate and the PST rate together to your GST/PST BC group. The $400 line syncs with that group, and QuickBooks posts $20.00 against the CRA and $28.00 against British Columbia.
Map the singles too. A customer in Alberta pays GST alone, so the same GST rate also needs a one-to-one mapping to your GST code. A Toronto customer's HST rate maps to your HST ON code.
The default rate is the fallback
The Advanced settings include a default product tax rate and a default fee tax rate. The docs describe them as "fallback tax rates for unmapped cases" and say "Typically, set both defaults to Exempt, unless you want a specific rate applied when no Stripe Tax mapping exists." That makes the mapping work worth finishing before the first two-tax sale syncs: a pair you haven't mapped doesn't land on your group.
Rates that don't show up in the list
Acodei's mapping list comes from Stripe's list of tax rates. An archived Stripe tax rate that still appears on older invoices may need its txr_ ID added to the mapping manually, and rates Stripe Tax calculates automatically can also be missing from that list. Either way, the ID is on the invoice: open the finalized invoice's event in the Stripe Dashboard and search the JSON for txr.
Daily summaries and real-time sync
If you sync each invoice or payment as it happens, each one comes across "individually, with full tax detail." If you use a daily summary, Acodei combines the day into one QuickBooks entry "with tax amounts split by product + tax rate." Extremely complex days with many rates might need manual verification, so on a summary day with sales into all four GST-plus-provincial provinces, compare the summary's tax total with Stripe the first few times.
Five ways the pair goes wrong, and what each looks like
| What happened | What you see in QuickBooks |
|---|---|
| The group's second rate is set to Net + Tax amount | Tax a little above Stripe on every two-tax line; PST liability overstated |
| The group was built from a stale default component | Tax off by a full point of the price, every sale into that province |
| Only the single rates were mapped, not the pair | The pair has no group mapping; the line's tax won't follow the group |
| The province changed its rate | A new txr_ ID, a new pair with no mapping |
| The PST rate was archived in Stripe | The rate is missing from the mapping list; add the ID by hand |
The rate change case catches people because Stripe won't edit a rate in place. The tax rates guide says "You can't change the percentage, country, or state properties after you set them," and tells you to "create a new tax rate and archive the old object." A new rate means a new pair, and a new pair needs its own mapping. Our guide to Stripe tax rate changes in QuickBooks walks through the whole changeover.
Checking the split after the first month
Once a month of two-tax sales has synced, three numbers should agree:
- Stripe's tax report for each jurisdiction. GST for Canada, PST for British Columbia, separately.
- The QuickBooks liability for each agency. In Sales Tax, the CRA's figure should match Stripe's GST total and British Columbia's should match Stripe's PST total.
- The sum. The two agencies together should equal the tax on your synced sales.
If the sum matches but the split doesn't, a group has the wrong components. If the sum is off, look for a Net + Tax setting, an unmapped pair or refunds. On refunds, a credit note refund under the Advanced method adjusts the tax in QuickBooks, while on payment-only refunds "Stripe doesn't always provide line-level detail, so tax may need manual adjustment." For a two-tax line that adjustment has two halves, one per agency. Our guide to refunding tax on a Stripe invoice covers the difference.
Our guide to reconciling the Stripe Tax report with QuickBooks covers the wider version of this check. If you price tax-inclusive, read inclusive vs exclusive tax on Stripe invoices first, because the base each tax is calculated on changes.
Frequently asked questions
Do I need a group tax rate in QuickBooks for HST?
No. HST is a single harmonized tax with one rate per province, so a Stripe HST rate maps to one QuickBooks HST code. Group rates are for British Columbia, Manitoba, Saskatchewan and Quebec, where GST and a separately administered provincial tax both apply to the same sale.
What should "Applicable on" be for a GST and PST group in QuickBooks Online?
Net amount for every component. Stripe calculates GST and the provincial tax on the same net price, and British Columbia says the GST is not included in the price PST is calculated on. A second rate set to Net + Tax amount makes QuickBooks charge the provincial tax on the GST too, so its tax won't match Stripe's.
Can Acodei map GST and PST from one Stripe line to a single QuickBooks tax code?
Yes, with the QuickBooks Tax Rate (Advanced) method, which is available for non-U.S. QuickBooks companies. You select the Stripe GST and PST rates together and map them to a QuickBooks group tax code, and Acodei applies that group to the matching line so the total tax matches Stripe.
Will a group rate still report GST and PST to different agencies?
Yes. Each rate inside a QuickBooks Online group belongs to its own agency, so a 12% British Columbia group posts its GST portion to the Canada Revenue Agency and its PST portion to British Columbia. Build component rates with the agency's Add custom rate option, not the Custom tax type, which Intuit says will not report to the CRA or provincial agencies.
Why is my Saskatchewan or Manitoba tax off by one percent?
Check the component rates inside the group. Intuit's published list of default codes shows PST SK at 5% and PST MB at 8%, while the CRA's current table lists 6% and 7%. If your file's group uses an old component, every sale into that province is off by one point. Default rates can't be edited, so build a new group from current rates and remap.
Acodei syncs Stripe Tax into QuickBooks with each GST and PST pair on its group code, so the federal and provincial liabilities in QuickBooks follow what Stripe collected. Start a free trial.
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
Japanese Consumption Tax on Stripe Sales in QuickBooks
Acodei Content Team
Japanese Consumption Tax on Stripe Sales in QuickBooks
10/8/2026
Acodei Journal
Stripe Singapore GST and the S$400 Line in QuickBooks
Acodei Content Team
Stripe Singapore GST and the S$400 Line in QuickBooks
10/8/2026
Acodei Journal
Stripe Swiss VAT and the Mail-Order Rule in QuickBooks
Acodei Content Team
Stripe Swiss VAT and the Mail-Order Rule in QuickBooks
10/7/2026
Get more operational finance guides like this one
We will only send high-value product and finance content.