Adyen × Metabase

How to build Adyen payment dashboards in Metabase

Adyen is an enterprise payments platform processing online, in-app, and in-person payments worldwide, with detailed settlement and fee data. Metabase is where you turn that into shared, trustworthy dashboards for authorization rate, net settlement, chargebacks, and fees. This guide covers two complementary paths: a lightweight MCP + CLI route that pulls live data with the Adyen MCP server and loads a CSV into Metabase with the Metabase CLI for quick analysis, and a durable pipeline route that syncs Adyen into a database so you can build authorization, settlement, and chargeback dashboards anyone can read.

Heads up: Metabase connects to databases and warehouses — it does not ship a native Adyen connector. For dashboards that need history and reliability, you'll sync Adyen into a database first (covered below).

How do you connect Adyen to Metabase?

Most teams combine both routes: use the Adyen MCP server and Metabase CLI route to pull live data and stand up a quick analysis, and the pipeline route for the financial dashboards finance depends on.

1 · MCP + CLI route (AI-assisted)

Live data in, quick analysis out

Pair Adyen's official (alpha) local MCP server (to look up live payments, captures, and refunds) with the Metabase CLI, whose upload command loads a CSV into Metabase as a ready-to-query table and model.

Best for
  • Quick lookups like "which authorizations were declined this morning?"
  • Loading an Adyen CSV export into Metabase in seconds
  • Spot-checks and one-off analyses without a warehouse
Trade-offs
  • Great for exploration, not governed revenue reporting
  • Local MCP only today, and it reads the live API — scope Adyen credentials carefully
  • CSV uploads are snapshots — refresh or move to the pipeline for history
2 · Pipeline route (warehouse-backed)

Durable dashboards with history

Sync Adyen via settlement detail reports and the APIs into a database, then point Metabase at it.

Best for
  • Authorization-rate, net-settlement, and fee dashboards finance relies on
  • Chargeback, refund, and payment-method trends over time
  • Joining payments with orders, product, and risk data
Trade-offs
  • Requires a destination database and a sync to maintain
  • Interchange and scheme fees are detailed — model them carefully
  • Reconcile against Adyen Customer Area before anyone trusts the numbers

What can you analyze from Adyen data in Metabase?

  • Authorization rate — authorised ÷ attempted, by method, issuer, and country
  • Processed and net volume — captured volume and what settles after fees
  • Fees — interchange, scheme, and Adyen markup as a share of volume
  • Refunds and chargebacks — leakage and risk vs. scheme thresholds
  • Settlement — timing and net amounts by currency
  • Payment methods — mix and performance across channels

Which Adyen dashboards should you build in Metabase?

For: Payments, finance

Authorization & conversion

How much of attempted volume actually authorizes.

  • Authorization rate by day (line)
  • Auth rate by payment method and issuer (bar)
  • Declines by refusal reason (bar)
  • Auth rate by country (map/table)
For: Founders, finance

Volume & net settlement

Processed volume and what settles after fees.

  • Processed and captured volume by day (line)
  • Net settled amount after fees (line)
  • Interchange + scheme + Adyen fees (stacked bar)
  • Average transaction value (number)
For: Finance, risk

Refunds & chargebacks

Where money leaks back out and risk pressure.

  • Refund rate and refunded amount (number + line)
  • Chargebacks and fraud by month (bar)
  • Chargeback rate vs. scheme thresholds (line)
  • Dispute win/loss rate (table)
For: Finance, leadership

Settlement & fees

Cash landing in your account and cost of processing.

  • Settlements and settlement timing (table)
  • Fees as a share of volume (line)
  • Net settlement by month and currency (bar)
  • Reserves and adjustments (table)

How do you use the Adyen MCP server with the Metabase CLI?

Pair the Adyen MCP server with the Metabase CLI for fast, hands-on analysis. Adyen ships an official (alpha) local MCP server that looks up live payments, captures, and refunds; the Metabase CLI's upload command loads a CSV into Metabase and creates a ready-to-query table and model. For analysis, scope the Adyen credentials to read-only.

