BAAS Kit Pro
Back to Blog
Card Issuing

Building a Card Issuing Dashboard: Architecture and UX Guide

Card management interfaces are deceptively complex. This guide covers the key screens, data models, and UX patterns you need to build a card issuing dashboard that works for both cardholders and operations teams.

BAAS Kit ProOfficial Publication February 20, 2026 9 min read

Why card issuing UIs are harder than they look

At first glance, a card management dashboard looks straightforward — show the card, show the transactions, let the user freeze it. But the moment you start building, the complexity becomes apparent. Cards have a lifecycle that includes ordered, shipping, active, frozen, blocked, expired, and replaced states. Transactions have their own status flow — pending, authorised, cleared, disputed, refunded. Virtual and physical cards coexist on the same account. Card programmes have configurable spend controls that your UI needs to expose without overwhelming the user. And behind all of this is a card scheme — Visa or Mastercard — with its own data formats and event types.

The cardholder view: what users need

The cardholder-facing interface should lead with the card itself — a rendered card component showing the last four digits, expiry, and network logo. Below this, a transaction feed with real-time pending transactions clearly distinguished from cleared ones. Pending transactions should show the merchant name, amount, and a 'pending' badge. Cleared transactions should show the final settled amount, any foreign exchange applied, and a transaction category.

Card controls should be accessible without too many taps. Freeze and unfreeze is the most used control — it should be a single prominent toggle. ATM withdrawal limits, online transaction controls, and contactless limits can be nested one level deeper. If your programme supports virtual card generation, the 'create virtual card' action should be prominent and the resulting card details should be copyable with a single tap.

For international users, show the foreign exchange rate applied to cross-currency transactions in the transaction detail view. This is one of the most common support queries — surfacing it proactively reduces contact volume significantly.

The ops and admin view: what your team needs

Your operations team needs a materially different interface from the cardholder. The admin card view should show the full card lifecycle history, the associated account and customer profile, all transactions including declined ones (with decline reason codes), chargeback history, and card controls applied by the user.

Dispute management deserves its own workflow. When a cardholder disputes a transaction, your team needs to log the dispute, capture the reason and supporting evidence, track the chargeback timeline against scheme deadlines, and update the customer. A flat list of disputes with colour-coded status and deadline proximity indicators is far more manageable than a general-purpose table.

Card programme-level controls — BIN management, scheme fee reports, authorisation rate dashboards — belong in a separate section of the admin interface. These are accessed by a small number of people and should not clutter the day-to-day ops view.

Data model fundamentals

A sound card issuing data model separates cards from accounts from users. One user can have multiple cards. One account can have multiple cards (e.g., a primary and a virtual). Cards have their own status independent of the account status. Transactions belong to the card, not the account — though they affect the account balance.

Spend controls are best modelled as a set of configurable rule objects attached to the card. A rule might specify: type (merchant category restriction, velocity limit, single transaction limit), scope (all transactions, online only, ATM only), value, and reset period (daily, weekly, monthly). This structure lets you render a controls UI dynamically from the rule set rather than hardcoding individual toggle states.

Real-time vs. batch data

Card authorisations are real-time events — they happen in milliseconds as a card is tapped. Clearing and settlement are batch processes that happen hours or days later. Your UI must handle both states correctly. Showing a pending authorisation as a cleared transaction, or failing to remove a pending transaction when it expires, creates user confusion and support overhead.

Design your transaction feed to handle status transitions gracefully. A pending transaction that gets cleared should update in place — not disappear and reappear. Amounts can change between authorisation and clearing (common with hotel holds, for example), and your UI should surface this clearly to the user.

B
BAAS Kit Pro
Official Publication

More articles