Parse and analyze personal financial transaction CSV exports to calculate account totals and generate detailed breakdowns. Use when the user asks to analyze transaction data, generate financial summaries, calculate account balances, or review spending from CSV exports. Supports account grouping (Galicia, Mercado Pago, Quiena, LLC/Relay, HSBC, Crypto), automatic internal transfer detection, and detailed transaction listings.
Process transaction CSV files and generate comprehensive financial summaries with account grouping and internal transfer detection.
Use this skill when the user:
The CSV file must be semicolon-separated (;) with these columns:
account: Account namecategory: Transaction categorycurrency: ARS or USDamount: Transaction amount (negative for expenses)type: Income or Expensestransfer: true or falsedate: Transaction dateThe script organizes accounts into these groups:
| Group | Accounts |
|---|---|
| Galicia | Galicia Mas - Caja de ahorro |
| Mercado Pago | Mercado Pago |
| Quiena | Quiena |
| LLC | Relay Checking Account, Relay Saving Account |
| HSBC | HSBC Current Account, HSBC Saving Account |
| Crypto | Fiwind, Uglycash, Nexo |
To generate a complete financial summary:
python scripts/process_transactions.py <path-to-csv-file>
Example:
python scripts/process_transactions.py ~/Downloads/report_2025-11-30.csv
The script will output:
To see all transactions for a specific account group:
python scripts/process_transactions.py <path-to-csv-file> --details=<GROUP>
Available groups: Galicia, Mercado Pago, Quiena, LLC, HSBC, Crypto
Example:
python scripts/process_transactions.py ~/Downloads/report.csv --details=LLC
This shows:
[T] for transfer transactionsThe script automatically identifies and excludes internal transfers between accounts in the same group (e.g., transfers between Relay Checking and Relay Saving). This prevents double-counting when calculating withdrawal totals.
Internal transfers are detected by matching:
ARS Accounts:
Quiena (USD):
LLC/Relay (USD):
HSBC (USD):
Crypto (USD):
--details=<GROUP>When presenting the financial summary to the user:
246325.62 NOT 246,325.62