Step-by-step procedure to import N26 CSV transactions into Yuvomi's Budget and Subscriptions modules using the yuvomi-mcp tools. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
134 lines
3.6 KiB
Markdown
134 lines
3.6 KiB
Markdown
# Runbook: Budget import from N26 CSV → Yuvomi
|
||
|
||
Distil a bank-export CSV into Yuvomi's Budget and Subscriptions modules using
|
||
the `yuvomi-mcp` tools. Run this whenever a new CSV period needs to be
|
||
summarised into targets and fixed costs.
|
||
|
||
---
|
||
|
||
## Prerequisites
|
||
|
||
- `yuvomi-mcp` is running on LXC 129 and connected as an MCP server in Claude.
|
||
- The CSV is an N26 export (columns: Booking Date, Value Date, Partner Name,
|
||
Partner Iban, Type, Payment Reference, Account Name, Amount (EUR), …).
|
||
|
||
---
|
||
|
||
## Step 1 — Categorise the transactions
|
||
|
||
Ask Claude to read the CSV and group rows into:
|
||
|
||
| Category | Examples |
|
||
|---|---|
|
||
| **Subscriptions** | Miete, SWM, SYNVIA, Carmen Muller (Hundefutter), Netflix, Grover, Rundfunk ARD, KuKita, Lillydoo |
|
||
| **Recurring income** | Kindergeld, Cookie Share (Stefanie Müller), Pocket Money |
|
||
| **Groceries** | E-Center, Knuspr, EDEKA, Tegut, VollCorner, Lidl, Netto, REWE, Bakeries |
|
||
| **Drugstore** | DM, Rossmann |
|
||
| **Pharmacy / Health** | Apotheke, Dermatologist |
|
||
| **Transport** | Uber, RYD GMBH, MVG, Handyparken |
|
||
| **Dining & restaurants** | Restaurant names, Lieferando |
|
||
| **Children** | Baby products, toys, PEKiP/courses |
|
||
| **Clothing** | Zalando, Ernsting's, Schuhmair, Thalia |
|
||
| **Amazon / Online** | Amazon, AMZN |
|
||
| **Home & Furniture** | IKEA, furniture invoices, Sostrene Grene |
|
||
| **Internal transfers** | The Joy Pot ↔ Cookie, Hauptkonto splits — **exclude from budgets** |
|
||
|
||
---
|
||
|
||
## Step 2 — Discover existing category & payment-method IDs
|
||
|
||
```
|
||
list_budget_categories() → note the key strings (e.g. 'housing', 'food')
|
||
get_subscriptions_meta() → note category_id and payment_method_id values
|
||
```
|
||
|
||
---
|
||
|
||
## Step 3 — Create subscriptions
|
||
|
||
For each fixed recurring cost, call:
|
||
```
|
||
stage_create_subscription(
|
||
name="...",
|
||
amount=...,
|
||
billing_cycle="monthly", # or "yearly" with cycle_interval
|
||
cycle_interval=1, # 3 for quarterly
|
||
next_payment_date="YYYY-MM-DD",
|
||
category_id=..., # from get_subscriptions_meta()
|
||
)
|
||
commit_pending(pending_id)
|
||
```
|
||
|
||
**Standard subscriptions (as of Jun 2026):**
|
||
|
||
| Name | Amount | billing_cycle | cycle_interval |
|
||
|---|---|---|---|
|
||
| Miete | 1080.00 | monthly | 1 |
|
||
| Strom (SWM) | 79.00 | monthly | 1 |
|
||
| Internet/TV/Telefon (SYNVIA) | 29.99 | monthly | 1 |
|
||
| Hundefutter | 75.00 | monthly | 1 |
|
||
| Netflix | 8.00 | monthly | 1 |
|
||
| Grover | 16.90 | monthly | 1 |
|
||
| Rundfunk ARD | 55.08 | monthly | 3 |
|
||
| KuKita Daycare (Leon) | 503.00 | monthly | 1 |
|
||
| Lillydoo diapers | 56.70 | monthly | 2 |
|
||
|
||
---
|
||
|
||
## Step 4 — Add recurring income entries
|
||
|
||
```
|
||
stage_add_budget_entry(
|
||
title="Kindergeld",
|
||
amount=55.00,
|
||
category="<income category key>",
|
||
date="YYYY-MM-01",
|
||
is_recurring=True,
|
||
recurrence_interval="monthly",
|
||
)
|
||
commit_pending(pending_id)
|
||
```
|
||
|
||
**Standard recurring income:**
|
||
|
||
| Title | Amount | category |
|
||
|---|---|---|
|
||
| Kindergeld | +55.00 | Sozialleistungen |
|
||
| Cookie Share | +1600.00 | Erwerbseinkommen (adjust to actual amount) |
|
||
|
||
---
|
||
|
||
## Step 5 — Set budget targets (monthly spending categories)
|
||
|
||
**From the Jan–Jun 2026 6-month averages:**
|
||
|
||
| Category | Monthly target |
|
||
|---|---|
|
||
| Groceries | 600 € |
|
||
| Children products & activities | 150 € |
|
||
| Dining & restaurants | 100 € |
|
||
| Transport | 70 € |
|
||
| Drugstore | 55 € |
|
||
| Clothing | 40 € |
|
||
| Amazon / Online | 40 € |
|
||
| Home & furniture | 100 € |
|
||
| Pharmacy & health | 15 € |
|
||
|
||
---
|
||
|
||
## Step 6 — Verify
|
||
|
||
```
|
||
get_budget_summary("YYYY-MM")
|
||
list_subscriptions()
|
||
```
|
||
|
||
Expected fixed costs total: ~1848 €/month (before KuKita; ~2351 € after).
|
||
|
||
---
|
||
|
||
## Changelog
|
||
|
||
### 2026-06-29 — Initial runbook
|
||
Created from Jan–Jun 2026 N26 Cookie account analysis.
|