beancount-close

Runs a month-end close over a beancount ledger with reconciliation, assertions, and a confirm-gated git commit.

275|32|Updated Oct 2, 2020
One-click install
npx skills add https://github.com/bex-co/beancount-io --skill beancount-close-bex-co
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: beancount-close
Source: https://github.com/bex-co/beancount-io/tree/main/skills/.claude/skills/beancount-close
Command: npx skills add https://github.com/bex-co/beancount-io --skill beancount-close-bex-co

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve? Closing the books each month requires the same repetitive checks — reconciling every account, verifying balance assertions, spotting missing recurring charges, and sweeping flagged entries — and skipping any of them silently corrupts the ledger's trustworthiness. ## Core Features & Use Cases - Fixed seven-phase close checklist: Scope, Reconcile, Assert, Recurring, Flags, Report, Commit — each phase reports a status line so nothing is silently skipped. - Delegated reconciliation: Per-account reconciliation is handed to the beancount-reconcile skill with its own confirm gate; accounts without statements are reported as unverified, never hidden. - Recurring-gap and flag detection: Surfaces subscription-like payees present in prior months but absent this period, and lists every !-flagged entry as resolved or carried. - Confirm-gated git commit: Produces a close report (income, expenses, net) and commits it only after explicit approval, with the report as the commit body; a red bean-check blocks the commit entirely. - Use Case: Ask to "close June 2026" with your ledger and a checking statement CSV — the skill reconciles checking, flags the Amex account as unverified, raises the missing NETFLIX charge as a question, and proposes a commit titled close: 2026-06 — 1 reconciled, 1 unverified. ## Quick Start Close June 2026 for me — my ledger is ./ledger.beancount and my checking statement is ./statement.csv.

Frequently Asked Questions about beancount-close

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I close a month in beancount?

Run the close with a prompt like "close June 2026" and provide your ledger plus any account statements. The skill walks a fixed checklist — reconcile, assert, recurring gaps, flags, report — and proposes a git commit only after you confirm the close report.

What happens if I don't have a statement for every account?

Accounts without statements are marked unverified in the close report rather than silently passed or treated as blockers. The close still completes, and the report lists each unverified account with its period activity.

Does the close fabricate missing recurring transactions?

No. When a subscription-like payee appears in prior months but is absent this period, the skill raises it as a finding and asks you whether the charge is missing, cancelled, or moved. Missing entries arrive via import or manual entry, never invented by the skill.

Can the close commit when bean-check fails?

No. A red bean-check blocks the commit proposal entirely. The skill surfaces the exact failure, such as a balance assertion mismatch, and routes diagnosis to you rather than editing assertions or inventing entries to force a pass.

What if I decline the final commit?

The working tree is left exactly as it is: confirmed reconciliation appends remain as uncommitted changes, no new commit appears in git log, and the full close report stays in the conversation. Nothing is ever pushed to a remote.