Glossary
Stripe Customer Tax ID
A Stripe customer tax ID is a typed record, such as eu_vat or nz_gst, attached to a customer that prints on its invoices and, for some types, tells Stripe Tax to charge no tax on a business sale.
Also called: Customer tax ID, tax_ids, Stripe tax ID collection, VAT number on Stripe invoices
14-day free trial · card required · cancel anytime
Definition
A customer tax ID in Stripe is a small object with two parts: a type, such as eu_vat, gb_vat, au_abn or nz_gst, and a value, the number itself. It belongs to a customer. Stripe lets you add up to five tax IDs to one customer, and you can see them in the header of that customer's invoice and credit note PDFs.
It does two separate jobs. The first is display: many countries expect a business invoice to show the buyer's tax number, and Stripe prints it for you. The second is calculation: for some types, the presence of the number tells Stripe Tax that this is a business sale where the customer, not you, accounts for the tax. Stripe Tax then charges nothing and applies the reverse charge.
Which types do the second job is the part that catches people. Stripe's list of supported types has a column called Impact in Tax Calculation, and it is not Yes for every type. Two numbers from the same country can behave completely differently.
Key points
- +Up to five tax IDs per customer, each with a type and a value.
- +Every customer tax ID prints in the header of invoice and credit note PDFs.
- +Only types marked Yes for Impact in Tax Calculation stop Stripe Tax charging.
- +Stripe checks the format of every type, but checks only ABNs, EU VAT and UK VAT numbers with a government system.
- +Stripe Tax applies the reverse charge on a correctly formatted number, whatever the verification result.
- +Stripe prints the number on the invoice whether or not it is valid.
- +To change a tax ID, delete it and create a new one.
Which tax IDs change the tax calculation
Stripe's tax ID documentation lists every supported type with an example and a Yes or No in the Impact in Tax Calculation column. Its footnote explains Yes: "Stripe Tax won't apply tax if this tax ID is provided, in line with the relevant laws." No means Stripe stores and prints the number, and the tax calculation ignores it.
The pairs are where mistakes happen. New Zealand has nz_gst (GST number, Yes) and nz_bn (New Zealand Business Number, No). Canada has ca_gst_hst (GST/HST number, Yes) and ca_bn (Business Number, No). Poland has eu_vat (the PL-prefixed VAT number, Yes) and pl_nip (NIP number, No). A customer set up with the second number of a pair gets charged tax as if it were a consumer, and nothing on the invoice looks wrong.
Some countries have only a No type. Malaysia's my_sst and Kenya's ke_pin are No, and so is the US us_ein. In those places a business customer's number is for display, and any business exemption has to come from somewhere else in the regime, or from the customer's tax status in Stripe.
Before you rely on a tax ID to stop tax, look up its type in Stripe's table rather than assuming from the country.
What Stripe validates, and what it does with an unverified number
Stripe checks every tax ID against the expected format for its type. For three types it also checks the number with a government system: Australian Business Numbers with the Australian Business Register, EU VAT numbers with the European Commission's VIES, and UK VAT numbers with HMRC. Stripe says each of these checks "only verifies the validity of the tax ID," not whether the name and address on the customer match.
The result lands on the tax ID as a verification status: pending, verified, unverified or unavailable. Stripe sends a customer.tax_id.updated event when verification finishes, and says that "after a tax ID is confirmed as valid or invalid, it won't be validated again automatically." When the status is unavailable, you must verify the number yourself.
The calculation does not wait for any of that. Stripe's documentation: "If you use Stripe Tax, Stripe Tax applies the reverse charge or zero rate according to applicable laws when the tax ID has the required number format, regardless of the government verification result." An unverified EU VAT number in the right format still stops Stripe charging VAT. Deciding what to do with it is, in Stripe's words, based on "your own compliance requirements."
For every other type, format is the only check. Whether the tax authority expects more depends on the country. Egypt expects the seller to verify each number, while New Zealand lets the seller rely on the number the customer gives.
Collecting tax IDs: Checkout, the Dashboard, the API
There are three ways in. In the Dashboard, open the customer, click Update details and add a tax ID row with its type and value. Through the API, create a tax ID with the customer as its owner. And in Stripe Checkout, set tax_id_collection[enabled] to true, and Checkout shows a tax ID field and a business name field to customers in supported locations.
Checkout has rules of its own. It collects business tax IDs only, and customers can enter only one. It decides whether to show the field from the shipping address if there is one, otherwise the billing address. If an existing customer already has a saved tax ID, Checkout does not show the form at all. Setting tax_id_collection[required] to if_supported makes the number mandatory for customers in supported countries.
Checkout's list of collectable types is shorter than the full list. It includes nz_gst but not nz_bn, for example, and no US types. And for guest customers, Stripe says the session holds the type and value "but not a verification result." To get one, save the tax ID to a customer.
Tax IDs cannot be edited. Stripe: "To update a tax ID, delete the old ID and create another one."
Where the number shows up afterwards
On documents, customer tax IDs print in the header of invoice and credit note PDFs, next to your own account tax IDs. Stripe is explicit that "Stripe displays a customer tax ID on an invoice, whether or not it's valid," and that keeping customer information accurate is your responsibility.
In reporting, Stripe Tax's itemized export has a customer_tax_id column listing the type and value pairs attached to each transaction. Filter a country's zero-tax rows and that column tells you which business numbers you relied on, which is exactly the list some authorities expect you to keep.
The export also has a customer_taxability_override column, with values customer_exempt, reverse_charge or none. That is the customer's tax status, a different field from the tax ID. You can set a customer to reverse charge or exempt directly, without any tax ID, which is how you treat a business whose only number is a No type when the rules let you.
Customer tax IDs and Acodei
Acodei syncs the tax amounts that Stripe Tax calculates into QuickBooks, which requires Stripe Tax active in your Stripe account. A customer tax ID reaches QuickBooks through that calculation: if the tax ID stopped Stripe charging tax, the synced sale carries no Stripe Tax amount, and if Stripe charged tax, that amount syncs. With the Tax Product method, it lands on the single tax line mapped to your liability account.
Acodei's documentation says a new QuickBooks customer is created with the name, email and billing address from Stripe, and it does not list the tax ID among them. Treat Stripe's invoice PDF and its itemized export as the record of which number a sale relied on.
Want to see this on your own Stripe data?
Start a free trial14-day free trial · card required · cancel anytime
Frequently asked questions
What is a customer tax ID in Stripe?
It is a record attached to a Stripe customer with a type, such as eu_vat or nz_gst, and the number itself. Stripe prints it in the header of the customer's invoice and credit note PDFs, and for some types it tells Stripe Tax not to charge tax on the sale. A customer can have up to five.
Does adding a tax ID stop Stripe Tax from charging tax?
Only for types marked Yes in the Impact in Tax Calculation column of Stripe's tax ID table, such as eu_vat, gb_vat, au_abn, ca_gst_hst and nz_gst. Types marked No, such as us_ein, ca_bn, nz_bn and pl_nip, are printed on invoices but do not change the tax.
Does Stripe verify customer VAT numbers?
Stripe checks the format of every tax ID. It also checks Australian ABNs, EU VAT numbers and UK VAT numbers against the government system and reports pending, verified, unverified or unavailable. Stripe Tax applies the reverse charge on a correctly formatted number regardless of that result.
Can customers enter their tax ID in Stripe Checkout?
Yes, if you enable tax ID collection on the Checkout Session. Checkout shows the field to customers in supported locations, accepts business tax IDs only, takes one per customer, and hides the field for an existing customer that already has a saved tax ID. Its list of collectable types is shorter than the full list.
How do I change a customer's tax ID in Stripe?
Delete it and create a new one. Stripe does not let you edit a tax ID.
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 Customer
- Reverse Charge
- Stripe Taxability Reason
- Stripe Tax Itemized Export
- Stripe Checkout Session
- Customer tax IDs in Stripe and QuickBooks
- New Zealand GST on Stripe remote services
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
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