Guide - Integrations

How do you analyze YNAB budgets in Metabase?

YNAB analytics turns finance operations into shared, queryable models. YNAB organizes plans, accounts, categories, payees, months, and transactions around an envelope-style budget. In Metabase, the API data can support richer category trends, budget-versus-actual views, and account reconciliation across longer periods. Metabase connects to the database that holds the synced data; it does not connect natively to YNAB.

TL;DR - Use the MCP + CLI route for a scoped, short-lived analysis. Use the official API or approved connector route for recurring dashboards, history, permissions, and reconciliation.

How do you connect YNAB to Metabase?

1 - MCP + CLI route (AI-assisted)

Explore a scoped snapshot quickly

Jean GNC's community YNAB MCP package exposes budgets, accounts, categories, transactions, and scheduled activity, alongside write tools. Apply a client-side read-tool allowlist and protect personal transaction detail. Pair the approved server with the Metabase CLI to load a focused CSV as a table and model.

Best for
  • Quick questions about YNAB data
  • Validating fields and dashboard ideas before building a pipeline
  • Loading a minimal, permissioned snapshot into Metabase
Trade-offs
  • A CSV is a point-in-time snapshot, not governed reporting
  • Finance data needs least-privilege credentials and an explicit tool allowlist
  • Move recurring dashboards to the warehouse-backed route
2 - Pipeline route (warehouse-backed)

Durable dashboards with history

Use the YNAB API with OAuth or a personal access token to incrementally sync plans, accounts, categories, months, payees, scheduled transactions, and transactions into a database.

Best for
  • Recurring finance and leadership dashboards
  • Historical aging, lifecycle, and period reporting
  • Joining finance data with sales, product, and operations data
Trade-offs
  • Requires a destination database and maintained sync
  • You own currency, status, accounting period, and reconciliation definitions
  • Every modeled total should reconcile to the source system

What can you analyze from YNAB?

  • Budgeted, assigned, activity, and available amount by category
  • Account balance and reconciliation status
  • Spend by category and payee
  • Recurring and scheduled cash flows
  • Income, expense, and net cash flow by month

Which YNAB dashboards should you build in Metabase?

For: Finance leaders

Finance overview

A compact view of cash, exposure, and operating performance.

  • Ready-to-assign and account balances
  • Budget vs. activity
  • Net cash flow
  • Top spending categories
For: Finance operations

Operations

The work that needs attention before the next close.

  • Overspent categories
  • Unapproved or uncleared transactions
  • Scheduled transactions
  • Accounts needing reconciliation
For: Controllers

Controls and reconciliation

Find exceptions before they become close surprises.

  • Duplicate imports
  • Uncategorized transactions
  • Cleared vs. working balance variance
  • Deleted or changed records
For: FP&A

Planning and trends

Compare actuals with the plan and explain the variance.

  • Category trend
  • Recurring expense baseline
  • Savings-goal progress
  • Monthly income and spend

How do you use YNAB MCP with the Metabase CLI?

The YNAB API MCP server is a communityMCP option for AI-assisted exploration. Jean GNC's community YNAB MCP package exposes budgets, accounts, categories, transactions, and scheduled activity, alongside write tools. Apply a client-side read-tool allowlist and protect personal transaction detail. The Metabase CLI can then upload a sanitized CSV and create a ready-to-query table and model.

  • Start with a narrow read-only question and the minimum required objects.
  • Remove secrets, bank details, and personal fields before exporting.
  • Use mb upload csv for a first snapshot and mb upload replace for a controlled refresh.
  • Move to an API or connector sync when the dashboard becomes recurring.

How do you set up YNAB MCP and the Metabase CLI?

YNAB API MCP servercommunity

Data source
YNAB API
Auth
OAuth 2.0 or personal access token
Access
Read-only, least privilege
Use for
Exploration and scoped exports

Metabase CLIofficial

Install
npm install -g @metabase/cli
Auth
mb auth login
Load data
mb upload csv --file data.csv
Requires
An uploads database in Metabase
MCP clientExample MCP configuration - verify before use
{
  "mcpServers": {
    "ynab": {
      "command": "npx",
      "args": ["-y", "ynab-mcp-server"],
      "env": { "YNAB_API_TOKEN": "your-token" }
    }
  }
}
TerminalLoad a YNAB CSV with the Metabase CLI
# Install the Metabase CLI
npm install -g @metabase/cli

# Log in (opens your browser; requires Metabase v62+)
mb auth login --url https://your-metabase.example.com

# Load a scoped YNAB export - creates a table and a model
mb upload csv --file ynab-export.csv --collection "Finance & Accounting"

# Refresh the same table later
mb upload replace <table-id> --file ynab-export.csv
Verify before connecting: check the current YNAB API MCP server documentation, review every MCP tool, and enable an uploads database under Admin > Settings > Uploads. This is a third-party server: review its source, pin its version, and restrict it to the minimum read tools and credentials.

Can you generate a YNAB finance dashboard with AI?