Example workflow

  • Ask the Adyen MCP which authorizations were declined this morning, or list a payment's captures and refunds with their status.
  • Export the payments, refunds, and settlement records you want to keep as CSVs.
  • Run mb upload csv to load them into Metabase as tables and models, then build questions and dashboards on top.

Be honest about the limits

  • The Adyen MCP is great for live lookups — not for scheduled or audited revenue reporting.
  • A CSV upload is a point-in-time snapshot; settlement and auth-rate trends still need a warehouse sync, or refresh with mb upload replace.
  • Adyen's MCP is local and alpha — scope API credentials carefully and use test-environment credentials first.
  • mb upload csv needs an uploads database configured under Admin → Settings → Uploads.

How do you set up the Adyen MCP server and the Metabase CLI?

Adyen MCPofficial · alpha

Source
adyen/adyen-mcp (GitHub)
Transport
Local (build/run per the repo)
Auth
ADYEN_API_KEY + ADYEN_MERCHANT_ACCOUNT
Remote
Not available yet

Metabase CLIofficial

Install
npm install -g @metabase/cli
Auth
mb auth login (browser OAuth on v62+, or an API key)
Load data
mb upload csv --file data.csv
Requires
An uploads database (Admin → Settings → Uploads)
ClaudeClaude Code CLI
# Adyen (official alpha, local server — build/run per the repo README)
claude mcp add adyen \
  --env ADYEN_API_KEY=<YOUR_ADYEN_API_KEY> \
  --env ADYEN_MERCHANT_ACCOUNT=<YOUR_MERCHANT_ACCOUNT> \
  -- /path/to/adyen-mcp
Cursor~/.cursor/mcp.json or .cursor/mcp.json
{
  "mcpServers": {
    "adyen": {
      "command": "/path/to/adyen-mcp",
      "env": {
        "ADYEN_API_KEY": "<YOUR_ADYEN_API_KEY>",
        "ADYEN_MERCHANT_ACCOUNT": "<YOUR_MERCHANT_ACCOUNT>"
      }
    }
  }
}

Adyen's MCP is distributed as source on GitHub — build and run it per the adyen/adyen-mcp README, then point the command at the resulting binary. Use test-environment credentials first.

TerminalLoad an Adyen 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 an Adyen CSV export — creates a table AND a model
mb upload csv --file adyen-settlement.csv --collection root

# Refresh that same table later from a new export
mb upload replace <table-id> --file adyen-settlement.csv

The Metabase CLI stores its credentials securely after mb auth login.

Verify before shipping: confirm an uploads database is enabled under Admin → Settings → Uploads (Metabase docs) and the current Adyen MCP setup in the adyen/adyen-mcp repo. Scope Adyen credentials to read-only for analysis work.

Can you generate an Adyen dashboard with AI?

Yes. Use the prompt below with any assistant that can run the Adyen MCP server and the Metabase CLI. It works end to end: if Adyen tables already exist in Metabase it analyzes those; otherwise it pulls the data over the Adyen MCP, loads it with mb upload csv, then builds the dashboard — segmenting authorization rate and skipping cards it has no data for.

Prompt for creating an Adyen Payments Overview dashboard
Create a polished Metabase dashboard for Adyen payments analytics.
Work end to end: get the data into Metabase if it isn't there yet, then build.

Goal: Help payments and finance leaders understand authorization rate, processed
and net volume, refunds, chargebacks, fees, and settlement from Adyen data.

Step 1 — Find or load the data:
- First, check what already exists in Metabase (search for Adyen tables and
  models). If durable Adyen data is already present — synced from a warehouse or
  uploaded earlier — use it and skip to Step 2.
- If nothing is there, pull it with Adyen's local MCP server using read-only
  credentials: payments (authorisations), captures, refunds, chargebacks, and
  settlement detail records. Write each result to a CSV, then load it with the
  Metabase CLI — run "mb upload csv --file <export>.csv" so each upload creates a
  table and a ready-to-query model. Use "mb upload replace <table-id> --file
  <export>.csv" to refresh an existing table instead of creating duplicates.

