At a glance
Total Revenue minus refunds processed in the same period. The closer-to-P&L view of money kept after returns. Still gross of Viva interchange + scheme fees and gross of disputes lost.
| What it counts | SUM(transactions.Amount WHERE StatusId = F) − SUM(refunds.Amount), in each transaction’s CurrencyCode. |
| API endpoints | /api/transactions for gross revenue, /api/transactions/{id}/refunds for refund deductions. Joined on OriginalTransactionId. |
| VAT / tax | Inclusive (passthrough from Amount). |
| Currency | Multi-currency native, no FX. EUR refunds deduct from EUR revenue, GBP from GBP. |
| Fees / processing cost | Still gross. Viva interchange + scheme fees (~ 0.8, 1.4% blended for EU intra-EEA cards under IFR cap) NOT deducted. |
| Refunds | Deducted. The entire purpose of the card. |
| Refund timing convention | Refunds deducted on the date the refund was issued, not the date of the original transaction. A refund in May for an April sale reduces May’s net, not April’s. Standard accounting treatment. |
| Disputes / chargebacks | NOT deducted. A dispute in flight does not reduce net; only when the case converts to a chargeback debit does Viva push a debit transaction this card picks up. |
| Failed / declined payments | Excluded. |
| Time window | 30D vsP. |
| Alert trigger | drop >15% vsP, sentiment_key: revenue_trend. |
| Roles | owner, finance |
Calculation
Calculated automatically from your Viva Payments data. See the At a glance summary above for what the metric tracks and the worked example below for a typical reading.Worked example
A Greek SMB fashion retailer (“Kalymnos Apparel”) on Smart Checkout + 2 Smart POS terminals. The 30-day window covers 03 Apr 26 to 02 May 26.| Component | Value |
|---|---|
| Gross Revenue (this card’s input) | EUR 218,400 |
| Refunds issued in window | EUR 14,200 (6.5% refund rate) |
| Net Revenue (this card) | EUR 204,200 |
| Estimated Viva fees (~ 1.05% blended) | EUR 2,144 |
| Disputes lost in window | EUR 380 |
| Estimated bank-deposited | EUR 201,676 |
- Refund rate of 6.5% is high for fashion, typical 4, 6%. Either a sizing-issue spike on a recent product launch or a returns-policy promotion (free returns) running. Open
viva_refund_rateto confirm and isolate the SKU. - Refund timing matters for monthly closes. A refund issued on 02 May 26 for an April sale reduces May’s net here, not April’s. Finance teams running monthly P&L should expect a small drift between commerce-platform “net revenue per month” (which often re-attributes refunds to the original sale month) and Viva’s net revenue (which doesn’t). Reconciliation guidance below.
- Disputes in flight don’t show. The EUR 580 of active dispute cases (out of EUR 218,400 gross) are not deducted; only the EUR 380 already converted to chargeback losses are. Watch
viv_chargeback_ratefor in-flight pipeline. - The EUR 201,676 estimated bank-deposited isn’t shown directly. Merchants comparing this card to their bank statement need to subtract Viva fees and chargeback losses manually. The Settlements view in the Viva Dashboard does this automatically.
Sibling cards merchants should reference together
| Card | Why pair it with Net Revenue |
|---|---|
viva_total_revenue | The pre-refund gross figure. Diff of the two = refund value in the window. |
viva_refund_value | The deducted amount, broken out. |
viva_refund_rate | The percentage view. Catches refund-rate movement before it shows in net. |
viva_revenue_trend | Time-series view of the gross feeding this card. |
viva_avg_transaction | The denominator-aware reading. |
viva_pending_payouts | What’s in flight to your bank from this net revenue. |
Stripe stripe_net_revenue / PayPal pp_net_revenue | Cross-PSP same-archetype comparison. |
Commerce platform shopify.total_revenue net | Upstream reconciliation. Commerce-net usually re-attributes refunds to original sale month; Viva doesn’t. |
Reconciling against the vendor’s own dashboard
Where to look in the Viva Payments Dashboard: Sign in at viva.com/business/account/login. The closest comparable view is:Viva Business → Sales → Reports → Net Sales (toggle “Include refunds: Yes”)The Settlements view is post-fee, post-reserve and structurally lower than this card; do not use it for direct comparison. Other Viva views to be aware of:
- Settlements view: net of fees + reserves; use for bank reconciliation.
- Refunds view: the deducted-amount detail (per-transaction refunds).
- Disputes view: in-flight cases not yet deducted here.
| Reason | Direction | Why |
|---|---|---|
| Time zone | Boundary days off | Viva uses account timezone (Athens EET / EEST); we use UTC. |
| Refund attribution | Differ on monthly closes | We deduct refunds on issue date. Some Viva report views can re-attribute to original sale date. |
| Multi-currency | Ours per-currency, theirs may convert | Viva Dashboard offers FX-rolled view; this card preserves native currency. |
| Page-cap | Ours lower for very high volume | API pagination defers freshest transactions to next refresh. |
| Refresh lag | Ours lower for last 5, 15 min | Periodic sync. |
| Comparison | Expected relationship | When divergence is legitimate |
|---|---|---|
viva_net_revenue ↔ shopify.total_revenue net-of-refunds | viva ≤ shopify | Shopify revenue includes non-Viva-method orders; expect Viva ≤ commerce. |
viva_net_revenue ↔ stripe.stripe_net_revenue | Independent | Multi-PSP merchants sum the two for total net payment volume. |
Known limitations / merchant FAQs
Why is this still higher than my bank deposit? Three deductions remain between Net Revenue and your bank: (1) Viva interchange + scheme + acquiring fees (~ 0.8, 1.4% blended for EU intra-EEA cards), (2) chargeback losses (where dispute cases were lost), and (3) any reserve Viva is holding on your account. Use Viva’s Settlements view to bridge. Why don’t disputes deduct here? A dispute case in flight is not yet a debit, the customer’s bank may rule in your favour. Only when Viva debits your account (chargeback lost) does the value land here. Watchviv_chargeback_rate for in-flight pipeline.
Refund attribution mismatch with my commerce platform, what’s happening?
Viva deducts refunds on the date the refund was issued. Some commerce-platform reports re-attribute the refund to the original sale month. So a refund issued 02 May 26 for an April sale: Viva subtracts from May; commerce platform may subtract from April. For monthly P&L, finance teams typically prefer the commerce-platform attribution (matches GAAP); for cash reconciliation, Viva’s issue-date attribution matches the actual debit timing.
Multi-currency, does this card produce a single net?
No, per-currency net. EUR refunds deduct from EUR revenue; GBP from GBP. For an FX-rolled net, use the Viva Dashboard’s “Convert to EUR” toggle on Net Sales.
Why is my net revenue lower than my Shopify net?
Same reason as gross, Shopify includes non-Viva-method orders. If you also accept PayPal or Klarna, those orders show up in Shopify net but not in Viva net. Sum viva_net_revenue + stripe.stripe_net_revenue + paypal.pp_net_revenue for the multi-PSP rolled view, that should approach Shopify net.
Is Viva fees ever shown in this card?
No, this card stays gross of fees. A separate Net of Fees card is on the roadmap. For now, use Viva’s effective fee rate (visible in Business → Pricing) and multiply gross.
JP Morgan acquisition impact?
None on net revenue mechanics. Refund handling, dispute handling, and fee structures continue under existing Viva entities.