Agent skill

Bookkeeping Close

by OneWave-AI in OneWave-AI/claude-skills

Categorizes transactions, reconciles bank and card statements to the ledger, works a month-end checklist and prepares a close package, without ever forcing a balance.

MITAuto-check passedBusiness, Finance & HR

Install Bookkeeping Close

skills CLI
$ npx skills add OneWave-AI/claude-skills --skill bookkeeping-close -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install OneWave-AI/claude-skills bookkeeping-close --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/OneWave-AI/claude-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/bookkeeping-close .claude/skills/bookkeeping-close && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
bookkeeping-close
GitHub stars
336
Token cost
~2k tokens
SKILL.md length
1,024 words
Files
9 (incl. scripts, references)
Skills in repo
69
Repo updated
First seen
Licence
MIT

At a glance

Categorizes transactions, reconciles bank and card statements to the ledger, works a month-end checklist and prepares a close package, without ever forcing a balance.

  • Works in 6 steps: Normalize → Prove the statement first → Match and classify → …
  • Reconciling a bank or card statement against QuickBooks or Xero
  • SKILL.md covers Inputs to collect, Workflow and Output: the close package
  • Runs Shell and Python scripts from its folder; calls python

What it does

For each account being reconciled, the agent collects the statement with balances taken from the statement itself, the statement lines from a bank CSV or OFX or a platform export, the matching ledger exported from the oldest uncleared item, the book balance and the chart of accounts. It normalizes signs, then proves the statement first: opening balance plus lines must equal the closing balance, otherwise the export is incomplete or duplicated and the agent stops.

Deterministic matching lives in scripts/reconcile.py, while the skill's text supplies judgment about common errors such as flipped signs, uncleared checks, transfers between own accounts counted as income and double imports. It never plugs a difference, and every unreconciled amount is explained or listed. Scope is bookkeeping, not tax: items with tax consequences are recorded and put on an accountant list. Neither the QuickBooks Online nor the Xero API can mark items reconciled, so that last step happens in the product. References and worked examples with sample CSVs are included.

When your agent uses it

  • Reconciling a bank or card statement against QuickBooks or Xero
  • Categorizing uncategorized transactions to a chart of accounts
  • Working through a month-end close and handing a package to the accountant
  • Finding out why the books do not match the bank

Example prompts

  • “Reconcile the March checking statement in bank.csv against ledger.csv and list anything unmatched.”
  • “Categorize this month's uncategorized card transactions using our chart of accounts.”
  • “Run the month-end close checklist and produce the package for our accountant.”

Requirements

  • A statement export (CSV or OFX) and a ledger export for the account
  • A chart of accounts for categorizing

Workflow steps

6 steps, taken from the step headings in SKILL.md.

  1. Normalize
  2. Prove the statement first
  3. Match and classify
  4. Never plug
  5. Categorize
  6. Work the close checklist

What it can do on your machine

Read from SKILL.md and the folder at commit fc5b785. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships 1 file in scripts/ (Shell and Python), which the agent can run.

    Shell commands in SKILL.md call:

    • python

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Bookkeeping Close loads about 2k tokens when it runs, and up to ~7.3k if it reads all its reference files. Until then it costs about 198 tokens; SKILL.md has 1,024 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~198
When it runs · the whole SKILL.md, loaded when a task matches
~2k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~7.3k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.

SKILL.md

The full file from OneWave-AI/claude-skills at commit fc5b785, republished under its MIT licence (© OneWave-AI). 1,024 words, ~1,963 tokens.

