Tax for physical goods
Set up Stripe Tax for your e-commerce business selling physical goods.
If your online business sells physical goods that you either ship or that the customer picks up, this guide provides specific steps to implement Stripe Tax according to your business type.
Availability
Stripe Tax supports the sale of physical goods into any of the supported countries with the All PTCs product type. Stripe Tax handles cross-border sale of goods according to regional laws.
Stripe Tax has over 400 Product Tax Codes (PTCs) for physical goods. You can use General - Tangible Goods (txcd_99999999) for most physical goods. If your product requires unique tax treatments, you can choose a specific PTC with the category type Physical goods that most closely represents your product.
Set up Stripe Tax for physical goods
- Follow Set up your Stripe Tax account instructions, including automated filing and registrations. Use threshold monitoring to track where to register based on your sales volume.
- Configure your product-specific PTCs and shipping settings.
- If you ship goods from locations besides your origin address, configure “ship from” locations using the API.
Regional considerations for physical goods
Some jurisdictions have specific requirements for physical goods sales.
United States
If your business delivers physical goods in Colorado and Minnesota and is subject to retail delivery fees, add a retail delivery fee registration in those states alongside your standard sales tax registration to properly collect fees.
European Union
Add the registration that best represents your specific situation. Commonly used registration types include:
- Domestic: Local sales within an EU country.
- One Stop Shop (OSS): Sales of goods located in one EU country that ship to other EU countries. If your business is located outside of the EU, you can choose any destination EU country registration.
- Import One Stop Shop (IOSS): Shipments less than 150 EUR of physical goods into the EU.
Cross-border sale of goods
If you sell physical goods into a country outside your own, you might choose to tax those sales at the customer’s location. The following countries require adding an inbound goods registration in these cases. By default, Stripe treats the sale of goods to other countries as exports and applies a zero rate. However, some cases, such as when you act as the importer for customs purposes, require you to apply local tax to these sales. Adding the inbound goods registration applies tax, irrespective of the value of the goods.
You can calculate Canadian HST/GST on cross-border sales into Canada by adding a normal GST/HST registration. Stripe doesn’t calculate tax on cross-border sales into Canada for businesses with a simplified GST/HST registration.
Cross-border sales of physical goods into the US apply tax at the customer location by default (if you have a sales tax registration in the states where you ship goods.)
Multi-channel support
If you sell products on other platforms including WooCommerce, BigCommerce, Adobe Commerce, or Magento, you can install the applicable Stripe Tax connector to calculate tax for sales on that platform. The connectors automatically redirect transactions back to Stripe Tax to enable accurate reports and filing.
If you have off-Stripe sales, you can import them to Stripe to centralize your data and use threshold monitoring, reports, and automated filing.
B2B sales and exemption certificates
Your EU cross-border sales to business customers (B2B sale) might require reverse charges. You must collect your customer’s VAT number to apply the zero VAT rate to these sales.
Learn more how to collect Tax IDs in Checkout and display them on invoices.
Manage exemption certificates with the EXEMTAX Stripe App.
Customization
You can customize our taxability logic for unique cases, such as to:
- Apply special taxability rules, such as exemptions, to your business.
- Change the Stripe local district defaults to opt in or out of local rule taxes. For example, Denver, CO subjects businesses to up to five different taxes, including state, county, city, and district. If you don’t qualify to pay tax in one or more of these categories, you can exclude it from collection by adding a “non-taxable” customization for the administrative area and PTCs.