breakdown of contribution lines that sum to the filing total — that breakdown is what gives the filing its meaning, whether Cadana prepared it or you did.
Filings come from two sources:
source: cadana— Cadana submits the return to the authority on your behalf. Each breakdown line must reference apersonId. You can either link a Cadana payroll run (Cadana populates the breakdown from the tax engine) or provide the breakdown yourself if you computed the amounts elsewhere. Filings run the fullpending → in_review → approved → submitted → acceptedlifecycle.source: external— You filed the return with the authority yourself and are sending Cadana the resulting data so a remittance can be created. Breakdown lines may usepersonId,externalEmployeeId, or neither (for business-level taxes). The filing is created directly inacceptedand skips the submission lifecycle. See the Remittance walkthrough for the end-to-end flow.
source: cadana flow — Cadana-prepared filings — including review, approval, and submission.
How It Works
Create filings
After payroll closes, batch-create all required filings for the period. Cadana determines the applicable filing types based on country, business registrations, and employee profiles.
Review and approve
Your finance team reviews the amounts and line items, then approves each filing for submission.
Cadana submits
Cadana submits the filing to the relevant government authority (SAT, IMSS, INFONAVIT, etc.).
Step 1: Create Filings
From a Cadana Payroll Run
Create all required filings for a period in a single call by referencing a completed payroll run: Response:Without a Cadana Payroll Run
If you calculate taxes outside Cadana but want Cadana to file with the authority, create the filing one at a time withsource: cadana and provide the breakdown directly. Each breakdown line must reference a personId so Cadana has the worker context it needs to file. The filing still runs the full review and submission lifecycle.
Already filed with the authority yourself and just need Cadana to remit? Use
source: external instead — the filing is created directly in accepted, breakdown lines can identify workers by externalEmployeeId, and you provide the filingReference from the authority. See the Remittance-only walkthrough.Inspect Filing Detail
Each filing returns itsbreakdown (the contribution lines you supplied or that Cadana derived from payroll) plus a derived amounts rollup:
Response:
Step 2: Review and Approve
Before Cadana submits a filing, it must be approved. This gives your finance team a chance to review the amounts. The endpoint returns204 No Content on success. Fetch the filing to see the updated status:
Response:
Step 3: Submission and Acceptance
After approval, Cadana submits the filing to the authority. The status transitions throughsubmitted → accepted. Poll the filing or listen for the filing.accepted webhook event:
filingReference field (e.g., the Línea de Captura returned by SAT). This is the reference your subsequent remittance will use to attribute the payment.
Filing Lifecycle
The lifecycle below applies tosource: cadana filings. source: external filings are created directly in accepted and do not transition through the other states.
| Status | Description |
|---|---|
pending | Created with amounts, ready for review |
in_review | Validated and ready for approval |
approved | Queued for submission to government authority |
submitted | Sent to the authority |
accepted | Authority acknowledged receipt — terminal state for both cadana and external |
blocked | Missing data prevents submission — returns to pending when data is updated |
rejected | Authority rejected the filing — returns to pending for correction |
Next Steps
Statutory Remittance
Pay government authorities after filings are accepted
The Full Loop
See filing and remittance together in an end-to-end walkthrough
Getting Started
Discover jurisdictions, required fields, and requirements
Filing API Reference
Full endpoint documentation