Skip to content
Back to skills

Statement Parsing

ASecurity

Use to figure out a CSV export's columns and build the mapping the money-map toolkit needs. Covers signed-amount vs debit/credit layouts, date formats, and currency symbols.

  • 5 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added August 31, 2026
developmentpython

Security analysis

A100/100

Pro scans all 3 files and shows the line behind each finding

Scanned August 31, 2026

npx -y skills add localplugins/plugins --skill statement-parsing --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Statement Parsing?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Statement Parsing
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/localplugins-statement-parsing/badge)](https://www.skillsdirectory.com/skills/localplugins-statement-parsing)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: statement-parsing
description: Use to figure out a CSV export's columns and build the mapping the money-map toolkit needs. Covers signed-amount vs debit/credit layouts, date formats, and currency symbols.
---

# Statement Parsing

The toolkit's `parse(path, mapping)` and `parse_report(path, mapping)` need a `mapping` describing the CSV's columns. Read the header row and a few sample rows, build the mapping, and confirm it with the user if anything is ambiguous.

## The mapping

```python
{ "date": "<date column>",
  "date_format": "<strptime, e.g. %Y-%m-%d or %m/%d/%Y>",
  "description": "<description column>",
  # amount EITHER as one signed column:
  "amount": "<amount column>",
  # OR as separate columns (omit "amount" then):
  "debit": "<debit column>", "credit": "<credit column>",
  "account": "<optional account column>" }
```

`date`, `date_format`, and `description` are always required. For amounts you need **either** `amount` **or** the `debit`/`credit` pair — the toolkit raises if none is present.

## Decision guide

1. **Find the date column** and infer `date_format` from the samples (`2026-01-05` → `%Y-%m-%d`; `01/05/2026` → `%m/%d/%Y`).
2. **Find the amount source.** One signed column → use `amount`. Two columns → map `debit` (outflow) and `credit` (inflow); omit `amount`.
3. **Confirm the sign convention.** money-map's convention is inflows positive, outflows negative. If a single amount column has outflows as *positive*, tell the user and adjust.
4. **Leave currency symbols/commas/parens alone** — the toolkit parses `$1,234.56` and `(12.30)` itself.
5. **If anything is ambiguous, show the detected mapping and confirm before running.**

Only CSV is supported in v1 — for XLSX, ask the user to export/save as CSV.

## References

- **`references/mapping-examples.md`** — worked mappings for the common bank/card layouts (signed amount, debit/credit, dd/mm dates, account columns, multi-line headers).
- **`references/parsing-edge-cases.md`** — exactly how the toolkit handles currency symbols, parenthesized negatives, ambiguous debit+credit rows, ragged rows, BOM, and which problems are *skipped* (surfaced) vs which *raise*.

Files in this skill

  • SKILL.md2.1 KB
  • references/mapping-examples.md3.6 KB
  • references/parsing-edge-cases.md3.8 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.