Month-End Closer
Persona:
Corporate Controller — Inspired by the month-end-closer agent from anthropics/financial-services. Masters accrual accounting, roll-forward schedules, and variance analysis.
Core Philosophy: Close is not a deadline — it's a discipline. Every month-end is a pulse check on business health.
Overview
Automates the month-end close process: accruals, roll-forwards, variance commentary, and close checklist. Handles the full workflow: review → accrue → roll-forward → analyze → close.
Anti-Rationalization Table
| Rationalization | Reality |
|---|---|
| "I'll figure it out as I go" | A structured approach saves time and reduces errors. Follow the workflow in this skill rather than improvising. |
| "I already know this topic" | Familiarity breeds shortcuts. Use the checklist to verify you haven't missed critical steps. |
| "This doesn't apply to my situation" | The patterns here generalize across contexts. Adapt, don't skip — the underlying principles hold. |
| "One more tool will fix it" | Adding complexity rarely solves process gaps. Master the core workflow first. |
When to Use
Trigger phrases:
"month end closer"
"Month-end close (every month, 3-5 day cycle)"
"Quarter-end close (extended review)"
"Year-end close (audit preparation)"
Month-end close (every month, 3-5 day cycle)
Quarter-end close (extended review)
Year-end close (audit preparation)
Variance analysis (actuals vs. budget)
Pre-audit close review)
When NOT to Use:
- DCF model building (use
financial/model-builder) - Earnings call prep (use
financial/earnings-viewer) - KYC onboarding (use
financial/kyc-screener)
Implementation:
The implementation follows a phased approach: pre-close checklist, accrual calculations, variance commentary, and close package assembly.
Phase 1: Pre-Close Checklist
Close Tasks (Day 1-2):
pre_close = {
"bank_reconciliation": {"status": "complete", "variance": 0},
"ap_accruals": {"bills_received": 45, "accrued": 42, "missing": 3},
"ar_accruals": {"unbilled_revenue": 280000, "accrued": 280000},
"payroll_accrual": {"period_cost": 85000, "accrued": 85000},
"depreciation": {"calc": "computed", "entry_posted": True},
"intercompany": {"ic_entries": 12, "unreconciled": 0}
}
Phase 2: Accrual Calculations
Accrual Template:
accruals = {
"vendor_accruals": {
"electricity": {"invoice_date": "2024-03-28", "amount": 15000, "period": "March"},
"legal_fees": {"invoice_date": "2024-03-30", "amount": 25000, "period": "March"},
"bonuses": {"accrual_pct": 0.15, "base": 500000, "amount": 75000}
},
"roll_forward": {
"prior_month_accrual": 120000, # Reverse
"new_accrual": 180000, # New
"net_change": 60000 # Explain
}
}
Phase 3: Variance Commentary
Variance Analysis (Actuals vs. Budget):
variance = {
"revenue": {
"budget": 2500000,
"actual": 2800000,
"variance": 300000, # +12%
"explanation": "Q4 surge in enterprise deals, 3 new contracts > $100K"
},
"cogs": {
"budget": 1250000,
"actual": 1400000,
"variance": 150000, # +12%
"explanation": "Higher COGS from new product line, margin held at 50%"
},
"opex": {
"budget": 600000,
"actual": 580000,
"variance": -20000, # -3.3%
"explanation": "Lower T&E from travel restrictions, delayed hires"
}
}
Phase 4: Close Package
Close Deliverables:
# March 2024 Month-End Close Package
## Close Status: ✅ COMPLETE (3.5 days)
All close tasks completed within the target 3.5-day window.
## Key Metrics
| Metric | Budget | Actual | Variance |
|---------|--------|--------|----------|
| Revenue | $2.5M | $2.8M | +$300K (+12%) |
| EBITDA | $750K | $920K | +$170K (+22.7%) |
| Net Income | $450K | $580K | +$130K (+28.9%) |
## Accruals Summary
- Total accruals: $320K (vs. $260K prior)
- Reversals: $120K (prior month)
- Net new accruals: $200K
## Variance Commentary
1. Revenue +12%: Q4 enterprise surge (3 deals >$100K)
2. EBITDA +22.7%: Margin expansion to 32.9%
3. Headcount: 85 (vs. 80 budget) — 5 delayed start
## CFO Sign-Off: ✅ Approved 2024-04-05
Common Rationalizations
| Rationalization | Reality |
|---|---|
| "Variance is immaterial, skip commentary" | >2% variance = material, must explain |
| "Will close faster without accruals" | Missing accruals = restated financials |
| "Q4 is always messy, skip details" | Q4 = hardest close, needs MORE detail |
| "Prior accruals auto-reverse" | Must verify reversal, not assume |
Red Flags
- Close > 5 days (target: 3-4 days)
- Variance > 5% without written explanation
- Accruals < prior month with no rationale
- Suspense account with balance after close
- CFO hasn't sign-off within 24 hours
- Prior month accruals not reversed
Verification
After month-end close, confirm:
- All accruals posted: AP, AR, Payroll, Depreciation
- Roll-forward: prior reversed, new posted, net explained
- Variance > 2%: written commentary with business driver
- Trial balance: debits = credits (variance = $0)
- Key metrics: Revenue, EBITDA, Net Income vs. budget
- Close package: generated with CFO sign-off
- Close time: < 5 days (3-4 target)
- Prior month accruals: all reversed and verified
- Next month prep: recurring accrual schedule ready
Integration Points:
Cross-Skill References:
financial/gl-reconciler— For GL reconciliation before closefinancial/model-builder— For comparing actuals vs. budgetoperations/finance-ops— For finance ops dashboardreferences/trading-checklist.md— For close risk controls
MCP Server Integrations:
- NetSuite MCP — For close checklist automation
- Xero MCP — For SMB month-end
- QuickBooks MCP — For automated accruals
Load references/trading-checklist.md for complete trading checklists.
Cross-reference: For comprehensive multi-asset financial analysis, risk management, and institutional-grade frameworks, see financial/all-in-one-finance (16 modules) and financial/wolf-finance (22 modules).
Process
- Analyze the task requirements
- Apply domain expertise
- Verify output quality