Step 2 — Inspect before querying:
Do not assume exact table names. Map the available raw tables into these
analytical concepts where possible: Payments (authorisations), Captures, Refunds,
Chargebacks/Disputes, Fees (interchange, scheme, markup), Settlements, and
Payouts. Inspect the actual tables and column names first.

Important:
- Build on whatever data is present; don't claim Metabase connects natively to
  Adyen — it reads a database or CLI-uploaded tables.
- Compute authorization rate as authorised ÷ attempted, and segment by method,
  issuer, and country.
- Separate processed volume from net settlement (after interchange, scheme, and
  Adyen fees).
- Track chargeback rate against scheme thresholds.
- Report in a single reporting currency; Adyen is multi-currency, so convert
  with a documented rate or split by currency.
- Only build a card if its underlying column/metric exists in the data.
- A single CSV is a point-in-time snapshot: settlement, auth-rate, and chargeback
  trends need history, so build trend cards only if a warehouse sync or multiple
  uploads provide it.

Dashboard title: Adyen Payments Overview

Sections:
1. Executive summary (KPI cards): Processed volume; Net settlement; Authorization
   rate; Refund rate; Chargeback rate; Fees %.
2. Authorization & conversion: Auth rate by day; by method/issuer; declines by
   reason.
3. Volume & net settlement: Processed vs. captured; Net settled; Fee breakdown.
4. Refunds & chargebacks: Refund rate; Chargebacks vs. thresholds; Win/loss rate.
5. Settlement & fees: Settlement timing; Fees as a share of volume; Net
   settlement by currency.

Filters: Payment method, Issuer, Country, Currency, Date range.

Reuse the models Metabase auto-created from uploaded CSVs, or (for a warehouse)
create reusable models: modeled_adyen_payments, modeled_adyen_settlement_details,
and modeled_adyen_chargebacks.

Output: Build the dashboard if you have permission; otherwise provide the exact
questions, SQL, model definitions, and layout. Include caveats for any metric
that cannot be calculated from the available data. Reconcile totals against
Adyen Customer Area. Keep it practical, dense, and executive-readable. Avoid
vanity metrics.

How do you build the Adyen → Metabase pipeline?

For dashboards that need history and reliability, land Adyen data in a database first, then connect Metabase to that database.

No paid tool required. A fully free stack: a small dlt or hand-written script (extract) → a free Postgres database like Neon or Supabase (load) → a scheduler such as GitHub Actions cron (host) → Metabase (visualize). For hosting and scheduling details, see our data pipeline guide.

Connector options

  • Settlement detail reports (free, first-party) — the definitive record of captures, fees, and net settlement; load them on a schedule.
  • Adyen APIs (free, raw) — Checkout, Management, and reporting APIs for payment and dispute detail.
  • Webhooks (free, events) — stream authorisation, capture, refund, and chargeback notifications into a table.

Notes

  • Land raw reports first, then build clean models on top.
  • Settlement detail reports are the source of truth for net revenue — model fees (interchange, scheme, markup) from them.
  • Adyen is multi-currency — convert to one reporting currency or split by it.
  • Amounts are in minor units — divide in a model layer.

How should you model Adyen data in Metabase?

Core tables

ConceptGrainKey columns
paymentsone row per authorisationpsp_reference, merchant_reference, amount, result, payment_method, shopper_country, created_at
capturesone row per capturepsp_reference, original_reference, amount, status, created_at
refundsone row per refundpsp_reference, original_reference, amount, status, created_at
chargebacksone row per disputepsp_reference, original_reference, amount, reason, status, created_at
settlement_detailsone row per settlement linepsp_reference, type, gross_debit, gross_credit, commission, markup, scheme_fees, interchange, net_debit, net_credit, booking_date

Modeling advice

  • Treat settlement_details as the source of truth for net revenue and fees.
  • Build a modeled_adyen_payments view keyed on psp_reference to link authorisation, capture, refund, and chargeback.
  • Define authorization rate on a consistent attempt denominator.
  • Break fees into interchange, scheme, and markup so cost is transparent.
  • Reconcile modeled net settlement against the Adyen Customer Area.

Which Adyen metrics should you track in Metabase?

