← Back to Skills Marketplace
chipmunkrpa

Bank Recon Skill

by ChipmunkRPA · GitHub ↗ · v1.0.2 · MIT-0
cross-platform ⚠ suspicious
121
Downloads
0
Stars
0
Active Installs
2
Versions
Install in OpenClaw
/install bank-recon-skill
Description
Perform bank reconciliation between bank statements and general ledger files. Supports bank statement PDF ingestion, conversion of PDF statements into struct...
README (SKILL.md)

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
  7. 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:

  • Summary: threshold, matched counts, unreconciled counts, and basic totals
  • Recon Results: matched groupings with match basis and variance notes
  • Unreconciled Bank: bank rows not matched to the GL
  • Unreconciled GL: GL rows not matched to the bank

Command

python3 scripts/recon_logic.py \x3Cbank_xlsx_or_pdf> \x3Cgl_xlsx> \x3Coutput_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

  • Read the first worksheet from each input workbook.
  • Expect simple three-column inputs: date, amount, description/memo.
  • For text-based bank statement PDFs, the script extracts transaction rows by reading the PDF content streams and reconstructing the transaction table into a workbook.
  • The PDF path is best for digital statements with selectable text; scanned-image PDFs would still need OCR or a multimodal extraction path.
  • Keep the workbook generation dependency-light so it can run in minimal Python environments.
Usage Guidance
The skill appears to do what it says (parse PDFs/XLSX and reconcile), but exercise caution before running on sensitive data. Important points: - The provided Python file was truncated in the package you gave me; review the complete script to ensure no hidden network calls, credential reads, or unexpected behavior are present in the missing portion. - The script performs raw PDF content-stream parsing (not OCR). This is brittle and may mis-extract fields or drop data — test on non-sensitive sample statements first. - The script writes a companion <basename>_extracted.xlsx beside any PDF input and writes the output workbook; verify it won't overwrite important files and back up originals. - Because the package contains code, open the full file and search for any network-related modules or calls (requests, urllib, socket, http.client, ftplib, paramiko) or for writing to paths outside the working directory. If any network I/O appears, do not run until you can confirm its purpose. - If you want higher assurance, run the script in an isolated environment (VM or container) on sample data and inspect produced files. Provide the full, untruncated scripts for a higher-confidence review.
Capability Analysis
Type: OpenClaw Skill Name: bank-recon-skill Version: 1.0.2 The skill bundle provides a dependency-free tool for reconciling bank statements with general ledger files. The script `scripts/recon_logic.py` implements manual PDF and XLSX parsing/generation using standard libraries (zipfile, xml.etree, zlib) to avoid external dependencies. There is no evidence of data exfiltration, malicious execution, or prompt injection; the code only operates on the file paths provided as arguments and lacks any network or unauthorized system access.
Capability Assessment
Purpose & Capability
Name and description match the included code: parsing XLSX, extracting text streams from PDFs, converting into a structured workbook, and producing a reconciliation workbook. No unrelated env vars or binaries are requested.
Instruction Scope
SKILL.md restricts actions to reading the provided bank/GL files, running scripts/recon_logic.py, and returning an output workbook. The implementation reads PDF content streams (not OCR), constructs and writes .xlsx files (including a companion _extracted.xlsx beside a PDF) and otherwise operates locally. Be aware: the PDF parsing is brittle (regex on content streams) and could mis-parse PDFs; the script will write files beside inputs and could overwrite existing files with the same name.
Install Mechanism
No install spec — instruction-only skill with a bundled script. Nothing is downloaded or installed automatically.
Credentials
No environment variables, credentials, or config paths are required. All I/O is file-based and consistent with the stated purpose.
Persistence & Privilege
Skill is not always-on and is user-invocable; it does not request permanent presence or indicate modification of other skills or system-wide settings.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install bank-recon-skill
  3. After installation, invoke the skill by name or use /bank-recon-skill
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.2
Preserve original GL signs in output and reconcile by absolute-value amount matching; update docs.
v1.0.1
Fix GL sign normalization so accounting-style debit/credit polarity matches bank activity; update matching docs.
Metadata
Slug bank-recon-skill
Version 1.0.2
License MIT-0
All-time Installs 0
Active Installs 0
Total Versions 2
Frequently Asked Questions

What is Bank Recon Skill?

Perform bank reconciliation between bank statements and general ledger files. Supports bank statement PDF ingestion, conversion of PDF statements into struct... It is an AI Agent Skill for Claude Code / OpenClaw, with 121 downloads so far.

How do I install Bank Recon Skill?

Run "/install bank-recon-skill" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is Bank Recon Skill free?

Yes, Bank Recon Skill is completely free, licensed under MIT-0. You can download, install and use it at no cost.

Which platforms does Bank Recon Skill support?

Bank Recon Skill is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created Bank Recon Skill?

It is built and maintained by ChipmunkRPA (@chipmunkrpa); the current version is v1.0.2.

💬 Comments