Download SKILL.mdSave it as .claude/skills/bookkeeping-close/SKILL.md (or your agent's skills folder). This skill also uses 8 other files; get the full folder from GitHub.
name
bookkeeping-close
description
Runs small and midsize business bookkeeping operations - categorizes bank and card transactions to a chart of accounts, reconciles a bank or card statement against the ledger, works a month-end close checklist, and produces a close package for the accountant. Works from QuickBooks Online, Xero, bank CSV/OFX, or Mercury exports, and from the Xero, QuickBooks, or Mercury connectors when present. Use it whenever the user says "reconcile", "bank rec", "categorize transactions", "month end close", "close the books", "books don't match the bank", "reconciliation is off by", "uncategorized expenses", or shares a QuickBooks or Xero export or a bank statement CSV, even if they do not name the task. Never plugs a difference; every unreconciled dollar is explained or listed.

Bookkeeping Close

A reconciliation proves that the books and the bank agree once timing is accounted for. Models get this wrong in predictable ways: they flip signs, treat an uncleared check as an error, count a transfer between the business's own accounts as income, miss a transaction imported twice, and force the rec to zero with an adjustment. This skill exists to prevent each of those. The deterministic matching lives in scripts/reconcile.py; the judgment lives here.

Scope: bookkeeping, not tax. When an item has a tax consequence (capitalize vs expense, owner draws vs wages, sales tax, 1099 status, meals deductibility), record the bookkeeping fact and put it on the accountant list. Do not give tax advice.

Inputs to collect

For each account being reconciled (checking, savings, each credit card, loan, payment processor clearing):

  1. Statement for the period: ending date, beginning balance, ending balance. Take the balances from the statement itself, not from the feed, because feeds can be incomplete.
  2. Statement lines: bank CSV/OFX, Mercury export or listTransactions, or the platform's statement lines.
  3. Ledger for the same account: QBO register or Transaction Detail by Account, Xero Account Transactions. Export from the date of the oldest uncleared item, not the period start, so prior-period outstanding checks can clear.
  4. Book balance at period start or end for that account.
  5. Chart of accounts, and any existing bank rules.

See references/platform-notes.md for export paths, column formats, and connector limits. Neither the QuickBooks Online API nor the Xero Accounting API can mark items reconciled; reconciliation is always finished inside the product.

Workflow

1. Normalize

Convert every file to one convention: amount is the signed change to the balance the statement reports. For a bank account, deposits positive. For a card, charges positive. Watch the word "debit": on a bank statement it means money out, in a general ledger it means money into a cash account. reconcile.py handles both and prints which reading it used. Confirm dates are parsed in the right day/month order before trusting anything.

2. Prove the statement first

Beginning balance plus statement lines must equal ending balance. If it does not, the export is incomplete, overlaps another period, or contains a duplicated download. Stop and fix the input. Matching against a broken statement produces a rec that balances to the wrong number.

3. Match and classify

Run:

python scripts/reconcile.py --bank bank.csv --ledger ledger.csv \
  --period-start YYYY-MM-DD --period-end YYYY-MM-DD \
  --statement-begin N --statement-end N --book-begin N --out recon/

It matches in tiers (exact, check number, same amount within a date window, near amount with similar description, one-to-many for batched deposits) and classifies everything left over. Read its notes: it reports when it inverted a file's signs. Exit 0 = balanced, 2 = unexplained variance, 3 = statement does not roll forward.

Interpret the results with these rules:

  • Outstanding payments and deposits in transit are timing, not errors. They adjust the bank side. Confirm they clear on next month's statement; anything older than 90 days is stale and goes to the accountant list (void, reissue, or unclaimed property).
  • Duplicates adjust the book side. The common cause is the same transaction arriving through the bank feed and a CSV upload or manual entry. Delete one only after confirming against the statement; two identical real purchases on one day do happen.
  • Transfers between own accounts and credit card payments belong on the balance sheet. If either leg is categorized to income or expense, revenue or expense is double counted. Record the transfer once; in Xero, creating it in one account creates the other leg.
  • Batched deposits: one bank deposit often equals several customer payments. Group them (QBO: Undeposited Funds / bank deposit; Xero: match multiple).
  • Near-amount matches are errors on one side, usually the book. A difference divisible by 9 suggests transposed digits. Correct the entry to the source document.
  • Statement lines not in the books (fees, interest, unrecorded charges) need entries. Find the source document when one should exist.
Show full SKILL.md (390 more words)Show less
4. Never plug

If the adjusted bank and adjusted book balances still differ, report the variance with what was ruled out. Do not create a "reconciliation discrepancy" or suspense entry to force zero. QuickBooks describes its adjusting entry as a last resort for small amounts only, and it hides the underlying error. If the user insists on an adjustment, list it as a proposed entry for accountant approval, with the amount and the investigation done.

Common causes to check, in order: wrong beginning balance (a previously reconciled item was edited or deleted), wrong statement balance typed in, a line outside the date range, a sign flip on a single line, a duplicate, a transfer recorded twice, a split transaction entered as the gross amount.

5. Categorize

Apply references/categorization-rules.md: existing bank rules first, then vendor patterns, then history. Every categorization carries a confidence: high (rule or consistent history), medium (pattern match only), low (guess). Only high is posted without review. Items in Uncategorized, Ask My Accountant, or suspense are never left there at close.

6. Work the close checklist

Follow references/close-checklist.md. Short version: all accounts reconciled including cards, loans, and processor clearing; AR and AP aging tie to the balance sheet; payroll liabilities tie; undeposited funds cleared; accruals and prepaids posted; fixed asset additions flagged; balance sheet reviewed line by line; P&L compared to prior month and prior year; period locked only after the accountant signs off.

Output: the close package

Produce one document per period, in this order:

  1. Reconciliation summary per account: the two-sided proof from reconciliation.md, balanced or not, with unexplained variance stated in dollars.
  2. Reconciling items: outstanding payments, deposits in transit, stale items, with dates and ages.
  3. Review queue: uncategorized and low/medium confidence items with the proposed account and the reason. Include amounts so the owner can prioritize.
  4. Proposed adjusting entries, each marked FOR ACCOUNTANT REVIEW and never posted by this skill: date, debit account, credit account, amount, memo, evidence. Examples: record bank fee, remove duplicate, reclass transfer out of income, accrue unbilled expense.
  5. Accountant questions: tax-sensitive items, stale checks, owner transactions, anything needing judgment.
  6. Checklist status: each close step done, not done, or not applicable.

State plainly what was not verified (for example, "loan statement not provided, loan balance not reconciled").

See examples/worked-example.md for a full run on the bundled fixtures.

© OneWave-AI, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 8 other files (scripts, references) in bookkeeping-close of OneWave-AI/claude-skills.

  • SKILL.md
  • examples/fixtures/bank_statement.csv
  • examples/fixtures/ledger.csv
  • examples/run_fixtures.sh
  • examples/worked-example.md
  • references/categorization-rules.md
  • references/close-checklist.md
  • references/platform-notes.md
  • scripts/reconcile.py

Open the folder on GitHubat commit fc5b785

Compare with similar skills

Bookkeeping Close next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Bookkeeping Close compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Bookkeeping Close this skillOneWave-AI/claude-skills336—~2kAutomated safety check: PassMIT
Finance Opsericosiu/ai-marketing-skills3.6k1 repos~1.4kAutomated safety check: PassMIT
Find Cpa Firmjeremylongshore/tons-of-skills-marketplace2.8k—~3.5kAutomated safety check: NotesMIT
Fondo Install Authjeremylongshore/tons-of-skills-marketplace2.8k—~883Automated safety check: PassMIT
Fondo Local Dev Loopjeremylongshore/tons-of-skills-marketplace2.8k—~1.3kAutomated safety check: NotesMIT
Payroll Gl ReconciliationLeoYeAI/openclaw-master-skills2.2k—~6.2kAutomated safety check: PassMIT

Similar skills

  • Finance Ops

    ericosiu/ai-marketing-skills

    AI-powered financial analysis suite. An agent skill from ericosiu/ai-marketing-skills.

    3.6k GitHub starsUsed in 1 repo~1.4k tokens
    Business, Finance & HRAuto-check passed
  • Find Cpa Firm

    jeremylongshore/tons-of-skills-marketplace

    A skill your agent uses whenever the user wants to find, shortlist, vet, or enrich US accounting and tax firms (CPA firms) — financial-statement audit, SOC 1/2 audit, corporate tax, bookkeeping for…

    2.8k GitHub stars~3.5k tokensUpdated today
    Business, Finance & HRAuto-check: notes
  • Fondo Install Auth

    jeremylongshore/tons-of-skills-marketplace

    Set up Fondo account and configure integrations with Gusto, QuickBooks, and bank accounts for automated startup bookkeeping and R&D tax credits.

    2.8k GitHub stars~883 tokensUpdated today
    Business, Finance & HRAuto-check passed
  • Fondo Local Dev Loop

    jeremylongshore/tons-of-skills-marketplace

    Configure local development workflows that integrate with Fondo for financial data, using Fondo exports with QuickBooks or accounting tools.

    2.8k GitHub stars~1.3k tokensUpdated today
    Business, Finance & HRAuto-check: notes
  • Payroll Gl Reconciliation

    LeoYeAI/openclaw-master-skills

    Reconcile payroll processor reports (Gusto, ADP, Paychex, Rippling) to general ledger journal entries in QuickBooks Online, Xero, or other accounting software.

    2.2k GitHub stars~6.2k tokensUpdated 2 mo ago
    Business, Finance & HRAuto-check passed
  • QuickBooks Online Integration

    hewi333/Mom-n-Pop-Skills

    Connects a small business to QuickBooks Online for customers, estimates, invoices and payments, using Intuit OAuth 2.0 with token refresh and sandbox or production setups.

    122 GitHub stars~1.9k tokensUpdated 28 days ago
    Backend & APIsAuto-check passed

More from OneWave-AI/claude-skills

All 69 skills in this repo
  • CRM Data Cleanup

    OneWave-AI/claude-skills

    Finds duplicate and junk records in a CRM CSV export with fuzzy matching, normalizes fields and writes a reviewable merge plan plus import-ready files without touching the live CRM.

    336 GitHub stars~2.5k tokensUpdated 8 days ago
    Auto-check passed
  • Design Export Repair

    OneWave-AI/claude-skills

    Repairs broken decks and PDFs exported from Claude Design or similar AI deck generators: clipped text, wrong fonts and corrupted .pptx package structure.

    336 GitHub stars~2.6k tokensUpdated 8 days ago
    Auto-check passed
  • Bi Measure Builder

    OneWave-AI/claude-skills

    Writes, explains, debugs, and optimizes BI calculations - Power BI / Fabric DAX measures and calculated columns, Tableau calculated fields (FIXED/INCLUDE/EXCLUDE LOD expressions, table…

    336 GitHub stars~2.2k tokensUpdated 8 days ago
    Auto-check passed
  • CSV and Excel Merger

    OneWave-AI/claude-skills

    Combines CSV, TSV and Excel files into one verified table with pandas, by stacking or joining, mapping columns, normalizing keys and removing duplicates.

    336 GitHub stars~1.6k tokensUpdated 8 days ago
    Auto-check passed
  • Sec Filing Puller

    OneWave-AI/claude-skills

    Pulls financial statement numbers for US public companies straight from SEC EDGAR's free official XBRL APIs (companyfacts, companyconcept, frames, submissions) into a cited table.

    336 GitHub stars~2.1k tokensUpdated 8 days ago
    Auto-check passed
  • Spreadsheet QA

    OneWave-AI/claude-skills

    Answers business questions about the user's own spreadsheet or data export (CSV, TSV, XLSX from a CRM, Shopify, Stripe, QuickBooks, ad platforms, HR or payroll systems) correctly and auditably.

    336 GitHub stars~2.2k tokensUpdated 8 days ago
    Auto-check passed

Works with

Questions about Bookkeeping Close

What does Bookkeeping Close do?

Categorizes transactions, reconciles bank and card statements to the ledger, works a month-end checklist and prepares a close package, without ever forcing a balance. For each account being reconciled, the agent collects the statement with balances taken from the statement itself, the statement lines from a bank CSV or OFX or a platform export, the matching ledger exported from the oldest uncleared item, the book balance and the chart of accounts. It normalizes signs, then proves the statement first: opening balance plus lines must equal the closing balance, otherwise the export is incomplete or duplicated and the agent stops.

When should I use Bookkeeping Close?

Bookkeeping Close fits situations like: reconciling a bank or card statement against QuickBooks or Xero; categorizing uncategorized transactions to a chart of accounts; working through a month-end close and handing a package to the accountant; finding out why the books do not match the bank.

How do I install Bookkeeping Close in Claude Code?

Run `npx skills add OneWave-AI/claude-skills --skill bookkeeping-close -a claude-code`. Or copy the skill folder (bookkeeping-close in OneWave-AI/claude-skills) into .claude/skills/bookkeeping-close in your project. Claude Code loads it when a task matches its description.

How do I install Bookkeeping Close in Codex?

Run `npx skills add OneWave-AI/claude-skills --skill bookkeeping-close -a codex`. Or copy the skill folder (bookkeeping-close in OneWave-AI/claude-skills) into .agents/skills/bookkeeping-close in your project. Codex loads it when a task matches its description.

Can I use Bookkeeping Close in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add OneWave-AI/claude-skills --skill bookkeeping-close -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/bookkeeping-close, .gemini/skills/bookkeeping-close, .github/skills/bookkeeping-close and .opencode/skills/bookkeeping-close in your project.

What does Bookkeeping Close need to run?

Going by SKILL.md and its folder, Bookkeeping Close needs a shell and Python for the scripts in its folder and the command-line tools its instructions call (python). Our summary lists: A statement export (CSV or OFX) and a ledger export for the account; A chart of accounts for categorizing.

Does Bookkeeping Close access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Bookkeeping Close safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Bookkeeping Close use?

Bookkeeping Close is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Bookkeeping Close use?

About 2k tokens (SKILL.md is roughly 7.9k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 5.3k tokens, read only when the agent opens those files.

What are the alternatives to Bookkeeping Close?

Skills that share tags, products or a category with Bookkeeping Close: Finance Ops (ericosiu/ai-marketing-skills, 3.6k stars), Find Cpa Firm (jeremylongshore/tons-of-skills-marketplace, 2.8k stars), Fondo Install Auth (jeremylongshore/tons-of-skills-marketplace, 2.8k stars) and Fondo Local Dev Loop (jeremylongshore/tons-of-skills-marketplace, 2.8k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Bookkeeping Close?

OneWave-AI (a GitHub organization) maintains it in OneWave-AI/claude-skills, which has 336 GitHub stars. The repository holds 69 skills in this directory. The repository was last updated on October 2, 2026.

Source: OneWave-AI/claude-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.