API
Compliance
The unified compliance surface — recurring filings, deadlines, and state-level registrations (employer / sales tax / DBA / business license) handled via the registered-agent partner.
Last updated
TL;DR. Three resource families converge on one compliance surface:
Filing for individual filings,
Compliance as the
computed-view dashboard, and StateRegistration (reg_*) for
state-level employer / sales-tax / DBA / business-license accounts
filed via the registered-agent partner. Recurring obligations
auto-roll onto the calendar.
What lands here
The compliance surface answers "what does this entity owe, when, to
which jurisdiction?" The dashboard is the Compliance
view; specific obligations are Filing resources;
state-level account registrations (distinct from the entity's own
foreign-corporation registration) are StateRegistration resources.
| Resource | Purpose |
|---|---|
Compliance | Read-only computed view: open obligations, upcoming deadlines, overdue items. |
Filing (flg_) | Individual filings (annual report, franchise tax, Form 1120, BOI report, etc.). |
StateRegistration (reg_) | State-level account registrations: employer / sales tax / DBA / business license. |
Default obligations — Delaware C-Corp
A freshly-formed Delaware C-Corp lands with four recurring obligations on the calendar automatically:
| Obligation | Cadence | Source |
|---|---|---|
| DE annual report | Annually, due March 1 | DE state |
| DE franchise tax | Annually, due March 1 (assumed-par-value or authorized-shares method) | DE state |
| BOI report | Initial within 30 days of formation; updated on ownership change | FinCEN |
| Form 1120 (federal income tax) | Annually, due 4 months + 15 days after fiscal year-end | IRS |
These are visible on the Compliance
dashboard from Day 0. Foreign qualifications, sales-tax registrations,
and state employer accounts add their own recurring obligations as they
land.
State registrations vs entity qualifications
Two distinct concepts share the word "register":
| Concept | Endpoint | Resource | Use |
|---|---|---|---|
| Foreign qualification | qualifyEntity | Qualification (qal_) | Register the Delaware entity itself as a foreign corporation in another state. |
| State sub-registration | createStateRegistration | StateRegistration (reg_) | Open employer / sales-tax / DBA / business-license accounts within a state. |
A typical sequence: qualify the entity in TX (foreign qualification), then register for the TX employer account (state registration), then register for TX sales tax (state registration) as nexus is established.
State-registration kinds
| Kind | When triggered | What Matter files |
|---|---|---|
employer | First W-2 hire in a state | State withholding + unemployment-insurance accounts |
sales_tax | First taxable revenue from a state OR economic-nexus threshold crossed | Sales-and-use-tax permit / marketplace-facilitator registration |
dba | Founder wants to operate under a non-legal trade name | Trade-name / fictitious-business-name registration (often county-level) |
business_license | City/county/state requires a general business license | License application |
All filings happen via Matter's existing registered-agent partner infrastructure (the same partner that already serves the entity for DE registered-agent service and any foreign qualifications).
Payroll is out of scope. State-registration employer opens the
state-side accounts; payroll providers (Gusto, Rippling, Justworks)
remit into them. Matter does not handle wage payment, withholding
calculation, or 941 / 940 / W-2 / 1099 form generation in v1. The
state-account-existence problem is the boundary.
Additional obligation categories
Beyond the four Day-0 defaults, the Compliance view surfaces three families of recurring deadlines that arrive as the entity matures.
- 409A staleness deadlines. A
Valuationofkind: 409acarries anexpires_at(typically 12 months from the report date). The Compliance view surfaces upcoming expirations ascompliance.409a_expiringdeadlines on the calendar. Material events — a signed term sheet, an M&A LOI, a secondary tender — accelerateexpires_atto that event date, and the calendar entry moves with it. See the 409A staleness explainer on theValuationresource for the full event list. - R&D credit study deadlines. Section 41 election timing on Form
941 (the payroll-tax offset path) shows up as
compliance.r_and_d_credit_election_dueper quarter. Entities with anrd_credit_studyDocument attached have these obligations on the calendar; the underlying election is filed by the entity's payroll provider. - Multi-state agency cascades. State-employer registrations open multiple agency obligations per state — CA opens EDD + DIR + workers' comp, NY opens DOL + DTF + UI, TX opens TWC + Comptroller. The Compliance view surfaces each agency as a discrete obligation rather than rolling them up into a single state entry, so per-agency final returns and final reports stay individually trackable on dissolution.
Common operations
| Operation | Tier | Use |
|---|---|---|
retrieveCompliance | 1 | Read the entity's compliance dashboard. |
listComplianceDeadlines | 1 | List upcoming deadlines across the portfolio. |
listComplianceObligations | 1 | List per-obligation detail. |
createStateRegistration | 3 | File a state-level registration via RA partner. |
listStateRegistrations | 1 | List existing registrations. |
retrieveStateRegistration | 1 | Get registration details + state-issued account number. |
For the composite "file everything that's due" sweep, see
workflows/file_all_due.
Webhooks
| Event | When |
|---|---|
filing.due_at_changed | A deadline on the calendar moved (extension granted, refile needed). |
filing.accepted | A filing reached accepted (state acknowledged). |
filing.rejected | A filing was rejected (typically requires correction). |
state_registration.filed | RA partner submitted the registration. |
state_registration.confirmed | State issued the account number. |
compliance.obligation_overdue | An obligation passed its due date without filing. |