> ## Documentation Index
> Fetch the complete documentation index at: https://waffo.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Home Dashboard

> How the Portal Home dashboard counts: the Today panel's three TPV baselines, the TPV / Txns / ASP definitions, product split, the five time granularities, Compare, and what switching display currency does and does not convert.

The Home dashboard is the business-overview screen you land on after signing in to the Merchant
Portal. It is available to accounts it has been enabled for — **if you can see it on Home, it is
active for you**; accounts without it keep the previous Home layout. Settlement mechanics live in
[Merchant Settlement](/docs/en/essentials/merchant-settlement).

The screen has two independent areas. **Today** covers the current day only, from `00:00` **UTC+8**,
and reloads on a short interval (its tooltip states the exact cadence). **Your overview** — the Payment
and Refund tabs — covers any range you pick, ending yesterday at the latest, on T-1 offline data.

## What are the three TPV figures in the Today panel?

| Figure (all in the selected display currency) | Scope |
| - | - |
| **Total TPV** (large number) | Today, from `00:00` UTC+8 up to the latest available hour |
| **/ … (Yesterday TPV)** | Yesterday's **full day** — a finished day to size today against |
| **vs same time yesterday** (badge) | Yesterday accumulated **only up to the current hour**, so the comparison is like-for-like |

The badge is hidden — not shown as zero — when yesterday's same-time figure is zero or missing. The
**TPV Trend** chart plots two cumulative curves, today and yesterday, with volume bucketed to the
**start of each hour**: `00:00–00:59` appears at `00:00`.

The two mini cards next to it are also today-only, independent of the date range chosen further
down the page: **Refunded** is refunds *completed* today, **Refunds in Progress** is refunds
*initiated but not yet completed*. Note that **Total TPV includes refunded orders** — refunds are
reported alongside it, never subtracted from it.

## Why does the Today panel say data is delayed?

Today's figures come from a real-time pipeline that reports its own freshness. When it is behind, the
panel shows a banner instead of quietly displaying partial numbers, and names the last complete hour
it does have: *Data updated to `HH:00`*. Figures on screen remain valid up to that hour; if no hour
of today has landed yet, the banner asks you to refresh later rather than quoting a timestamp.

Two details are deliberate: the **last refresh time** is when this view fetched its data, not the
time of your last order; and the delayed state affects **Today only** — the Payment and Refund tabs
run on a separate T-1 pipeline.

## What exactly do TPV, Txns and ASP mean?

| Metric | Definition | Counting basis |
| - | - | - |
| **TPV** | Successful payment amount, refunded orders included | Order creation time |
| **Txns** | Number of successful payments | Order creation time |
| **ASP** | Average Sale Price = **TPV ÷ Txns** | Derived from the two above |
| **Refund Amount** | Total refunded amount | Refund initiation time |
| **Refund Count** | Number of refunds | Refund initiation time |

Because TPV is gross — refunded orders in, fees and taxes not deducted, converted at a reference
rate — it will not equal a settlement amount. Use the settlement batch and its reconciliation
reports for anything you have to tie to money received.

## Why can't I select today in "Your overview"?

The Payment and Refund tabs read T-1 data, so the date picker stops at **yesterday**. It opens on
the **last 30 days ending yesterday**, and a range longer than **one year** is refused with
*Date range cannot exceed 1 year*. Today's activity is what the Today panel is for.

## What do the five granularities change?

`Daily`, `Weekly`, `Monthly`, `Quarterly` and `Yearly` change how the range is bucketed in the trend
charts. Each bucket is labelled by the **first day of the period** as `YYYY-MM-DD` — Monday for
`Weekly`, the 1st for `Monthly`, the first month's 1st for `Quarterly` and `Yearly`. On `Daily`,
days with no activity are drawn as zero so the axis stays continuous.

## How does Compare work, and why is Δ% empty?

`Compare to` offers **Previous period** and **Custom**. Previous period derives the comparison
window for you; Custom asks for a second date range, and nothing is queried until both of its dates
are set. With Compare on, every amount and count — summary metrics, product split, performance
table rows — carries a Δ% badge, and hovering a trend point shows the matching bucket from the
comparison window. Δ% is intentionally **blank (—)** when the comparison value is zero or absent:
there is no growth percentage against a zero baseline, so no number is invented.

## What does switching display currency actually convert?

Everything on the page is expressed in one **display currency**, defaulting to `USD` (always
offered, even if you never transact in it), with your own transaction currencies listed alongside.
Amounts are converted at a **reference rate**, which is why an information banner reminds you that
the figure is an estimate and the final settlement rate may differ. Conversion here is presentation
only and **does not affect settlement**.

One column is deliberately exempt: the **TPV (local)** / **Refund Amount (local)** column in the
`By currency` table holds the original amount in that row's own currency — not converted, unchanged
when you switch display currency, and with no Δ% badge.

If no reference rate is available for the currency you pick, the switch is rejected and the selector
stays where it was, with a message that the rate is unavailable or invalid.

## How do I read the product split and the performance table?

**Product split** breaks the period into **One-time Payment** and **Subscription**, each with its
amount, count, and share of total TPV. On the Payment tab, Subscription further splits into **New
Subscription** and **Subscription Renewal**. The Refund tab shows only the two top-level groups.

**Performance table** has two views on the Payment tab:

| View | Rows | Extras |
| - | - | - |
| **By currency** | Every currency in the period, no truncation | Local-amount column |
| **By payment method** | **Top 10** by amount, remainder folded into an **Others** row that shows how many methods it covers | Per-method TPV Trend sparkline; **Region** filter |

The Region multi-select applies to the **By payment method** view only — it does not re-filter the
summary metrics, product split or trend charts. The Refund tab has a single `By currency` view and
no Region filter.

***

Numbers still not reconciling? [Contact support](mailto:support@waffo.com) with the date range,
granularity and display currency you were looking at.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.