--- name: prepare-the-delaware-annual-filing title: Prepare the Delaware Annual Filing description: Get ready for your Delaware annual report and franchise tax (due March 1 every year). I run the math two ways and pick the cheaper one, which is usually 10x to 100x lower than the scary number Delaware shows by default. You get a step-by-step pack of exactly what to enter on the state's website. You file, I prep. author: gethouston author_url: https://github.com/gethouston/houston/tree/main/store/agents/legal/.agents/skills/prepare-the-delaware-annual-filing license: MIT version: 0.1.1 execution_mode: open jurisdiction: us practice: corporate language: en --- # Prepare the Delaware Annual Filing Every Delaware C-corp owe franchise-tax filing + annual report by **March 1**. Default online calc use Authorized-Shares, quote scary number - often $75K+ for standard 10M-authorized-share startup. The **Assumed-Par-Value-Capital method** almost always produce much lower tax (often $400-$1,000 small startup). Run both, flag savings. ## When to use - "Prep my Delaware annual report for {year}." - "Delaware franchise tax is coming up." - Triggered by `track-deadlines-and-signatures` (scope=deadlines) when March 1 deadline enter 90-day window. - Founder got scary invoice from Delaware, want recalc. ## Steps 1. **Read shared context.** Read `context/legal-context.md`. If missing or empty, ask the user in plain language: "I need a few basics about your company first (state of formation, authorized shares, directors). Want to set those up now?" Then run `set-up-my-legal-info` if they say yes. Stop until that's done. 2. **Read config.** `config/entity.json` - confirm `stateOfIncorporation === "DE"`. If not, respond: "This only applies to Delaware entities; your entity is registered in {state}." Stop. 3. **Gather filing inputs.** Read from `legal-context.md`: - Entity legal name - File number (Delaware state file number, 7 digits) - Authorized shares (per share class: common + any preferred) - Par value per share (typically $0.0001 or $0.00001 for startups) - Registered agent name + address - Formation date More inputs for recalc (ask founder if missing, one at time): - **Issued shares as of fiscal year-end** (per class). Pull from `composio search cap-table` (Carta / Pulley); if not connected, ask. - **Gross assets as of fiscal year-end** (from balance sheet - total assets line). If pre-revenue with <$50K in bank, usually just "cash on hand". - **Directors** - name + title each board member. - **Officers** - name + title each (President, Secretary, Treasurer minimum; sole-founder typically hold all three). - **Principal place of business** - address (founder home office or registered-agent address OK). 4. **Run both franchise-tax calculations.** **Method A - Authorized-Shares (default, usually higher):** - ≤ 5,000 shares: $175 flat (minimum). - 5,001-10,000 shares: $250 flat. - > 10,000 shares: $250 + $85 per additional 10,000 shares (or fraction), capped at $200,000. - 10M-authorized-share startup → ~$85,165 under this method. **Method B - Assumed-Par-Value-Capital:** 1. `assumedParValueCapital = (grossAssets / totalIssuedShares) * totalAuthorizedShares`. 2. Tax = `$400 per $1,000,000 of assumedParValueCapital` (minimum $400; maximum $200,000). 3. 10M-authorized, 8M-issued, $100K-gross-assets startup → `(100000 / 8000000) * 10000000 = $125,000` assumed par value → tax $400 (hit floor). Pick **lower** of A and B. Delaware statute explicitly allow Assumed-Par-Value-Capital election. Cite **8 Del. C. §503**. 5. **Show both numbers + savings.** Example call-out: > "Default Authorized-Shares method: $85,165. > Assumed-Par-Value-Capital method: $400. > Savings: $84,765. Elect Assumed-Par-Value-Capital on the > filing form - there's a radio button on the Delaware portal > for this." 6. **Assemble submission package.** Write single markdown file to `annual-filings/de-{year}.md` with: - **Summary** - entity, year, total due (lower of methods A/B), election being made, deadline (March 1, {year}). - **Calculation detail** - both methods, inputs, result. - **Annual report content** - entity name, file number, principal place of business, phone, directors (name + addr), officers (name + addr + title), issued shares. - **Step-by-step portal guide** - URL (https://corp.delaware.gov/paytaxes/), log in with entity file number, select annual report + franchise tax, enter officers + directors, **select "Assumed Par Value" on franchise-tax election radio**, enter gross assets + issued shares, pay. - **Late-fee warning** - $200 late fee + 1.5% monthly interest; failure two consecutive years → entity declared void. - **Reminders** - registered-agent renewal (separate bill from agent), annual board consent (separate process). 7. **Write atomically** (`*.tmp` → rename). 8. **Append to `outputs.json`** - `{ id, type: "annual-filing", title, summary, path, status: "draft", createdAt, updatedAt, attorneyReviewRequired }`. Flip `attorneyReviewRequired: true` if cap table has anything unusual - unconverted SAFEs / convertibles, multiple preferred classes, shares issued at non-standard par, founder stock not yet issued on ledger, or any discrepancy between cap table and board-consented issuances. 9. **Mark calendar row done** once founder confirms filed. Update `deadline-calendar.json` `type: "delaware-franchise-tax"` row → `status: "done"`; next year row seed on January 1. 10. **Summarize to user.** Plain language. Show both tax numbers, the savings, the March 1 deadline, the link to the Delaware filing site, and a one-liner: "I've laid out exactly what to enter. Go to that page when you're ready and follow the steps." Never name files or paths. ## Outputs - `annual-filings/de-{YYYY}.md` - Appends to `outputs.json` with `type: "annual-filing"`.