From b67389b137aa0642fba367c156d2eaa944f296ca Mon Sep 17 00:00:00 2001 From: dtoro Date: Mon, 29 Jun 2026 10:55:25 +0200 Subject: [PATCH] docs(operations): add budget-from-csv runbook for Yuvomi 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 --- operations/runbook-budget-from-csv.md | 133 ++++++++++++++++++++++++++ 1 file changed, 133 insertions(+) create mode 100644 operations/runbook-budget-from-csv.md diff --git a/operations/runbook-budget-from-csv.md b/operations/runbook-budget-from-csv.md new file mode 100644 index 0000000..fe016d9 --- /dev/null +++ b/operations/runbook-budget-from-csv.md @@ -0,0 +1,133 @@ +# 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="", + 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.