In this tutorial, we're gonna review all steps needed to integrate via Quaderno API, from registering our Tax ID on Tax Jurisdictions, to perform tax calculations and save the transactions to have full reports to help on filing taxes and to get alerts when need jurisdictions need to be taken into account.

<aside> 🧑‍🎓 All URLs on this tutorial uses Quaderno Sandbox, our separate environment to learn and experiment.


1. Tax registration

First, you need to set up tax jurisdictions where you're registered for tax filing. This is easily done manually within the App (check Setting up tax jurisdictions ), but here we'll show how to do it programatically. Setting up jurisdictions means you need to associate your Tax IDs (business number) to Tax Jurisdictions. This will define which tax rates are available later for tax calculation!

<aside> 👉 Quaderno will alert you when you reach any tax registration threshold, or in other words, when you need to start filing taxes on that country or region. Learn more about this on the ‣ article.


Associating your Tax ID to Tax Jurisdictions

<aside> 👉 You can use POST /tax_rates to create a "custom Tax Rate" for special needs. You can identify those with a "type": "custom" when you GET /tax_rate/{id} , and a link to it in the field url. Use custom tax rates only as a last resort!


Check the API references for [/jurisdictions](<>), [/tax_ids](<>) and [/tax_rates](<>) for digging into all the details.

2. Tax collection

You legally start collecting taxes for your registered jurisdictions the moment you calculate a tax rate on your checkout and your customer pays you.

Calculating Tax Rates on your checkout

<aside> 🧑‍🎓 While testing out the /tax_rates/calculate endpoint, take into account that results will vary depending on your registered Tax Jurisdictions. Taxes are complex!

For the following examples, we include were the account is based and registered on.