Taxes
Manage regional tax profiles, automate VAT calculations, and ensure billing compliance across global markets.
Taxes API
The Taxes API provides a centralized layer for managing tax profiles and regional tax logic. By defining tax profiles (such as VAT, GST, or Sales Tax), organizations can automate tax calculation during invoicing and subscription renewals, ensuring consistent compliance with local regulations.
Tax Profiles
List Tax Profiles
Retrieve a comprehensive directory of all tax profiles configured for your organization. These profiles act as the authoritative source for tax percentage calculations and must be referenced when provisiong new customers or products.
taxes:readApiAccessPermission::TAXES_READQuery Parameters
sizeintegerpageintegerResponses
Tax profile directory successfully retrieved.
{
"entities": "Taxes",
"count": 5,
"per_page": 100,
"pages": {
"current": 1,
"max": 1
},
"elements": [
{
"id": "66a151b7...",
"name": "Standard EU VAT (22%)",
"percentage": 22,
"description": "Standard Value Added Tax for European Union member states."
}
]
}Technical Implementation
curl --location --request GET \
'https://api.hub.donutwork.com/2026-02-01/taxes.json' \
--header 'Authorization: Bearer YOUR_API_TOKEN'try {
const taxProfiles = await sdk.taxes.list();
console.log(`Active Tax Profiles: ${taxProfiles.count}`);
} catch (error) {
console.error(`Compliance Check Failed: ${error.message}`);
}Integration Note: When orchestrating customer provisioning (via the CRM/Customer API), ensure the tax_id from these profiles is correctly mapped. This association is critical for accurate automated invoicing and financial reporting.
Tax Profile Lifecycle
Create Tax Profile
taxes:writeApiAccessPermission::TAXES_WRITEQuery Parameters
No query parameters required.
Request Body
{
"tax": {
"name": "Standard EU VAT (22%)",
"description": "EU default VAT profile",
"percentage": 22,
"default": false
}
}tax.namestringRequiredtax.percentagenumberRequiredtax.descriptionstringtax.defaultbooleanResponses
Tax profile created.
{
"status": "success",
"tax": {
"id": "tax_001",
"name": "Standard EU VAT (22%)",
"percentage": 22
}
}Update Tax Profile
taxes:writeApiAccessPermission::TAXES_WRITEQuery Parameters
taxIdstringRequiredRequest Body
{
"tax": {
"name": "EU VAT 2026",
"description": "Updated profile metadata",
"percentage": 23,
"default": true
}
}tax.namestringtax.descriptionstringtax.percentagenumbertax.defaultbooleanResponses
Tax profile updated.
{
"status": "success",
"tax": {
"id": "tax_001",
"name": "EU VAT 2026",
"percentage": 23
}
}Delete Tax Profile
taxes:writeApiAccessPermission::TAXES_WRITEQuery Parameters
taxIdstringRequiredResponses
Tax profile deleted.
{
"status": "success",
"tax": {
"id": "tax_001",
"deleted": true
}
}Tax profile not found.
{
"error": "This tax profile does not exists"
}