Skip to main content
skill

month-end-close · alirezarezvani — Claude Code skill: what it does, install

This skill plans month- or quarter-end close work, checks reconciliations, and challenges unsupported variance explanations. Use it to trace a slow close.

Install into Claude Code · Plugin marketplace All methods and platforms ↓
/plugin marketplace add alirezarezvani/claude-skills
/plugin install month-end-close@claude-code-skills
Open on GitHub

What month-end-close does

month-end-close runs a close workflow in three stages. The calendar stage orders tasks by dependency, finds the critical path, checks owner load, and sets workday deadlines. The reconciliation stage matches a general ledger export with a bank statement or sub-ledger, proves the balance, and ages remaining items. The flux stage flags material changes, sign reversals, new or missing accounts, and explanations that lack amounts or evidence.

The package contains three Python standard-library scripts: scripts/close_calendar_planner.py, scripts/reconciliation_matcher.py, and scripts/flux_analyzer.py. They work with JSON and CSV exports, accept --sample and --output json, and use exit code 4 for blocking conditions. Materiality comes from your policy; the default stale-item limit is 90 days.

There is no ERP connection or network access, so exports must be prepared before the run. The skill blocks sign-off when ownership or review controls are missing, a reconciliation does not prove, the preparer also reviews it, or a material variance has a boilerplate explanation.

What it helps with

  • build a dependency-based close calendar
  • locate the critical path and overloaded owners
  • reconcile a bank export with the general ledger
  • age unresolved reconciliation items
  • review quantified evidence for material variances

Example prompts for the agent

  • Run the close plan from close_plan.json, identify the critical path, and check owner load.
  • Reconcile gl_cash.csv against bank.csv, then list aged items and required journal entries.
  • Analyze tb_compare.csv and flag material changes without a quantified explanation.

How to install month-end-close

1Plugin marketplace

/plugin marketplace add alirezarezvani/claude-skills
/plugin install month-end-close@claude-code-skills

This installs the whole month-end-close plugin with all its skills

2Skills CLI (Vercel)

npx skills add alirezarezvani/claude-skills --skill month-end-close -a claude-code

3Manually: put the files in place

~/.claude/skills/month-end-close/SKILL.md

Copy the whole skill folder; for one project use .claude/skills/month-end-close/

Step by step, with commands for each platform: How to install skills in Claude Code: five ways

Questions about month-end-close

How do I install month-end-close in Claude Code?

Add the marketplace with /plugin marketplace add alirezarezvani/claude-skills, then install the skill with /plugin install month-end-close@claude-code-skills.

What does month-end-close do?

It schedules close tasks by dependency, tests reconciliations, and reviews variance explanations against materiality and evidence rules. Blocking control failures prevent sign-off.

What inputs does month-end-close accept?

Provide a close plan as JSON, general-ledger and bank data as CSV, or a trial-balance comparison CSV. The scripts run locally without an ERP connection or network access.

Source text

SKILL.md · MIT
---
name: month-end-close
description: Use when running, planning or speeding up a month-end (or quarter-end) close — building or reviewing the close checklist and calendar, reconciling a bank statement or sub-ledger to the general ledger, writing or reviewing flux (variance) explanations, or finding why the close takes too many days. Orders close tasks by dependency and finds the critical path, proves each reconciliation and ages what is left, and refuses to sign off material fluctuations explained with boilerplate.
argument-hint: "[close plan JSON | GL and bank CSVs | trial balance comparison CSV]"
license: MIT
metadata:
  version: 1.0.0
  build_pattern: "Three-gate close (calendar, reconciliation proof, flux explanations) with 3 deterministic stdlib scripts and blocking exit codes; control expectations cited to COSO 2013 and PCAOB AS 2201 / AS 2305 / SAPA 11"
  distinct_from: "financial-analyst (ratios, DCF, budgets, forecasts); saas-metrics-coach (ARR, churn, unit economics); research-finance (R&D program budgets and capitalisation); this skill runs the accounting close itself"
---

# Month-End Close

> **Portability:** 3 stdlib scripts, no network, no ERP connection. Export CSV or JSON; the scripts plan, prove and gate.
> **Not accounting or audit advice.** Thresholds and aging limits are your policy; the scripts make you state them.

A slow close is rarely slow everywhere. One chain of dependent tasks sets the
close date, reconciliations "agree" without a proof, and flux review accepts
"timing" as a reason. Each script attacks one of those.

## Workflow

```bash
# 1 - Calendar: dependency order, critical path, owners, reviewers, load.
python scripts/close_calendar_planner.py --plan close_plan.json
# 2 - Reconciliations: match, prove, age. One run per account.
python scripts/reconciliation_matcher.py --gl gl_cash.csv --source bank.csv \
  --gl-balance 52708.60 --source-balance 47144.72 --as-of 2026-10-31 --preparer Sam --reviewer Lee
# 3 - Flux: every material change needs a quantified, evidenced explanation.
python scripts/flux_analyzer.py --input tb_compare.csv --pct 10 --abs 10000 --reviewer Lee
```

