Skip to main content
Cadana remits payroll taxes and statutory contributions to government authorities on your behalf. Every remittance is tied to an accepted filing — whether Cadana prepared the filing (source: cadana) or you filed it yourself and submitted the totals to Cadana (source: external). Cadana debits your business balance, converts FX if needed, and routes the payment through local rails.

How It Works

1

Filing is in accepted status

Every remittance points at one or more accepted filings. For source: cadana filings Cadana drives the filing through accepted itself; for source: external filings the customer creates them directly in accepted after filing with the authority.
2

Create the remittance

Specify which filings to pay and the currency to fund from. Optionally provide paymentDetails (same shape as a beneficiary in Embedded Payments) to route the payment to a bank account you specify — otherwise Cadana uses its internal default routing for the authority.
3

Cadana converts and pays

Cadana handles FX conversion (if needed) and delivers the payment to the government account via local rails. The filing’s filingReference is used as the bank attribution reference (or override it with paymentReference on the remittance).
4

Download receipt

Once the payment is confirmed, download the receipt for your audit trail.

Remittance-Only Walkthrough (External Filing)

Use this flow when you file statutory returns with the authority yourself and just need Cadana to remit the payments. The data you’d normally collect in an internal Excel workbook — totals, government references, per-employee breakdowns, bank routing — maps directly to the API.

Scenario

Your Mexican business closes February 2026 payroll with 15 employees. You’ve already filed all four returns through the government portals and received a Línea de Captura for each:
FilingAuthorityTotal (MXN)Línea de Captura
ISR WithholdingSAT82,345.000123456ABCD7890EF
IMSS ContributionsIMSS45,123.009876543ZYXW1234AB
INFONAVIT ContributionsINFONAVIT18,400.001122334455667788CD
ISN Payroll Tax (Jalisco)State (JAL)6,250.00JAL-2026-02-PTR123

Step 1: Create an External-Source Filing

For each return, create a filing with source: external. Provide the total, the Línea de Captura as filingReference, and a per-employee breakdown — Cadana stores the breakdown so each remittance can be reconciled back to specific workers without those workers needing person records in Cadana. Response:
{ "id": "fil_01JKL" }
The filing is created directly in accepted — there’s no review or submission step on Cadana’s side because you’ve already submitted the return to SAT. Repeat this call once for each of the other three returns (IMSS, INFONAVIT, ISN).
Identify workers in breakdown using externalEmployeeId (your own ID) when they’re not onboarded into Cadana, or personId when they are. For business-level taxes that aren’t allocated per employee, a breakdown line can omit both — just amount.

Step 2: Create the Remittance

Once all four filings exist, create remittances against them. You can batch filings to the same authority into one remittance, or create them one-by-one — whichever matches the bank transfers you’re going to fund. The example below shows the ISR remittance with a customer-provided CLABE as the destination. The CLABE goes under paymentDetails.bank.accountNumber — the same shape used for beneficiaries in the Embedded Payments API. The Línea de Captura supplied on the filing is automatically used as the bank reference unless you override it with paymentReference. Response:
{ "id": "rem_01STU" }
Omit paymentDetails to use Cadana’s internal default routing for the authority. Provide it when you want to specify the routing yourself — useful when you manage your own statutory-payment account mapping. The paymentDetails shape is the same paymentMethods object used by vendor payments and beneficiaries elsewhere in the API, so the routing primitives (bank, momo) work the same way across products.

Step 3: Track and Reconcile

Fetch the remittance to see the FX conversion, the destination Cadana used, and the lifecycle: Response:
{
  "id": "rem_01STU",
  "businessId": "biz_01ABC",
  "filingIds": ["fil_01JKL"],
  "status": "completed",
  "countryCode": "MX",
  "amount": 82345.00,
  "fundedAmount": 4574.80,
  "fundedCurrency": "USD",
  "fxRate": 18.001,
  "authorityId": "auth_mx_sat",
  "authorityName": "SAT",
  "paymentMethod": "local_rails",
  "paymentDetails": {
    "preferredMethod": "bank",
    "bank": {
      "accountName": "SAT — ISR Federal Treasury",
      "accountNumber": "012345678901234567",
      "bankName": "BBVA México",
      "bankCode": "012",
      "currency": "MXN"
    }
  },
  "paymentReference": "0123456ABCD7890EF",
  "receiptUrl": "https://api.cadanapay.com/v1/statutory/remittances/rem_01STU/receipt",
  "createdAt": 1741590000
}
paymentReference echoes the value Cadana attached to the transfer — defaulted from the filing’s filingReference (Línea de Captura) unless you overrode it explicitly on the remittance.

After-Filing Walkthrough (Cadana Filing)

When Cadana prepared and submitted the filing (source: cadana), the remittance step is simpler — there’s no destination to specify and Cadana already knows the period reference. Once the filing reaches accepted, create the remittance with just the filing IDs and the funding currency:
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".

Remittance Statuses

StatusDescription
pendingPayment initiated, awaiting processing
processingPayment is being processed through local payment rails
completedPayment delivered to the government authority
failedPayment failed — check the error details and retry
The status progresses: pendingprocessingcompleted. Listen for the remittance.completed webhook event to be notified, or poll GET /v1/statutory/remittances/{id}.

Download Receipt

Once the remittance is completed, download the receipt for your audit trail: The receipt is returned as a PDF containing the authority’s confirmation of payment, the amount, and the filing reference number.

Next Steps

Statutory Filing

Create Cadana-prepared or external filings before remitting

The Full Loop

See filing and remittance together in an end-to-end walkthrough

Getting Started

Discover jurisdictions, required fields, and requirements

Remittance API Reference

Full endpoint documentation