MetricDefinitionNotes
Authorization rateAuthorised ÷ attempted payments.Segment by method, issuer, country.
Processed volumeSum of captured amounts.Gross, before fees.
Net settlementCaptured − interchange − scheme − markup.From settlement detail reports.
Fee rateTotal fees ÷ processed volume.Break down by fee type.
Refund rateRefunds ÷ captured payments.By count or amount — label which.
Chargeback rateChargebacks ÷ transactions.Watch against scheme thresholds.

What SQL powers Adyen dashboards in Metabase?

These assume the modeled tables above (PostgreSQL dialect, amounts in minor units). Adjust identifiers to match your schema.

Daily authorization ratePostgreSQL

Authorised payments as a share of attempts.

SELECT
  date_trunc('day', created_at)                       AS day,
  COUNT(*)                                            AS attempts,
  COUNT(*) FILTER (WHERE result = 'Authorised')       AS authorised,
  ROUND(100.0 * COUNT(*) FILTER (WHERE result = 'Authorised')
    / NULLIF(COUNT(*), 0), 2)                         AS auth_rate_pct
FROM payments
WHERE created_at >= CURRENT_DATE - INTERVAL '30 days'
GROUP BY 1
ORDER BY 1;
Authorization rate by methodPostgreSQL

Where declines cluster across payment methods.

SELECT
  payment_method,
  COUNT(*)                                            AS attempts,
  ROUND(100.0 * COUNT(*) FILTER (WHERE result = 'Authorised')
    / NULLIF(COUNT(*), 0), 2)                         AS auth_rate_pct
FROM payments
WHERE created_at >= CURRENT_DATE - INTERVAL '30 days'
GROUP BY payment_method
ORDER BY attempts DESC;
Net settlement and fees by monthPostgreSQL

From settlement detail records — the source of truth for net.

-- Net settlement from settlement detail records
SELECT
  date_trunc('month', booking_date)                   AS month,
  ROUND(SUM(gross_debit - gross_credit) / 100.0, 2)   AS gross_amount,
  ROUND(SUM(commission + markup + scheme_fees + interchange) / 100.0, 2)
    AS total_fees,
  ROUND(SUM(net_debit - net_credit) / 100.0, 2)       AS net_settled
FROM settlement_details
GROUP BY 1
ORDER BY 1;

What are common mistakes when analyzing Adyen in Metabase?

Treating a live MCP lookup or a one-off CSV as governed revenue reporting.→ Use the Adyen MCP and CSV uploads for lookups and triage; build warehouse-backed Metabase dashboards from settlement detail reports for anything finance depends on.
Reporting processed volume as net.→ Subtract interchange, scheme, and Adyen fees — settlement detail reports are the source of truth.
Ignoring method and issuer in auth rate.→ A blended authorization rate hides the problem — segment by method, issuer, and country.
Mixing currencies into one number.→ Convert to a single reporting currency, or split by currency and say so.
Never reconciling with the Customer Area.→ Sanity-check modeled net settlement against Adyen's own reports before trusting them.

Related analytics

Related metrics

Related integrations

FAQ

Does Metabase connect natively to Adyen?
No. Metabase reads SQL databases and warehouses. Sync Adyen into a database first (settlement detail reports, the APIs, and webhooks), then connect Metabase to that database.
How do I quickly analyze Adyen data without a warehouse?
Pull the payments, refunds, and settlement records you need with Adyen's local MCP server (scope the API credentials to read-only), export them to CSV, and run `mb upload csv --file data.csv` with the Metabase CLI. It creates a table and a model you can build questions on right away. You'll need an uploads database enabled under Admin → Settings → Uploads. Refresh later with `mb upload replace`, or move to the pipeline route when you need history.
Is there a hosted Adyen MCP URL I can paste?
Not yet. Adyen's official MCP server (adyen/adyen-mcp) is an alpha, local server you build and run yourself — there's no paste-a-URL remote endpoint at this time. Use it for live lookups, export CSVs for the Metabase CLI, and rely on settlement reports for durable dashboards.
Where do net revenue and fees come from?
Adyen's settlement detail reports. They itemize interchange, scheme fees, and Adyen markup, so model net settlement from them rather than from raw authorisation amounts.