Skip to main content

Prerequisites

1

API key from Dashboard

Get your API key from the Cadana Dashboard. See Authentication for details.
2

Active business on Cadana

Your business must be created and verified on the platform.

Check Location Support

Verify which countries and regions are supported. The response includes valid state/region codes needed when creating a person. Response:
{
  "countries": [
    {
      "name": "Australia",
      "code": "AU",
      "regions": [
        { "name": "New South Wales", "code": "NSW" },
        { "name": "Victoria", "code": "VIC" },
        { "name": "Queensland", "code": "QLD" }
      ]
    }
  ]
}

Get Required Tax Fields

Some countries require additional fields (marital status, number of dependents, etc.) for accurate calculations. Retrieve the required fields before creating a person. Response:
{
  "country": "MX",
  "fields": [
    {
      "name": "maritalStatus",
      "required": true,
      "type": "string",
      "enum": ["single", "married", "divorced", "widowed"],
      "description": "Marital status for tax deduction eligibility"
    },
    {
      "name": "numberOfDependents",
      "required": false,
      "type": "number",
      "description": "Number of dependents for tax relief"
    }
  ]
}

Create a Person

Create a person with their address, salary, and compensation details. The returned id is used for all subsequent tax calculations. Response:
{
  "id": "per_01ABC..."
}
Populate any country-specific fields from the previous step on the person record. Use PUT /v1/persons/{id}/personalInfo to add taxId and socialSecurityId, or PUT /v1/persons/{id}/taxProfile for taxProfile fields like marital status and number of dependents.

Manage Persons


Calculate Taxes

Calculate taxes for a person. Pass the personId and the salary for the period. Response:
{
  "personId": "per_01ABC...",
  "grossAmount": { "amount": 4000000, "currency": "MXN" },
  "netAmount": { "amount": 3050000, "currency": "MXN" },
  "deductions": [
    {
      "name": "ISR (Impuesto Sobre la Renta)",
      "amount": { "amount": 680000, "currency": "MXN" }
    },
    {
      "name": "IMSS Employee Contribution",
      "amount": { "amount": 270000, "currency": "MXN" }
    }
  ],
  "employerContributions": [
    {
      "name": "IMSS Employer Contribution",
      "amount": { "amount": 840000, "currency": "MXN" }
    },
    {
      "name": "INFONAVIT (5%)",
      "amount": { "amount": 200000, "currency": "MXN" }
    }
  ]
}

Response fields

FieldDescription
grossAmountInput salary for the period
netAmountTake-home pay after all deductions
deductionsEmployee deductions (social security, income tax, etc.)
employerContributionsEmployer-side costs not deducted from the employee’s pay
summaryStep-by-step calculation breakdown showing formulas, brackets, and rates for each line item
The additionalAttributes field accepts country-specific values like year-to-date salary or pension contributions. These are calculation-time inputs — different from the tax profile fields set when creating a person. Use the tax fields endpoint to discover what’s available for each country.

Next Steps

Employment Cost Calculator

Quick estimates without a person record — great for compensation planning

Tax API Reference

Full API documentation

Global Tax Engine

Product overview and capabilities

File Statutory Returns

After calculating taxes, file returns and remit to government authorities

Run Payroll

Pay your workers using the calculated tax amounts