Skip to content
Automation
Skill

/fin-monthly-close-kickoff

Monthly close kickoff — initiates the month-end closing process with a checklist, simplified P&L (Stripe + Omie + Evo Academy), pending reconciliations, receivables, payables, and action items for the finance team. Trigger when user says 'monthly close', 'start closing',

From plugin
evo-nexus
520193 skills38 agents40 commands9 MCP
Install
$ npx -y skills add evolution-foundation/evo-nexus --skill fin-monthly-close-kickoff --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/fin-monthly-close-kickoff

Context preview

The summary Claude sees to decide when to auto-load this skill.

Monthly close kickoff — initiates the month-end closing process with a checklist, simplified P&L (Stripe + Omie + Evo Academy), pending reconciliations, receivables, payables, and action items for the finance team. Trigger when user says 'monthly close', 'start closing',

SKILL.md

fin-monthly-close-kickoff.SKILL.md
name: fin-monthly-close-kickoff
description: "Monthly close kickoff — initiates the month-end closing process with a checklist, simplified P&L (Stripe + Omie + Evo Academy), pending reconciliations, receivables, payables, and action items for the finance team. Trigger when user says 'monthly close', 'start closing', 'closing kickoff', or on the 1st of each month."

Monthly Close Kickoff

Monthly routine that initiates the closing process: generates a checklist, simplified income statement, pending items, and action items for the finance team.

**Always respond in English.**

**IMPORTANT:** This routine runs on the 1st of each month and refers to the PREVIOUS month's close.

Step 1 — Determine period

  • Reference month: the month prior to the current one (e.g., if today is April 1st, close March)
  • Period: first to last day of the reference month

Step 2 — Collect month's data (silently)

2a. Revenue (Stripe)

Use `/int-stripe`:

  • Total succeeded charges for the month
  • MRR at end of month vs start
  • Subscriptions: new, canceled, upgrades, downgrades
  • Month's refunds

2b. Revenue and expenses (Omie)

Use `/int-omie`:

  • Total revenue received during the month
  • Total expenses paid during the month
  • Categorize by type (Personnel, Infrastructure, Services, Marketing, Taxes, etc.)
  • Invoices issued during the month
  • Invoices that should have been issued but were not

2c. Revenue (Evo Academy)

Call `GET /api/v1/analytics/summary?period=30d` (env: `$EVO_ACADEMY_BASE_URL`, auth: `Bearer $EVO_ACADEMY_API_KEY`):

  • `revenue.total` → receita bruta do mês
  • `orders.completed / pending / refunded` → contagem por status
  • `subscriptions.active / cancelled` → base e churn do mês

Fetch todos os orders do mês: `GET /api/v1/analytics/orders?status=completed&created_after=YYYY-MM-01&created_before=YYYY-MM-31&per_page=100`

  • Itere por cursor até `has_more=false`
  • Some `amount` → receita total do mês
  • Separe por produto: Evo Academy (R$950/mês), Evolution Builder (R$970/mês), Curso Agentic Engineer (R$2k/mês), Beta Access (R$370/mês), one-time (Blueprint Pack, Fast Start Pro), Evo Setup (R$5/mês)
  • Identifique renovações (`is_renewal=true`) vs novos clientes

Fetch assinaturas ativas no fim do mês: `GET /api/v1/analytics/subscriptions?status=active&per_page=100`

  • MRR Evo Academy = soma de `plan.price` das ativas

2d. Outstanding receivables

  • List all open receivables (from the month or earlier)
  • Highlight overdue items

2e. Next month's payables

  • List payables due in the current month (the upcoming month)

2f. Previous month (for comparison)

  • Read the previous month's financial report from `workspace/finance/reports/monthly/` if it exists
  • Or use data from the last monthly close

Step 3 — Build simplified income statement

Structure the income statement with:

| Account | Actual | Prior Month | Variance | |---------|--------|-------------|----------| | Gross Revenue (Stripe) | | | | | Gross Revenue (Evo Academy) | | | | | Gross Revenue (Omie/Services) | | | | | (-) Taxes | | | | | **Net Revenue** | | | | | (-) Personnel | | | | | (-) Infrastructure | | | | | (-) Third-party Services | | | | | (-) Marketing | | | | | (-) Other | | | | | **Total Expenses** | | | | | **Operating Result** | | | | | Margin | | | |

Step 4 — Build closing checklist

Generate a checklist with initial status for each item:

1. **Reconcile Stripe** — verify all charges match received payments 2. **Reconcile Evo Academy** — verify orders and subscriptions match expected MRR 3. **Reconcile Omie** — verify entries and exits in the ERP are correct 4. **Issue pending invoices** — list invoices that need to be issued (finance team) 5. **Collect overdue accounts** — list clients with late payments 6. **Categorize expenses** — verify all expenses are categorized 7. **Review entries** — verify manual or atypical entries 8. **Calculate taxes** — verify month's tax obligations 9. **Generate final income statement** — after reconciliations, generate the definitive P&L 10. **Approve close** — the responsible person reviews and approves

Possible statuses:

  • `done` (checkmark) — already completed automatically
  • `pending` (circle) — needs to be done
  • `blocked` (x) — depends on something external
  • `na` (dash) — not applicable this month

Step 5 — Identify pending items for the finance team

List in clear bullets what the finance team needs to handle:

  • Invoices to issue (which clients, amounts)
  • Payments to confirm
  • Missing documents
  • Deadlines

Step 6 — Closing observations

Relevant notes:

  • Atypical (non-recurring) expenses
  • Client plan changes
  • Any anomalies identified
  • Impact of monthly events (e.g., corporate event, new partnership)

Step 7 — Classify close status

Badge:

  • **green** "On track": most items ok, no blockers
  • **yellow** "In progress": pending items but no risk
  • **red** "Delayed": blockers or critical pending items

Step 8 — Generate HTML

Read the template at `.claude/templates/html/custom/monthly-close.html` and replace ALL `{{PLACEHOLDER}}`.

For checklist:

<div class="checklist-item">
  <div class="check-icon done/pending/blocked/na">checkmark/circle/x/dash</div>
  <div class="checklist-text">
    <div class="cl-title">Item name</div>
    <div class="cl-detail">Detail or observation</div>
  </div>
  <div class="checklist-owner">Finance / Admin / Auto</div>
</div>

For income statement:

<tr>
  <td>Account name</td>
  <td class="right">R$ X,XXX.XX</td>
  <td class="right">R$ X,XXX.XX</td>
  <td class="right var-positive/var-negative">+X% / -X%</td>
</tr>

Total rows use `class="total"`:

<tr class="total">
  <td>Operating Result</td>
  <td class="right">R$ X,XXX.XX</td>
  <td class="right">R$ X,XXX.XX</td>
  <td class="right var-positive">+X%</td>
</tr>

Values in Brazilian format: R$ 1.234,56

Step 9 — Save

Save to:

workspace/finance/reports/monthly/[C] YYYY-MM-monthly-close.html

Create the directory `w

Read more
Ships withevo-nexus

The open source operating system for AI-powered businesses

Get the whole plugin

Other skills on evo-nexus.