March 19, 2026

Introducing a new submitted status in the Filing API for enhanced filing visibility.

submitted Filing status now in Sandbox

We are introducing a new submitted status to the Filing API that provides visibility into filings that have been sent to the agency but are not yet accepted. This is now available in Sandbox and will be live on production on March 30th.

What’s changing:

  • The Filing API now supports five statuses: inapplicable, pending, blocked, submitted, and filed.
  • The new submitted status indicates that a filing has been sent to the tax agency and is awaiting processing.
  • The filing date, i.e. when a filing was submitted to the agency, is available via the status_history array. Use the most recent entry where status = "submitted" and read its status_at value. We recommend labeling this as "Filing Date" in your UI.
  • filed_at continues to represent when the agency accepted the filing.

What you need to do:

  • If you filter by status, add submitted to your recognized statuses.
  • If you display filing status, add a display treatment for submitted.
  • If you display a filing date, use status_history to extract the submitted date.

Filing Close Dates, Delayed Filing Billing, & Delayed Filing Hold Controls

As mentioned in last week’s release notes, we are introducing a filing close date (closed_at) to the Filings API and Console to provide a clear boundary for when delayed filing billing applies.

Moving forward, Check will own responsibility for on-time filing if the company filing is unblocked at least 8 business days before the filing due date. After that day, Check will process all unblocked companies and close the filing. This will populate a closed_at date on the Tax Filing API and Console page. Starting April 1, 2026, any company filing submitted after the closed_at date will appear as a delayed_filing in the Usage API unless waived or caused by a Check error.

To give more control over this process, Check is adding the ability to hold a company filing via two new actions:

  • POST /filings/{id}/holdto place a hold, i.e. to indicate that you do not want Check to attempt to file
  • POST /filings/{id}/release_hold to release a hold, i.e. to indicate that you do want Check to attempt to file
  • These actions will add a blocker to the filing (held_by_customer ) and a new entry in hold_history on the Filings API.

In the Filings page of Console, each company filing will have a Closed At and Held At value. You can click into the filing to place or release the hold on a company filing.

If you do not want Check to automatically attempt to file companies once they’re unblocked, you should listen to the closed_at webhook and call POST /filings/{id}/hold for all filings. From there, call POST /filings/{id}/release_hold when you want Check to process the delayed filing.

Did this answer your question?
😞
😐
🤩