**Step 1** schedules each task as soon as its predecessors finish, then checks
the plan against people: one person booked for 1.5 days on WD1 is a plan that
will slip. Speed up the critical path, nothing else.

**Step 2** matches by reference, then by amount within a date window, then pairs
digit transpositions (7,980 vs 7,890) into one correcting entry. What is left is
a reconciling item: in the GL only (timing) or in the source only (book a journal
entry). Opening-balance rows are balances, not transactions: when the two sides
open at different amounts, that difference came from last month and blocks
sign-off until it is traced there; it is never booked this period. The proof
must close to zero.

**Step 3** marks an account material when it passes your threshold rule, flips
sign, or appears or disappears. Its explanation fails if it is missing, stock
("timing", "in line with expectations"), or has no number in it.

## The gates block on (exit 4)

1. A task with no owner, or a key control with no reviewer or reviewed by its preparer.
2. A plan whose critical path ends after the target workday.
3. A reconciliation that does not prove, or an item older than the stale limit (default 90 days, policy).
4. Preparer and reviewer being the same person, or a flux reviewer who owns the line.
5. A material fluctuation with a missing, boilerplate or unquantified explanation.

## Hard rules

- **A sign-off is not evidence of review.** Record what was checked and where the support is.
- **Never plug a reconciliation.** An unexplained difference is a finding until someone explains it.
- **Thresholds are policy, not standards.** No auditing standard prescribes "10% and 10,000". State yours.
- **Explanations name the driver and the amount**: what moved, by how much, why, and the document behind it.
- **Do not speed up off-critical-path tasks** to shorten the close; they have slack.

## Scripts

| Script | Role | Exit codes |
|---|---|---|
| `scripts/close_calendar_planner.py` | Topological order, critical path, slack, WD deadlines, calendar dates, owner load, reviewer segregation | 0 · 2 at risk · 3 bad input or cycle · 4 blocked |
| `scripts/reconciliation_matcher.py` | Two-pass matching, proof, aging buckets, journal entries needed, review check | 0 · 2 items · 3 · 4 unreconciled |
| `scripts/flux_analyzer.py` | Materiality by your rule, sign flips, explanation lint, evidence check, self-review | 0 · 2 evidence · 3 · 4 incomplete |

All support `--sample` and `--output json`.

## References and assets

- [`references/close_calendar_and_benchmarks.md`](references/close_calendar_and_benchmarks.md) — task order, critical path, days-to-close benchmarks and their caveats (6 sources)
- [`references/reconciliation_standards.md`](references/reconciliation_standards.md) — what a reconciliation must contain, aging, segregation, review precision (6 sources)
- [`references/flux_analysis_and_materiality.md`](references/flux_analysis_and_materiality.md) — expectations, thresholds, corroboration, materiality rules of thumb (6 sources)
- [`assets/close_plan.example.json`](assets/close_plan.example.json), [`assets/gl_cash.example.csv`](assets/gl_cash.example.csv), [`assets/bank_statement.example.csv`](assets/bank_statement.example.csv), [`assets/flux_input.example.csv`](assets/flux_input.example.csv) — input formats
- [`assets/reconciliation_signoff.md`](assets/reconciliation_signoff.md) — sign-off sheet with the evidence fields a reviewer fills in

© Alireza Rezvani · MIT · alirezarezvani/claude-skills

Similar skills

All skills for Finance and business →

month-end-close by other authors comes first.

month-end-close openaccountant Runs a monthly bookkeeping checklist with bank reconciliation. It spots missing categories, flags duplicate entries, and balances the numbers. CX Codex +1 474installs close-month official anthropics Closes the books, reconciles transactions against payment processors, refreshes the 30/60/90-day cash forecast, and publishes the close packet. CX Codex +1 1,800installs month-end-prep official anthropics Reconciles QuickBooks, Xero, Zoho Books, NetSuite, or MYOB against PayPal, Shopify, Square, and Stripe settlements, surfaces discrepancies and duplicates, writes a P&L summary, and exports the close packet as xlsx and PDF. CX Codex +1 1,700installs year-end-summary openaccountant Generates an annual financial summary with monthly trends and category aggregates. Useful for tax filing and budgeting. CX Codex +1 405installs venmo-reconciler openaccountant Sorts a Venmo export into business and personal transfers, flags the unclear ones, and books the business side. CX Codex +1 420installs affiliate-payout-audit Maya-Beth Finotti Checks one affiliate commission payout run before the money moves: recomputes rates and tiers, catches double-counted conversions, verifies validation windows and tax forms. CX Codex +1 13,500installs QuickBooks Automation Claude Office Skills Automates QuickBooks accounting pipelines, from invoicing and expense categorization to bank reconciliation and reporting. Useful for managing books directly through coding agents. CX Codex +1 4,700installs

From the same set476

The whole set →

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor