curl --request POST \
--url https://api.cadanapay.com/v1/statutory/filings/batch \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"businessId": "<string>",
"periodStart": "2026-02-01",
"periodEnd": "2026-02-28",
"payrollRunIds": [
"<string>"
],
"filings": [
{
"filingTypeId": "ft_mx_isr_monthly",
"amounts": {
"currency": "MXN",
"totalTax": 45000,
"employerContributions": 20000,
"employeeDeductions": 25000,
"lineItems": [
{
"description": "ISR - Withholding per Artículo 96 table",
"amount": 12500
}
]
},
"personIds": [
"<string>"
]
}
],
"countryCode": "<string>",
"filingTypeIds": [
"<string>"
]
}
'{
"data": [
{
"id": "fil_01HQ3K4N7XYZABC"
}
]
}Not yet implemented.
Creates statutory filings for a business and period in a single call. Supports two modes:
Cadana payroll: Provide payrollRunIds — Cadana determines which
filing types apply based on active workers and their compensation flags
(IMSS-eligible, INFONAVIT-eligible, etc.) and pulls amounts from the tax engine.
External payroll: Provide a filings array with explicit amounts and
person IDs per filing type. Use this when the client runs payroll outside
Cadana and just needs Cadana to file and remit.
For example, a Mexican business with 15 employees would get up to 4 filings: ISR, IMSS, INFONAVIT, and ISN.
curl --request POST \
--url https://api.cadanapay.com/v1/statutory/filings/batch \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"businessId": "<string>",
"periodStart": "2026-02-01",
"periodEnd": "2026-02-28",
"payrollRunIds": [
"<string>"
],
"filings": [
{
"filingTypeId": "ft_mx_isr_monthly",
"amounts": {
"currency": "MXN",
"totalTax": 45000,
"employerContributions": 20000,
"employeeDeductions": 25000,
"lineItems": [
{
"description": "ISR - Withholding per Artículo 96 table",
"amount": 12500
}
]
},
"personIds": [
"<string>"
]
}
],
"countryCode": "<string>",
"filingTypeIds": [
"<string>"
]
}
'{
"data": [
{
"id": "fil_01HQ3K4N7XYZABC"
}
]
}Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Batch create filings. Two modes:
Mode 1 — Cadana payroll: Provide payrollRunIds and Cadana
auto-determines filing types and amounts from the tax engine.
Mode 2 — External payroll: Provide filings array with explicit
amounts per filing type. Use this when the client runs payroll outside
Cadana and provides the data directly.
One of payrollRunIds or filings must be provided.
"2026-02-01"
"2026-02-28"
Link to Cadana payroll runs. Cadana auto-determines filing types
and populates amounts from the tax engine.
Mutually exclusive with filings.
Explicit filing data for external payroll. Each entry specifies
the filing type, amounts, and workers. Use this when payroll
was run outside Cadana.
Mutually exclusive with payrollRunIds.
Show child attributes
Limit to a specific jurisdiction. If omitted, creates filings for all jurisdictions where the business has active workers.
Limit to specific filing types (only applies when using
payrollRunIds mode). If omitted, creates all applicable
filing types based on worker flags.
Filings created
Show child attributes