Bank Reconciliation Skill
name: bank-recon
by chipmunkrpa · published 2026-04-01
$ claw add gh:chipmunkrpa/chipmunkrpa-bank-recon-skill---
name: bank-recon
description: Perform bank reconciliation between bank statements and general ledger files. Supports bank statement PDF ingestion, conversion of PDF statements into structured Excel data, custom amount thresholds, ID/key matching, and semantic description matching. Use when the user wants to read a bank statement PDF or Excel file, convert statement activity into a workbook, reconcile bank activity to GL transactions, identify matched and unmatched items, and generate an Excel workbook with reconciliation results, a summary tab, and separate unreconciled-bank and unreconciled-GL tabs.
---
# Bank Reconciliation Skill
Reconcile bank statement rows against GL rows and produce an `.xlsx` workbook that is immediately reviewable by an accountant.
Workflow
1. Identify the bank statement path and GL workbook path.
2. Accept either a bank statement `.xlsx` file or a bank statement `.pdf` file.
3. If the bank statement is a PDF, run the workflow so it first extracts the bank statement lines into a structured workbook, then reconciles that extracted workbook to the GL.
4. Confirm the reconciliation threshold. Default to `0.00` unless the user asks for a tolerance.
5. Run `scripts/recon_logic.py` with the bank file, GL file, output file, and threshold.
6. Return the generated workbook and summarize:
- matched bank row count
- matched GL row count
- unreconciled bank row count
- unreconciled GL row count
5. If the user asks for follow-up analysis, use the `Summary`, `Unreconciled Bank`, and `Unreconciled GL` tabs first.
Output Workbook
The generated workbook should contain these tabs:
Command
python3 scripts/recon_logic.py <bank_xlsx_or_pdf> <gl_xlsx> <output_xlsx> [threshold]When the bank input is a PDF, the script also creates a companion extracted workbook beside the PDF (same basename with `_extracted.xlsx`) before running reconciliation.
Matching Logic
Use a layered approach:
1. Preserve the original signs from both source files in the output.
2. Compare bank and GL amounts using absolute values for matching so bank polarity and accounting debit/credit polarity can reconcile without rewriting displayed source amounts.
3. Match by shared extracted keys such as batch IDs, invoice IDs, vendor IDs, customer IDs, and tax/payment references.
4. Allow one-to-one, one-to-many, many-to-one, and grouped many-to-many matches when totals fall within threshold.
5. For remaining items, use semantic name grouping plus summed-amount comparison.
6. Preserve unmatched rows in dedicated tabs instead of dropping them from the deliverable.
Notes
More tools from the same signal band
Order food/drinks (点餐) on an Android device paired as an OpenClaw node. Uses in-app menu and cart; add goods, view cart, submit order (demo, no real payment).
Sign plugins, rotate agent credentials without losing identity, and publicly attest to plugin behavior with verifiable claims and authenticated transfers.
The philosophical layer for AI agents. Maps behavior to Spinoza's 48 affects, calculates persistence scores, and generates geometric self-reports. Give your...