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

# Total Transactions, Viva Payments

> Total Transactions for Viva Payments stores. Tracked live in Vortex IQ Nerve Centre. How to read it, why it matters, and how to act on it.

**Metrics type:** [Supporting Metrics](/nerve-centre/overview#metrics-types-explained)  •  **Category:** [Payment Gateway](/nerve-centre/connectors#connectors-by-type)

## At a glance

> The **count** of successful transactions on Viva Payments rails in the period: how many discrete charges hit the rail, regardless of size. The denominator behind average-transaction value, decline-rate, refund-rate, and 3DS-abandon-rate. Volume's twin metric.

|                                |                                                                                                                                                                                                                                                                                                                       |
| ------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **What it counts**             | `COUNT(transactions)` where `StatusId = F` (Successful) on `/api/transactions`. Each unique `TransactionId` counts once. Includes online checkout, Smart POS captures, recurring rebills, and pay-by-link. Partial captures of a single auth count as one transaction (Viva treats the full lifecycle as one record). |
| **API endpoint**               | [`GET /api/transactions`](https://developer.vivawallet.com/apis-for-payments/payment-api/) on the Smart Checkout API.                                                                                                                                                                                                 |
| **Currency**                   | **Currency-neutral** (count, not amount). One EUR transaction and one GBP transaction both add 1.                                                                                                                                                                                                                     |
| **Refunds**                    | **Not deducted from count.** A fully refunded transaction is still 1 successful transaction here. Refund counts are tracked in [`viv_refund_volume`](/nerve-centre/kpi-cards/viva-payments/refund-volume).                                                                                                            |
| **Disputes / chargebacks**     | **Not deducted.** A disputed transaction still counts. Disputes tracked in [`viv_dispute_rate`](/nerve-centre/kpi-cards/viva-payments/dispute-rate).                                                                                                                                                                  |
| **Failed / declined payments** | **Excluded.** Only `StatusId = F` rows count. `E`, `M`, `X` excluded.                                                                                                                                                                                                                                                 |
| **3DS 2 treatment**            | Both frictionless and challenge-completed flows count. Customer-abandoned 3DS challenges (`X`) excluded.                                                                                                                                                                                                              |
| **Recurring vs one-time**      | Both included. Each rebill is one transaction.                                                                                                                                                                                                                                                                        |
| **Channels**                   | **Online + POS + recurring + pay-by-link unified.** Each channel adds to the count uniformly.                                                                                                                                                                                                                         |
| **Payout timing**              | **Per transaction date** (when the customer paid).                                                                                                                                                                                                                                                                    |
| **Time window**                | `30D vsP` (default 30D vs the prior 30D).                                                                                                                                                                                                                                                                             |
| **Alert trigger**              | `drop >15% vsP`.                                                                                                                                                                                                                                                                                                      |
| **Roles**                      | owner, finance, operations                                                                                                                                                                                                                                                                                            |

## 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 Cypriot pharmacy chain ("Aphrodite Pharma") runs four high-street stores plus an online prescription-fulfilment site. Window 03 Apr 26 to 02 May 26.

| Channel                                    | Transactions | Avg Ticket | Notes                               |
| ------------------------------------------ | ------------ | ---------- | ----------------------------------- |
| Nicosia flagship Smart POS                 | 4,820        | EUR 23     | High-volume low-ticket OTC pharmacy |
| Limassol Smart POS                         | 3,240        | EUR 26     | Same                                |
| Larnaca Smart POS                          | 1,910        | EUR 24     | Same                                |
| Paphos Smart POS                           | 1,420        | EUR 25     | Same                                |
| Online prescription site                   | 980          | EUR 48     | Higher ticket, multi-item           |
| Recurring monthly subscriptions (vitamins) | 720          | EUR 35     | Tokenized rebills                   |
| Pay-by-link (B2B clinic accounts)          | 32           | EUR 480    | Wholesale invoicing                 |

```text theme={null}
Total successful transactions (this card):
  POS    = 4,820 + 3,240 + 1,910 + 1,420                = 11,390
  Online                                                =    980
  Recurring                                             =    720
  Pay-by-link                                           =     32
  Total                                                 = 13,122

Avg transaction (volume ÷ count)                        ≈ EUR 26.40
```

What the merchant should notice:

1. **POS is 86.8% of transaction count but 76% of revenue.** Pharmacy traffic is volume-heavy and ticket-light; finance-team revenue dashboards under-represent the operational load that POS terminals carry. Counting transactions exposes throughput pressure that revenue alone hides.
2. **Pay-by-link is 0.2% of count but contributes 1.2% of revenue.** 32 captures at EUR 480 average is a small flow but a high-margin one. CFOs reviewing volume-only dashboards can miss the strategic value of B2B payment rails.
3. **Recurring at 720 rebills implies \~720 active subscribers.** Rebill count is an immediate proxy for active subscription base. A 5% drop month-on-month is a churn signal worth investigating in the upstream subscription tool before the revenue impact lands.
4. **Online ticket EUR 48 is 2x POS ticket.** Online basket-builders add multiple items; in-store traffic buys impulse OTC. This is normal pharmacy behavior. A reversal would be unusual.
5. **Per-store transaction count is the staffing signal.** Nicosia at 4,820 captures over 30 days is roughly 160 transactions/day, well within one cashier's throughput. Anything above 250/day suggests a second register is needed at peak hours.

## Sibling cards merchants should reference together

| Card                                                                                                                                                                       | Why pair it with Total Transactions                                                                                                       |
| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- |
| [`viv_total_volume`](/nerve-centre/kpi-cards/viva-payments/total-volume)                                                                                                   | The numerator. Volume ÷ transactions = average transaction.                                                                               |
| [`viv_avg_transaction`](/nerve-centre/kpi-cards/viva-payments/average-transaction)                                                                                         | The per-transaction view.                                                                                                                 |
| [`viv_volume_trend`](/nerve-centre/kpi-cards/viva-payments/volume-trend)                                                                                                   | Time-series view, reveals whether transaction count is moving with or against volume.                                                     |
| [`viv_success_rate`](/nerve-centre/kpi-cards/viva-payments/success-rate)                                                                                                   | The rate equivalent. Successful ÷ all attempts.                                                                                           |
| [`viv_decline_rate`](/nerve-centre/kpi-cards/viva-payments/decline-rate)                                                                                                   | Failed attempts not in this count.                                                                                                        |
| [`viv_threedsecure_abandon_rate`](/nerve-centre/kpi-cards/viva-payments/3ds-abandonment-rate)                                                                              | 3DS abandons not in this count.                                                                                                           |
| Stripe [`stripe_total_transactions`](/nerve-centre/stripe/stripe_total_transactions) / PayPal [`pp_total_transactions`](/nerve-centre/kpi-cards/paypal/total-transactions) | Cross-PSP same-archetype comparison.                                                                                                      |
| Shopify [`total_orders`](/nerve-centre/shopify/total_orders)                                                                                                               | Upstream commerce view. Orders typically ≥ Viva transactions (each order is at least one transaction; multi-charge orders generate more). |

## Reconciling against the vendor's own dashboard

**Where to look in the Viva Payments Dashboard:**

[viva.com/business/account/login](https://www.viva.com/en/business/account/login). Closest comparable view:

> **Viva Business → Sales → Transactions** (filter "Status: Successful"; the row count at the bottom = this card)

The **Sales overview** page also shows a "Successful transactions" tile.

Other Viva views:

* **Smart POS terminal reports** (Devices → Terminals): per-device transaction counts; subset of this card.
* **Recurring (Subscriptions) view**: rebill counts; subset of this card.

**Why our number may legitimately differ from the Viva Dashboard:**

| Reason                  | Direction                       | Why                                                                                                                                                      |
| ----------------------- | ------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Time zone**           | Boundary days off               | Athens / Cyprus timezone is UTC+2 / UTC+3; we use UTC for period boundaries.                                                                             |
| **Pagination caps**     | Ours lower for very high volume | Viva API paginates at 100 transactions per page; for merchants with >50,000 transactions/day a sync interruption can defer the freshest 5 to 15 minutes. |
| **3DS late completion** | Theirs may flip retroactively   | A late-completed 3DS challenge moves from `X` to `F` retroactively in the Dashboard; our snapshot reflects state at sync.                                |
| **Refresh lag**         | Ours lower for "today"          | Most recent 5 to 15 minutes may not be indexed yet.                                                                                                      |

**Cross-connector reconciliation:**

| Comparison                                                                                                                                                                                            | Expected relationship                                                                       | When divergence is legitimate                                                                                                                      |
| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- |
| `viv_total_transactions` ↔ [`shopify.total_orders`](/nerve-centre/shopify/total_orders)                                                                                                               | `viva ≤ shopify` for online orders, but multi-charge Shopify orders can flip the inequality | A Shopify order paid via subscription deposit + remainder generates one Shopify order but two Viva transactions. Marketplace splits also multiply. |
| `viv_total_transactions` ↔ [`bigcommerce.total_orders`](/nerve-centre/kpi-cards/bigcommerce/total-orders)                                                                                             | Same logic                                                                                  |                                                                                                                                                    |
| `viv_total_transactions` + [`stripe.stripe_total_transactions`](/nerve-centre/stripe/stripe_total_transactions) + [`paypal.pp_total_transactions`](/nerve-centre/kpi-cards/paypal/total-transactions) | `≈ commerce_total_orders` for Viva-primary stores                                           | Approximate; per-order multi-charge variance applies.                                                                                              |

***

<details>
  <summary><em>Documentation cross-reference (same archetype on other PSPs)</em></summary>

  * [`stripe.stripe_total_transactions`](/nerve-centre/stripe/stripe_total_transactions)
  * [`paypal.pp_total_transactions`](/nerve-centre/kpi-cards/paypal/total-transactions)
</details>

## Known limitations / merchant FAQs

**"Why does this card differ from my Shopify / BC orders count?"**
A few reasons. (1) Multi-charge orders: Shopify orders paid via deposit + remainder, partial captures, or subscription installments produce multiple Viva transactions per order. (2) Authorisation-only flows: a Shopify order with manual capture later doesn't count here until captured. (3) Channel mix: the commerce platform counts orders paid by *any* method; Viva only sees Viva-routed orders.

**"Are 3DS-abandoned attempts in this count?"**
No. Only `StatusId = F` counts. Abandons are `X`, declines are `E` or `M`. To see the full attempt funnel, pair this card with [`viv_decline_rate`](/nerve-centre/kpi-cards/viva-payments/decline-rate) and [`viv_threedsecure_abandon_rate`](/nerve-centre/kpi-cards/viva-payments/3ds-abandonment-rate).

**"Recurring rebills, do those add up here?"**
Yes. Each successful rebill is one transaction. Failed rebills go to declines, retries that succeed flip back to successful and count.

**"Multi-currency, does count work the same way?"**
Yes. Count is currency-neutral. One EUR transaction and one GBP transaction both add 1.

**"Pay-by-link, are those in here?"**
Yes. Pay-by-link transactions are `Type = Capture` once the customer pays the link. They count uniformly with online checkout and POS.

**"Why are POS counts so high relative to online?"**
For physical retail (pharmacy, grocery, food, fashion-flagship), POS volume is structurally 5 to 20x online by transaction count. Online tickets are higher; POS tickets are lower; the per-channel split tells you where to look for throughput pressure.

**"Smart Retry on a failed rebill, does the original failure stay in the metric?"**
The failure is in declines historically (`E` then). When Smart Retry succeeds 3 to 7 days later, the new attempt is `F` and adds to this count. The historical decline doesn't move backward.

**"My JP Morgan acquisition concern, anything affecting transaction counts?"**
No. Transaction recording, status lifecycle, and API behaviour are unchanged post-acquisition.

***

### Tracked live in Vortex IQ Nerve Centre

*Total Transactions* is one of hundreds of KPI pulses Vortex IQ tracks across Viva Payments and 70+ other ecommerce connectors. Nerve Centre runs the detection layer; Vortex Mind investigates the cause when something moves; Ask Viq lets you interrogate any number in plain English.

[Start for free](https://app.vortexiq.ai/login) or [book a demo](https://www.vortexiq.ai/contact-us) to see this metric running on your own data.