Yes. Use the prompt below with an assistant that can access an approved data route and the Metabase CLI. It tells the assistant to inspect the real schema, reconcile totals, and skip cards that the available data cannot support.

Prompt for a YNAB finance dashboard
Create a polished Metabase dashboard for YNAB finance analytics.
Work end to end: find existing modeled data first; if none exists, load a minimal
read-only snapshot or describe the warehouse sync required.

Goal: Connect YNAB to Metabase for budget-versus-actuals, account balances, category spend, recurring transactions, and cash-flow dashboards.

Inspect before querying:
- Inspect actual tables, column names, currencies, status values, and timestamps.
- Do not assume the source schema matches this guide exactly.
- Reconcile source totals before publishing any finance KPI.

Important:
- Do not claim Metabase connects natively to YNAB; it reads a
  supported database or CLI-uploaded tables.
- Keep native amount, native currency, and reporting-currency amount separate.
- Distinguish authorization, posting, payment, settlement, and reconciliation
  states where the source exposes them.
- Use stable business keys and apply updates/deletes during incremental syncs.
- Exclude account numbers, personal data, and secrets from broad dashboards.
- Only build cards whose required fields and history are actually present.

Dashboard sections:
1. Finance overview: Ready-to-assign and account balances; Budget vs. activity; Net cash flow; Top spending categories.
2. Operations: Overspent categories; Unapproved or uncleared transactions; Scheduled transactions; Accounts needing reconciliation.
3. Controls and reconciliation: Duplicate imports; Uncategorized transactions; Cleared vs. working balance variance; Deleted or changed records.
4. Planning and trends: Category trend; Recurring expense baseline; Savings-goal progress; Monthly income and spend.

Suggested models: modeled_ynab_category_months, modeled_ynab_transactions, modeled_ynab_account_balances, modeled_ynab_recurring_cash_flows.

Output: Build the dashboard if you have permission; otherwise provide the exact
questions, SQL, model definitions, and layout. State refresh time, reporting
currency, accounting basis, and any reconciliation caveats.

How do you sync YNAB into a database or warehouse?

Use the YNAB API with OAuth or a personal access token to incrementally sync plans, accounts, categories, months, payees, scheduled transactions, and transactions into a database.

YNAB API or data service

Start from YNAB's official interface and authentication documentation. Extract only the finance objects required by the models below.

dlt YNAB REST pipeline

Load budgets, accounts, category months, transactions, and scheduled transactions while preserving server-knowledge deltas.

Implementation checklist

  1. Create a dedicated read-only integration identity and document its scopes.
  2. Land raw records with source IDs, source timestamps, extraction time, and currency fields intact.
  3. Apply updates and deletes idempotently; keep lifecycle history when aging or process metrics depend on it.
  4. Reconcile modeled totals to YNAB for a closed period before exposing the models broadly.
  5. Connect Metabase to the destination database and schedule model refreshes.

Source documentation

What data model should you use?

EntityGrainUse
plansone row per YNAB plantenant and currency context
accountsone row per accountbalance and reconciliation
categories_monthsone row per category-monthbudget, activity, and available amount
transactionsone row per transaction or subtransactionspend, income, payee, and cleared status

Build reusable models such as modeled_ynab_category_months, modeled_ynab_transactions, modeled_ynab_account_balances, modeled_ynab_recurring_cash_flows.

Which finance metrics are useful?

Practical SQL patterns

Monthly budget variance by categoryPostgreSQL
SELECT
  month,
  category_group_name,
  SUM(budgeted_amount) AS budgeted,
  SUM(-activity_amount) AS spent,
  SUM(budgeted_amount + activity_amount) AS variance
FROM modeled_ynab_category_months
GROUP BY 1, 2
ORDER BY 1, ABS(SUM(budgeted_amount + activity_amount)) DESC;
Upcoming funded obligationsPostgreSQL

Show scheduled outflows separately from current category availability.

SELECT
  scheduled_date,
  payee_name,
  category_name,
  -amount AS expected_outflow
FROM modeled_ynab_scheduled_transactions
WHERE scheduled_date BETWEEN CURRENT_DATE AND CURRENT_DATE + INTERVAL '30 days'
  AND amount < 0
ORDER BY scheduled_date, expected_outflow DESC;

Common mistakes

Treating available amount as monthly spend.→ Use activity for period spend; available includes money carried forward.
Dropping subtransactions.→ Model split transactions so category totals reconcile to the parent amount.
Ignoring deleted records during incremental sync.→ Apply the API delta semantics and soft-delete changed records.

Dashboards

Integrations

Analytics

FAQ

Is YNAB designed for enterprise finance reporting?
No. It is primarily a budgeting product. Use this guide for personal, small-business, or team budget analysis where the account setup fits.
Why do category balances carry across months?
YNAB's available amount represents assigned money minus activity with rollover; it is not the same as one month's budget or spend.
Does Metabase connect natively to YNAB?
No. Metabase reads supported databases and uploaded tables. Sync YNAB data into a database or load a scoped CSV snapshot first.