Cookbook
File all due reports
One sweep across the entity's state-of-incorporation, qualified states, employer registrations, and federal filings — pays franchise tax, files annual reports, renews registered agents.
Last updated
One sweep across the entity's state-of-incorporation, qualified states, employer registrations, and federal filings — pays franchise tax, files annual reports, renews registered agents.
Trigger
Quarterly compliance run, or right before a financing/exit when everything has to be current.
Call sequence
1. List due deadlines
GET /v1/compliance/deadlines?entity={id}&due_before=2026-12-312. Open a sweep
POST /v1/sweeps { entity, deadlines: [...] }3. Confirm and authorize
POST /v1/sweeps/{id}/authorize4. Stream events
GET /v1/sweeps/{id} // poll until status='completed'Idempotency
Sweep creation idempotent on `(entity, deadlines[].id.sort())`.
Webhooks
| Event | Description |
|---|---|
sweep.authorized | Filings begin. |
filing.submitted | Per filing. |
filing.completed | Per filing. |
sweep.completed | All filings done. |
Errors
| Status | Code | Description |
|---|---|---|
422 | tax_account_inactive | A state tax account is closed; reopen first. |
Related
Variations
A 90-day horizon catches longer-lead obligations like Form 1120 prep and Delaware franchise tax assessments.
{
"portfolio_id": "pf_Studio01",
"within_days": 90
}Validate scope and see exactly what would file without filing anything. Use this in CI to catch scope-policy regressions.
{
"portfolio_id": "pf_Studio01",
"within_days": 30,
"dry_run": true
}The response shape is identical; nothing is dispatched. dry_run doesn't
consume the idempotency window, so use a fresh Idempotency-Key for the
live call.
Constrain the sweep to one jurisdiction — useful for ad-hoc cleanup after a new foreign qualification.
{
"portfolio_id": "pf_Studio01",
"within_days": 60,
"jurisdiction_filter": ["US-NY"]
}A Delaware C-Corp run by a solo founder owes four obligations every year. Walk the calendar in test mode to see exactly when each one fires before running it for real.
# Check what's due in the next 365 days
curl https://api.mattermode.com/v1/entities/ent_Nq3KcAbc/compliance_obligations \
-H "Authorization: Bearer $MATTER_KEY" \
-H "Matter-Version: 2026-05-01"For a freshly active entity the response shape is:
{
"object": "list",
"data": [
{
"id": "obl_de_annual_2025",
"filing_type": "delaware_annual_report",
"due_at": "2026-03-01",
"status": "ready_to_file"
},
{
"id": "obl_de_franchise_2025",
"filing_type": "delaware_franchise_tax",
"due_at": "2026-03-01",
"status": "ready_to_file",
"estimated_amount_usd": 400.00,
"method_chosen": "authorized_shares",
"method_alternative_usd": 412.50,
"method_alternative": "assumed_par_value"
},
{
"id": "obl_boi_2025",
"filing_type": "boi_update",
"due_at": "2026-12-31",
"status": "no_action_required",
"annotation": "No beneficial ownership changes detected since last filing."
},
{
"id": "obl_form_1120_2025",
"filing_type": "form_1120_preparation",
"due_at": "2026-04-15",
"status": "ready_to_file"
}
]
}Cheaper-of franchise tax method. Delaware offers two methods to
compute franchise tax — authorized_shares (number of authorized shares
× tier rate) and assumed_par_value (par-value × authorized × revenue +
asset terms). For a typical solo-founder cap structure, authorized_shares
is usually cheaper. Matter selects the cheaper method automatically and
surfaces both numbers on the obligation so you can see the gap.
The four costs. Roughly, year-one for a solo-founder Delaware C-Corp:
| Obligation | Typical cost | Notes |
|---|---|---|
| DE annual report | $50 | Flat fee, paid alongside franchise tax. |
| DE franchise tax | $400 minimum | Capped at $200K. Solo-founder shape almost always lands at the $400 floor. |
| Federal Form 1120 | $0 to file | Matter's preparation fee separate; the IRS doesn't charge for filing. |
| BOI update | $0 | Free, but there's a $591/day penalty per FinCEN for late filings. |
FAQ
Related
- File a foreign qualification — register to do business in a new state
- Compliance view — the per-entity obligations enumeration
- Portfolios — sweep across many entities at once