# Remind me before the annual report is due

URL: /workflows/guides/remind-me-before-the-annual-report-is-due · Id: `guide:remind-me-before-the-annual-report-is-due`

> Every state filing and franchise tax on one calendar, drafted 45 days before it is due, so the Company stays in good standing.

Every annual report and franchise tax your [Company](/business/nouns/company) owes goes on one calendar. Each is drafted 45 days before it is due, ready for an officer to sign.

Needs: [Company](/business/nouns/company)

**Before it runs**

- You leave the chat: Never: it all happens in the chat.

## What you get
- 1 filing calendar: each state’s annual report and franchise tax, with its due date (Task)
- 1 draft filing 45 days before each due date, for an officer to sign (Document)
- 1 filing receipt kept with the Company’s records (File)
- 1 Company filings Process, on (Process)

## Your agent does
**For agents**

- Guide: `guide:remind-me-before-the-annual-report-is-due`, status `live`. Page: [/workflows/guides/remind-me-before-the-annual-report-is-due.md](/workflows/guides/remind-me-before-the-annual-report-is-due.md).
- Approval: none. Run it when the founder asks.
- Leaves the chat: never.
- Needs first: [Company](/business/nouns/company).
- Run: call the steps in order, each through the API, SDK, CLI or MCP tab below; a later step passes the `$id` an earlier one returns. Each value marked example is the sample business’s: pass the founder’s own.

| Step | Verb | Inputs (type, required, this guide’s value) | Returns |
| --- | --- | --- | --- |
| 1 | [`Process.enable`](/business/nouns/process/enable) (`verb:Process.enable`) | `process` Process (an id), required: example `"process_company_filings"` | `process` Process |
| 2 | [`Setting.update`](/business/nouns/setting/update) (`verb:Setting.update`) | `id` string, required: example `"setting_1"`; `key` string: example `"filings.remindDays"`; `value` json: example `45` | `setting` Setting |

Returns: the last call answers with `setting` and its `action`, whose `status` is `done`, `pending` (waiting on an Approval or a Worker), `failed`, `canceled` or `refused`:

```json
{
  "api": "https://api.sb/leaseline.app",
  "setting": {
    "$id": "https://api.sb/leaseline.app/settings/setting_1",
    "$type": "Setting",
    "key": "filings.remindDays",
    "value": 45
  },
  "action": {
    "$id": "https://api.sb/leaseline.app/actions/action_1",
    "operation": "Setting.update",
    "status": "done"
  },
  "links": {
    "self": "https://api.sb/leaseline.app/actions/action_1"
  }
}
```

Next: offer “File it without asking when nothing changed”, or “Remind my lawyer too”.

Calls: `Process.enable` → `Setting.update`

Ask:

```text
Remind me before the annual report is due.
File our annual report.
Pay the Delaware franchise tax.
```

API:

```bash
# 1. Process.enable
curl -X POST https://api.sb/leaseline.app/processes/process_company_filings/enable \
  -H "Authorization: Bearer $STARTUP_BUILDER_API_KEY"

# 2. Setting.update
curl -X PATCH https://api.sb/leaseline.app/settings/setting_1 \
  -H "Authorization: Bearer $STARTUP_BUILDER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"value":45,"key":"filings.remindDays"}'
```

SDK:

```ts
import { $ } from 'startup-builder'

await $.Process.enable({ process: 'process_company_filings' })
await $.Setting.update({ id: 'setting_1', value: 45, key: 'filings.remindDays' })
```

CLI:

```bash
npx startup-builder do Process.enable --json '{"process":"process_company_filings"}'
npx startup-builder do Setting.update --json '{"id":"setting_1","value":45,"key":"filings.remindDays"}'
```

MCP:

```json
{
  "name": "do",
  "arguments": {
    "code": "await $.Process.enable({ process: 'process_company_filings' })\nreturn await $.Setting.update({ id: 'setting_1', value: 45, key: 'filings.remindDays' })"
  }
}
```

## Change it
- File it without asking when nothing changed.
- Remind my lawyer too.
- Add the California statement of information.

## Under the hood
- Systems: [Corporate records](/systems/corporate-records)
- Nouns: [Company](/business/nouns/company), [Task](/business/nouns/task), [Document](/business/nouns/document), [Setting](/business/nouns/setting)
- Events: [`Company.incorporated`](/business/events/Company.incorporated), [`Company.submitted`](/business/events/Company.submitted)

A missed annual report costs a penalty and, in time, good standing, which buyers and banks check. The filing takes minutes; remembering it is the hard part.