# Bank Statement Parsing

> Bank Statement Parsing is an Agent Skill for documents published in the johnsonhk88/AI-Bank-Statement-Document-Automation-By-LLM-And-Personal-Finanical-Analysis-Prediction repository on GitHub: a SKILL.md instruction file an AI agent can load to do this task.

Guidelines for parsing bank statements using YOLO layout detection + OCR + LLM.

- Skill name: `bank-statement-parsing`
- Category: [Documents](https://www.openparable.com/skill/documents/1)
- Source: https://github.com/johnsonhk88/AI-Bank-Statement-Document-Automation-By-LLM-And-Personal-Finanical-Analysis-Prediction/blob/HEAD/backend/app/skills/bank-statement-parsing/SKILL.md
- Repository: johnsonhk88/AI-Bank-Statement-Document-Automation-By-LLM-And-Personal-Finanical-Analysis-Prediction (597 GitHub stars when collected)

## SKILL.md

# Bank Statement Parsing Skill

## Core Rules
- Always start by calling the `PDF Extractor` tool.
- Do **not** trust "Paid In" / "Paid Out" column headers when they are ambiguous.
- **Verify every transaction** by checking how the running Balance changes:
  - If Balance **increases** → Credit (Paid In)
  - If Balance **decreases** → Debit (Paid Out)
- Extract **Opening Balance** from "Balance Brought Forward".
- Extract **Closing Balance** from the final running balance in the transactions.
- Preserve original descriptions exactly. Do not summarize or shorten them.
- If column alignment in the extracted text is messy, rely on balance math rather than position.

## Expected Output
Return transactions in a consistent structure with: Date, Description, Debit, Credit, Balance.

---

Source: https://www.openparable.com/skill/documents/bank-statement-parsing (OpenParable). Cite the canonical URL above.
