Glossary
Stripe Tax Registration
A Stripe Tax registration is the tax.registration object that tells Stripe your business is registered to collect tax in a country, state or province, and from what date, so Stripe Tax starts calculating and collecting tax on sales there.
Also called: tax.registration, Stripe Tax Registrations API, add a registration in Stripe Tax, Stripe Tax active_from, Stripe Tax expires_at
14-day free trial · card required · cancel anytime
Definition
Stripe Tax does not decide on its own where you collect tax. You tell it, one place at a time, by adding a registration. Stripe’s API reference says a Tax Registration “lets us know that your business is registered to collect tax on payments within a region, enabling you to automatically collect tax.” Its Registrations API guide puts the effect in one line: “Adding your registrations in Stripe turns on tax calculation and collection for your transactions made through Stripe.”
Without an active registration, Stripe collects no tax in that place. The calculation still runs, and the result carries the taxability reason not_collecting, which Stripe’s API reference defines as no tax collected “because you are not registered to collect tax in this jurisdiction, or because the non-taxable product tax code (txcd_00000000) was used.” The Stripe Taxability Reason entry covers how to tell those two causes apart.
The registration is a record, not a filing. Stripe’s API reference is explicit: “Stripe doesn’t register on your behalf with the relevant authorities when you create a Tax Registration object.” You register with the tax authority first, then add the registration to Stripe with the date it takes effect.
Key points
- +It is the tax.registration object in the Stripe API, also managed from the Locations tab of the Tax page in the Stripe Dashboard.
- +Without an active registration for a place, Stripe Tax collects no tax there and returns the taxability reason not_collecting.
- +Creating one does not register you with any tax authority. You register first, then add it to Stripe.
- +country and country_options say where and what kind: a US state with a type such as state_sales_tax, an EU type such as oss_union, or a Canadian type such as simplified.
- +active_from is now or a future time. expires_at ends the registration, and if it is not set the registration stays active indefinitely.
- +status is active, scheduled or expired, and Stripe says it can be deduced from active_from and expires_at.
- +A registration can’t be deleted or paused. Expiring it is permanent, and collecting again means adding a new one.
- +Stripe requires a head office address in your tax settings before you can add a registration.
What the object holds
Stripe’s API reference lists a short set of fields. country is the two-letter ISO country code. country_options holds the details for that country: for the US, the two-letter state code and the registration type, and for an EU country, the registration type and, on a standard registration, a place of supply scheme. active_from is the time the registration becomes active, and expires_at, when it is set, is the time it stops. Both are Unix timestamps. The object also carries id, created, livemode and status.
Stripe’s own example is a California registration: country US, country_options with state CA and type state_sales_tax, an active_from timestamp, expires_at null and status active. A null expires_at is the normal case. Stripe says that if it is not set, “the registration will be active indefinitely.”
A registration covers one place. Stripe’s registration guide says you need to identify each state, province and country where you have tax obligations and register with each of them, and the object holds a single country and, in the US, a single state. The Dashboard groups registrations by location, and Stripe notes that because a location can include multiple registrations, its displayed status doesn’t map one-to-one to an individual registration.
Before you can add any registration, Stripe requires a head office address in your tax settings. Without one, the API returns an invalid_request_error asking you to set it.
Registration types by country
The type in country_options tells Stripe what kind of registration you hold, and the choices depend on the country. Stripe’s registration guide groups them by region.
In the United States the common type is state_sales_tax, for businesses that sell goods and services to customers in a state. Stripe also lists types for taxes that sit beside state sales tax: home_rule_tax for home rule cities that levy a tax the state doesn’t administer, with one registration per city; local_lease_tax, which Stripe supports only for the Chicago Lease Tax; state_communications_tax for Kentucky and Florida; state_retail_delivery_fee for Colorado and Minnesota; and further types for amusement, admissions, parking and similar local taxes.
In the EU there are four. standard is a registration in one country, and can carry the small_seller option, to collect the VAT of the EU country where the business is based on intra-EU B2C sales of goods and digital services, or the inbound_goods option, for goods sent from outside the EU to an EU country. oss_union is the One Stop Shop Union scheme, for EU businesses selling goods and services to consumers across the EU and handling the VAT through a single return in their home country. oss_non_union is the non-Union scheme, for businesses that provide digital services across the EU but aren’t established in it. ioss is the Import One Stop Shop, for B2C sales of goods imported from outside the EU in packages valued at 150 EUR or less.
Canada has standard and simplified registrations for GST/HST, with simplified for businesses that sell to Canadian customers but aren’t established in Canada, and province_standard for the separate provincial taxes in British Columbia, Saskatchewan, Manitoba and Quebec. For other countries Stripe’s guide lists standard and simplified, describing simplified as a streamlined registration used primarily by remote sellers and not applicable in the United States. The inbound_goods choice on a standard registration has its own entry, the Stripe Tax Cross-Border Goods Option.
Scheduling with active_from, ending with expires_at
When you create a registration, active_from is required and takes either now or a future timestamp. In the Dashboard the same choice appears as Start collecting immediately or Schedule tax collection, where you enter the effective date of your registration and, optionally, a time. Until that time arrives the status is scheduled.
To end a registration, you set expires_at, either to now or to a timestamp. Stripe’s update reference says “a registration cannot be deleted after it has been created. If you wish to end a registration you may do so by setting expires_at.” Its Registrations API guide adds that tax calculations performed after expires_at won’t use the registration. Once that time has passed, the status is expired.
The status field is a convenience. Stripe says it “can be deduced from active_from and expires_at”: scheduled means the registration will become active in the future, active means it is active now, and expired means it no longer is. The list registrations endpoint can filter on status, which is the quickest way to see which places are live.
Three limits are worth knowing before you set dates. You can change the start date of a scheduled registration, or an end date, from the Dashboard. You can’t pause an active registration: to stop collecting for a while, you expire it and add a new one when you want to restart. And expiration is permanent, so if you re-register with the authority later, you add a new registration in Stripe.
You register with the authority first
Stripe’s registration guide sets out the order: identify the states, provinces and countries where you have tax obligations, register with the tax authorities there, and then add your registrations to Stripe through the Locations tab or the Tax Registrations API. Stripe recommends asking a tax advisor where you need to register, and notes that some jurisdictions require returns even when there is no tax to remit.
There are two routes. If you register directly with the authority, you add the registration to Stripe yourself. If you register through Stripe, which it offers for US jurisdictions other than your business’s location and, outside the US, through a Taxually account, the registration appears in your Dashboard automatically.
The same separation applies at the end. Stripe says expiring a registration “stops tax collection for that location, but it doesn’t automatically deregister your account with the local tax authorities,” and asks you to confirm with the authority that you no longer need to collect there before you expire it.
Where you may need to register in the first place is a different question, and Stripe Tax threshold monitoring is the tool Stripe provides to estimate it.
What QuickBooks shows before and after the date
The active_from date is where tax begins in your books for that place. Before it, Stripe collects no tax there, so invoices and sales receipts for those customers carry no tax line, and no sales tax or VAT liability builds up in QuickBooks for that jurisdiction.
From active_from on, each taxable sale into that place carries a tax line. That tax is collected for the authority, not earned, so in QuickBooks it belongs in a liability account, such as Sales Tax Payable for US sales tax or a VAT control account for VAT. The balance starts to build from that date and comes down when you pay the authority.
Two checks around the date save trouble later. First, confirm that the effective date you gave Stripe matches the date on your registration with the authority. If the authority’s date is earlier, sales in between went out with no tax line, and how to account for them is a question for your accountant. Second, confirm that the first sales after the date carry tax.
At the other end, Stripe’s calculations stop using the registration after expires_at, so no new tax for that place should reach the liability account after that time. Tax already collected before it is still owed until you file and pay.
Frequently asked questions
What is a Stripe Tax registration?
It is the record, the tax.registration object in the API, that tells Stripe your business is registered to collect tax in a place and from what date. Stripe says adding one turns on tax calculation and collection for your Stripe transactions there.
Does adding a registration in Stripe register me with the tax authority?
No. Stripe says it doesn’t register on your behalf with the relevant authorities when you create a Tax Registration object. You register with the authority first, then add the registration to Stripe. If you ask Stripe to register for you, in the US or through a Taxually account outside it, the registration appears in your Dashboard automatically.
Why does Stripe charge no tax in a place where I sell?
Often because there is no active registration there. Without one, Stripe Tax collects no tax and returns the taxability reason not_collecting. The same value appears when the product uses the non-taxable product tax code txcd_00000000, so check the tax code as well.
Can I add a registration that starts on a future date?
Yes. active_from takes now or a future timestamp, and in the Dashboard you choose Schedule tax collection and enter the effective date. Until then the status is scheduled. You can change the start date of a scheduled registration from the Dashboard.
How do I stop collecting tax in a place?
Set expires_at, to now or a future time. Stripe doesn’t let you delete or pause a registration, and expiring one doesn’t deregister you with the authority. Expiration is permanent, so if you register again later you add a new registration.
Which registration type do I choose in the EU?
Stripe lists four: standard for a registration in one country, oss_union for the One Stop Shop Union scheme, oss_non_union for businesses outside the EU providing digital services across it, and ioss for imported goods in packages of 150 EUR or less. Choose the one that matches what you registered for with the authority.
What changes in QuickBooks when a registration starts?
From the active_from date, sales into that place carry a tax line, and the tax collected builds up in a liability account in QuickBooks until you pay it to the authority. Before that date, those sales carry no tax and no liability builds.
What customers say about running Stripe through Acodei

