---
title: "Stripe Payments Dashboard: Gross to Net, Payouts and MRR | OWOX"
canonical: "https://www.owox.com/dashboards/stripe-payments-dashboard"
updated: "2026-11-09"
---

AI dashboard · payments

# Stripe Payments Dashboard

Gross to net, payouts, MRR and collections from one Stripe account, built by Claude on fourteen Data Marts loaded by a custom connector, and checked against Stripe's own ledger: 140 of 146 payouts match it to the cent.

14 Data Marts · Built by Claude on OWOX Data Marts · Refreshed from the Data Marts on demand

[Get Started Free](https://www.owox.com/app-signup) · or [book a call](https://calendly.com/owox/book-a-call)

## The dashboard

## What each view answers

## Seven questions, fourteen Data Marts

Every view answers one question a CEO asks about the money Stripe handles. Between them they read the Data Marts loaded daily from Stripe by a custom connector, and each view names the ones it uses, so the table behind any number is one click away on the Stripe data source page.

What this means

### Did we do better or worse this month?

Four findings ranked and computed from the rows: what customers were charged and what reached the balance, the payouts that match the bank and the ones that do not, recurring revenue and its movement, and what leaked to refunds, chargebacks and fees, each naming the tables it comes from.

Balance transactions · Payouts · Subscriptions · Subscription items · Payment intents · Invoices

Gross to net

### How much did we actually get paid?

Gross charged, refunds and chargebacks, Stripe fees and the net that reached the balance, month by month with a Months and Weeks switch, then the payouts that carried it to the bank. Balance transactions and charges agree to the cent.

Balance transactions · Charges · Payouts

Payouts

### Does every payout match the bank?

Each payout with its arrival date and amount next to the sum of the balance transactions it contains, and the gap. For 140 of 146 payouts the gap is zero; the six that differ are listed with their amounts. The median charge reaches the bank in three days.

Payouts · Balance transactions

Subscriptions

### What is MRR, and which way is it moving?

Monthly recurring revenue rebuilt from subscription items and their unit amounts, yearly prices divided by twelve, grouped by billing interval and price band, with new and ended MRR by month.

Subscriptions · Subscription items · Prices · [Monthly recurring revenue](/metrics/monthly-recurring-revenue)

Leaks

### Are refunds and disputes growing?

Refunds by reason and disputes by status and period, as a share of gross, with the fee line beside them so the three costs are read together.

Refunds · Disputes · Balance transactions

Collections

### Who pays late, and who never finished paying?

Open and past-due invoices by customer with the amount outstanding, and the checkouts that did not complete with their decline codes.

Invoices · Customers · Payment intents

Days to bank

### How long does our money sit with Stripe?

The median number of days between a charge and the arrival of the payout that carried it, by month, from the balance transactions' availability dates and the payouts' arrival dates.

Balance transactions · Payouts

## Metrics

## The figures on this dashboard

Each one is computed once, from the same Data Marts, and read the same way in every view.

Gross charged · Net to balance · Paid out to bank · Payout gap · Days to bank · [Monthly recurring revenue](/metrics/monthly-recurring-revenue) · Open invoices

## Connected, not a snapshot

## An AI dashboard is only as true as what it reads

Most payment dashboards start from Stripe's gross volume chart or a CSV export. That works until finance asks why it does not match the bank.

On an export

### Three numbers, no way to tie them together

Stripe shows gross volume, the bank shows deposits, the books show revenue. An export freezes one of the three on the day it was taken, and nobody can say which fee, refund or payout explains the difference.

Which one goes to the board?

On your Data Marts

### Every view reads the same tables, checked against Stripe's ledger

Balance transactions, charges, refunds, disputes, payouts, invoices and subscriptions land in your data warehouse every day. The dashboard reads those Data Marts, and 140 of its 146 payouts match Stripe's own ledger to the cent.

One ledger, every view.

**Connecting the AI straight to Stripe is not enough either.** The API returns objects, not meaning: which amount is revenue, which date to report on, how a refund reverses a charge. The Data Marts are where that is decided once.

## How it is built

## From Stripe to a dashboard in five steps

Your analyst does steps one and two once. After that, anyone with access asks their AI for the view they need.

1.  01 · Stripe · custom connector · daily · A custom connector in OWOX Data Marts loads the fourteen tables into your data warehouse.
2.  02 · Data Marts · one per table · SQL visible · Your analyst defines once what net revenue, a settled payout and MRR mean.
3.  03 · OWOX API · governed · permissions · The only door the AI gets: the Data Marts it may read, nothing raw.
4.  04 · Claude or ChatGPT · your own AI · Ask for the dashboard in plain words. It builds it on the Data Marts.
5.  05 · AI dashboard · refresh on demand · Open it, press Refresh, and the views re-read the Data Marts.

## Build yours

## Build this on your own Stripe account

Connect Stripe with a restricted key, let your analyst define the Data Marts once, and let your AI build the views your team asks for.

[Get Started Free](https://www.owox.com/app-signup) · or [book a call](https://calendly.com/owox/book-a-call)

## Links

Pages this page links to, on this site and on docs.owox.com. Where the page has a Markdown twin, its address follows the link.

- [Get Started Free](https://www.owox.com/app-signup)
- [Monthly recurring revenue](https://www.owox.com/metrics/monthly-recurring-revenue) — /metrics/monthly-recurring-revenue.md
