Skip to main content
Beta — this functionality is fully supported today: statutory obligations are calculated, withheld, filed, and remitted for you as part of Cadana’s payroll process. What’s in beta is the standalone API surface on this page, which puts filings and remittances under your direct, self-serve control. Contact Cadana to enable it for your business.
Every payroll run triggers statutory obligations — taxes, social security, housing contributions. The Statutory Compliance API turns these into a four-phase cycle: calculate, file, remit, prove. This guide walks through all four phases with a real-world scenario.

Scenario

Your business biz_01ABC runs payroll in Mexico for 15 employees. February 2026 payroll closes on February 28, producing four statutory filings:

Step 1: Batch Create Filings from Payroll

After the payroll run completes, create all required filings for the period in a single call. Cadana automatically determines which filings are required based on the country, business registrations, and employee profiles. Response:

Filing Detail: ISR

Each filing returns the breakdown (the per-contribution lines that sum to the filing total) plus a derived amounts rollup. Retrieve the ISR filing to inspect the detail: Response:
All amounts in the API use regular decimal values (e.g., 82345.00), not lowest-denomination integers. amounts.total is computed server-side from the breakdown lines.

Step 2: Review and Approve

Before Cadana submits a filing to the authority, it must be approved. This gives your finance team a chance to review the amounts.

Check Filing Status

Approve the Filing

Once reviewed, approve it for submission: The endpoint returns 204 No Content on success. Fetch the filing to see the updated status: Response:
Once approved, the filing is queued for submission. Review amounts carefully before approving — reversals require contacting the tax authority directly.

Step 3: Filing Submitted and Accepted

After approval, Cadana submits the filing to the relevant authority. The filing status transitions through submitted and then to accepted once the authority confirms receipt. Poll the filing or listen for the filing.accepted webhook event:

Step 4: Create Remittance

Once a filing is accepted, pay the authority. Cadana handles FX conversion and routes the payment to the correct government account. Response:
When you fund from a different currency than the filing currency, Cadana automatically converts at the current rate. The fundedAmount shows exactly how much will be debited from your wallet, and fxRate shows the conversion rate applied. You can also fund in the local currency by setting fundFromCurrency to "MXN".

Step 5: Proof of Payment

After the remittance is processed, retrieve the proof of payment for your records.

Check Remittance Status

Response:

Download Receipt

The receipt is returned as a PDF document containing the authority’s confirmation of payment, the amount, and the filing reference number.

Step 6: Verify the Loop is Closed

After processing all four filings, check the overall status for the period: Response:

Full Timeline

Here is the complete sequence of events for the ISR filing, from payroll close to proof of payment:

Alternative: External Payroll

If you run payroll outside of Cadana but still want Cadana to file with the authorities, provide each filing’s breakdown explicitly instead of referencing a payroll run. Cadana will still drive the pending → approved → submitted → accepted lifecycle for you:
This is the unbundled model — you provide the amounts, Cadana handles filing, remittance, and proof. Use payrollRunIds when Cadana runs your payroll (bundled), or filings when you calculate externally (unbundled). Both follow the same approve-submit-accept cycle.If you’ve already filed with the authority yourself and just need remittance, set source: "external" on every entry (a batch must be all cadana or all external — mixing sources returns 400) and provide a filingReference per entry — those filings are created directly in accepted. See the Remittance walkthrough for the full flow.

Next Steps

Getting Started

Discover jurisdictions, required fields, and outstanding requirements

Statutory API Reference

Full endpoint documentation for filings, remittances, and requirements