# 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.