“If you're testing out all the different Stripe/QuickBooks integration apps right now, let me save you some time. This one is the best one by far.”
“Works well and is really helpful for massive transactions. The support is really fast and helpful. 100% recommended.”
Related reading
- Stripe Taxability Reason
- Stripe Tax Threshold Monitoring
- Stripe Tax Cross-Border Goods Option
- QuickBooks Sales Tax Payable
- Stripe Tax
- Stripe Tax thresholds and QuickBooks
More glossary terms
- Undeposited Funds
- Stripe Balance Transaction
- Available vs Pending Balance
- Stripe Dispute
- Stripe Dispute Evidence
- Stripe Fee
- Stripe Balance Adjustment
- QuickBooks Credit Memo
- Stripe Tax
- QuickBooks Tax Code
- Stripe Reserve
- Stripe Tax Rate
- Stripe Fee Credit
- Stripe Credit Note
- QuickBooks Product/Service Item
- Stripe Payout
- QuickBooks Sales Receipt
- QuickBooks Bank Deposit
- QuickBooks Transfer
- Stripe Authorization Hold
- QuickBooks Refund Receipt
- QuickBooks Payment
- QuickBooks Expense
- QuickBooks Journal Entry
- Stripe Financial Account
- Holding Account
- Accounts Receivable
- Bank Feed
- Deferred Revenue
- Stripe PaymentIntent
- Stripe Checkout Session
- Stripe SetupIntent
- Stripe PaymentMethod
- Stripe Charge
- Stripe Refund
- QuickBooks Invoice
- QuickBooks Class Tracking
- QuickBooks Location Tracking
- QuickBooks Project
- QuickBooks Closing Date
- Stripe Invoice Line Item
- Stripe Proration
- Stripe Invoice Status
- Stripe Shipping Rate
- Stripe Transfer
- Stripe Mandate
- Stripe on_behalf_of
- Stripe Invoice Item
- QuickBooks Estimate
- Stripe Invoice Payment
- Stripe Invoice Payment Settings
- Stripe Billing Meter
- Stripe Invoice Template
- Stripe Price
- Stripe Subscription Schedule
- Stripe Subscription Item
- QuickBooks Recurring Transaction
- QuickBooks Sub-Customer
- QuickBooks Audit Log
- QuickBooks Bank Rule
- Stripe Subscription Status
- Stripe Mixed Interval Subscription
- Stripe Trial Settings
- QuickBooks Payment Terms
- Stripe Pending Update
- QuickBooks Tags
- QuickBooks Credit Card Credit
- QuickBooks Vendor Credit
- QuickBooks Bill
- QuickBooks Delayed Charge
- Stripe Billing Mode
- QuickBooks Billable Expense
- Stripe Customer Cash Balance
- QuickBooks Purchase Order
- QuickBooks Opening Balance
- QuickBooks Account Type
- QuickBooks Sales Tax Center
- Stripe Webhook
- Stripe Metadata
- Stripe Outbound Payment
- Stripe Received Credit
- Stripe Outbound Transfer
- Stripe Inbound Transfer
- Stripe Received Debit
- Stripe Payout Method
- Stripe Financial Account Transaction
- Stripe Financial Address
- Stripe Application Fee
- Stripe Connected Account
- Stripe Destination Charge
- Stripe Separate Charges and Transfers
- Stripe Direct Charge
- Stripe Payment Method Configuration
- Stripe Dynamic Payment Methods
- Stripe Payment Method Rules
- QuickBooks Bundle
- Stripe Account Capability
- Stripe Merchant of Record
- Stripe Data Pipeline
- Settlement Currency
- Hosted Invoice Page
- Stripe Customer
- Stripe Product
- QuickBooks Home Currency
- QuickBooks Exchange Gain or Loss
- QuickBooks Trial Balance
- QuickBooks General Ledger Report
- QuickBooks Retained Earnings
- QuickBooks Profit and Loss Report
- QuickBooks Balance Sheet Report
- QuickBooks Account Register
- QuickBooks Reclassify Transactions
- QuickBooks A/R Aging Report
- QuickBooks Sales Tax Liability Report
- QuickBooks Sales Tax Payable
- Stripe Tax Transaction
- Stripe Tax Location Report
- Stripe Tax Summarized Export
- Stripe Tax Itemized Export
- Stripe Product Tax Code
- QuickBooks Vendor
- Economic Nexus
- Reverse Charge
- Stripe Statement Descriptor
- Stripe Taxability Reason
- Stripe Tax Filing Currency
- Stripe Tax Cross-Border Goods Option
- Stripe Tax Threshold Monitoring
- QuickBooks Uncategorized Income
- QuickBooks Sales by Product/Service Report
- QuickBooks Sales by Customer Report
- QuickBooks Group Tax Rate
- Form 1099-NEC
- SEPA Direct Debit
- Bacs Direct Debit
- Canadian Pre-Authorized Debit (PAD)
- Australia BECS Direct Debit
- QuickBooks Customer Display Name
- Backup Withholding
- QuickBooks Multicurrency
- Form 1042-S
- Form W-8BEN
- Form W-9
- Form 8233
- Form 1042
- Form 1099-K
- Form W-8BEN-E
- Stripe Tax Behavior
- Stripe Customer Tax ID
- Form 945
- ITIN (Individual Taxpayer Identification Number)
- Form 1099-MISC
- Stripe Customer Tax Exempt Status
- EFTPS (Electronic Federal Tax Payment System)
- Tax Representative (Fiscal Representative)
- Nil Return
- Sales Tax Exemption Certificate
- EU One Stop Shop (OSS)
- Place of Supply
- Simplified Tax Invoice
- Input VAT (Input Tax)
- Streamlined Sales Tax (SST)
- Fixed Establishment (VAT)
- VIES VAT Number Validation
- E-Invoicing Mandate
- Tax Point (Time of Supply)
- Sales Tax Holiday
- Digital Services Tax
- VAT Invoice (Full Tax Invoice)
- Output VAT (Output Tax)
- VAT Bad Debt Relief
- Sales Tax Sourcing
- Gross Receipts Tax
- VAT Cash Accounting Scheme
- Reduced VAT Rate
- VAT Flat Rate Scheme (UK)
- VAT Annual Accounting Scheme (UK)
- EU VAT SME Scheme
- Making Tax Digital for VAT
- VAT Payments on Account (UK)
Ready to try Acodei?
Connect Stripe to QuickBooks Online in minutes and let the fees, refunds, and payouts land where your accountant expects them.
14-day free trial · card required · cancel anytime