# Use the Registrations API to manage tax registrations Learn how to add, schedule, and check active tax registrations. Businesses are required to register to collect taxes in locations where they have tax obligations. The [Tax Registration API](https://docs.stripe.com/api/tax/registrations.md) lets you retrieve and configure tax registrations using an API instead of the Dashboard. Adding your registrations in Stripe turns on tax calculation and collection for your transactions made through Stripe. Different rules determine when and how a business needs to register to collect tax depending on the location. You can also use [Stripe to register](https://docs.stripe.com/tax/use-stripe-to-register.md) on your behalf or do it yourself. [Learn more about tax collection in different locations](https://docs.stripe.com/tax/supported-countries.md). - **Connect platform**: As a platform, you can use this API to manage the registrations of your connected accounts or to check an account’s active registrations. - **Direct usage**: You can use this API to manage and check your registrations. # Direct usage ## Add a tax registration After you register with local tax authorities, add the registration to Stripe Tax by calling [create Registration](https://docs.stripe.com/api/tax/registrations/create.md): ```curl curl https://api.stripe.com/v1/tax/registrations \ -u "<>:" \ -d country=IE \ -d "country_options[ie][type]=oss_union" \ -d active_from=now ``` In this case, Stripe creates a `tax.registration` object: ```json { "object": "tax.registration", "active_from": 1669249440, "country": "IE", "country_options": { "ie": { "type": "oss_union" } }, "livemode": false, "status": "active", ... } ``` ### Head office address requirement To add a tax registration, you must first set up a head office address. Without a defined head office address, an `invalid_request_error` gets triggered with a message about setting your head office address. Use the [tax settings API](https://docs.stripe.com/tax/settings-api.md) to add a head office address: ```curl curl https://api.stripe.com/v1/tax/settings \ -u "<>:" \ -d "head_office[address][country]=DE" ``` Location-specific validation and errors might occur, details of which are found in our [tax settings guide](https://docs.stripe.com/tax/settings-api.md?tax-integration=direct#validations-and-errors). ## Update and expire a tax registration Expiring a registration in Stripe Tax stops tax collection for that location, but it doesn’t automatically deregister your account with the local tax authorities. Before expiring a registration, confirm with the relevant tax authority that you’re no longer obligated to collect tax there, or that you’ll collect tax through other means. To expire a tax registration, set its `expires_at` timestamp by calling [update Registration](https://docs.stripe.com/api/tax/registrations/update.md#tax_registration_update-expires_at): ```curl curl https://api.stripe.com/v1/tax/registrations/taxreg_NkyGPRPytKq66j \ -u "<>:" \ -d expires_at=now ``` In this case, the registration expires immediately. [Tax calculations](https://docs.stripe.com/api/tax/calculations.md) performed after the `expires_at` won’t use this registration: ```json { "object": "tax.registration", "active_from": 1669248000, "created": 1669219200,"expires_at": 1669334400, "livemode": false, "status": "active", ... } ``` ## List all your tax registrations You can display all your tax registrations performing a [list registrations](https://docs.stripe.com/api/tax/registrations.md) call. The `status` parameter allows you to filter for only `active`, `expired`, or `scheduled` tax registrations: ```curl curl -G https://api.stripe.com/v1/tax/registrations \ -u "<>:" \ -d status=active \ -d limit=3 ``` ## Optional: Add a tax registration for the retail delivery fee [Server-side] To calculate the retail delivery fee, you need to add a tax registration in Colorado, United States, or in Minnesota, United States, with the registration type `state_retail_delivery_fee`. ```curl curl https://api.stripe.com/v1/tax/registrations \ -u "<>:" \ -d country=US \ -d "country_options[us][state]=CO" \ -d "country_options[us][type]=state_retail_delivery_fee" \ -d active_from=now ``` After adding the tax registration, the retail delivery fee applies to tax calculations if the item sold meets the requirements of the different states. The fee applies in Minnesota, for example, on orders above 100 USD. Refer to the documentation to check if the retail delivery fee applies: - [Retail Delivery Fee—Colorado](https://docs.stripe.com/tax/supported-countries/united-states/collect-tax.md?tax-jurisdiction-united-states=colorado#other-taxes) - [Retail Delivery Fee—Minnesota](https://docs.stripe.com/tax/supported-countries/united-states/collect-tax.md?tax-jurisdiction-united-states=minnesota#other-taxes) Learn how to [calculate the retail delivery fee](https://docs.stripe.com/tax/standalone-tax-api.md#retail_delivery_fee) and how it applies to free shipping orders. ## See also - [Use the Settings API to configure Stripe Tax](https://docs.stripe.com/tax/settings-api.md) - [Use Stripe to register](https://docs.stripe.com/tax/use-stripe-to-register.md)