@php /** @var array $summary */ $s = $summary ?? []; $intl = $s['international_routing_label'] ?? '—'; @endphp @include('partials.html-root-open') @include('partials.head-meta', ['pageTitle' => 'Card transaction history']) @include('partials.desktop-required-notice') @include('partials.workspace-lg-only-wrap-start') @include('partials.activity-drawer')
@include('partials.activity-panel-permanent') @include('partials.app-sidebar') @include('partials.cards-control-panel-callout')

Transaction history

These rows are card authorization events (hotel, travel, fuel, logistics, subscriptions, etc.) — not internal treasury ledger transfers. Use merchant, country, category, and status to reconcile against mandate earnings and operational allocations.

← Card Management
@include('partials.stripe-powered-financial-rail', ['class' => 'max-w-xl']) @if (session('status'))

{{ session('status') }}

@endif @if ($errors->any())

{{ $errors->first('card') }}

@endif @if ($focusTransaction && $focusTransaction->status === \App\Models\CardTransaction::STATUS_SECURITY_REVIEW)

Company · Card expense review

{{ $focusTransaction->merchant_name }}

${{ number_format((float) $focusTransaction->amount, 2) }} {{ $focusTransaction->currency }}

This authorization is in security review. Confirm the expense after you have verified merchant, amount, and routing context. Completing review settles the authorization for tracking and removes the item from your task queue and Needs attention list.

Initiated
{{ $focusTransaction->initiated_at?->timezone(config('app.timezone'))->format('M j, Y g:i A') ?? '—' }}
Category
{{ str_replace('_', ' ', (string) $focusTransaction->merchant_category) }}
Country
{{ $focusTransaction->merchant_country ?? '—' }}
Auth code
{{ $focusTransaction->authorization_code ?? '—' }}
@csrf Security activity
@elseif ($focusTransaction)

Authorization {{ $focusTransaction->merchant_name }} is no longer in security review (status: {{ str_replace('_', ' ', $focusTransaction->status) }}).

@endif @if($card)
Instrument {{ $card->masked_pan }} Cardholder {{ strtoupper($card->cardholder_name) }} Intl routing {{ $intl }}
@endif @if($ledgerStats)

Total movements

{{ $ledgerStats['total_movements'] }}

All authorization rows on file for this card.

Settled

{{ $ledgerStats['settled_movements'] }}

Completed merchant settlement.

In flight

{{ $ledgerStats['processing_movements'] }}

Currently in processing state.

Open pipeline (USD)

${{ number_format($ledgerStats['open_pipeline_usd'], 2) }}

Authorized + processing + security review.

@endif

Using this list

  • Category maps to merchant category codes for operational reporting (fuel, logistics, subscriptions, etc.).
  • Country is the merchant country of record for cross-border routing review.
  • Status follows the authorization lifecycle: authorized → processing → settled (or declined / reversed / security review).
  • Linked operation ties the spend back to a voyage or mandate context where one was supplied.
@forelse(($transactions ?? collect()) as $tx) @php $isFocus = isset($focusTransaction) && $focusTransaction && (int) $focusTransaction->id === (int) $tx->id; @endphp @empty @endforelse
Initiated Merchant Category Country Status Amount Auth code Operation
{{ $tx->initiated_at?->timezone(config('app.timezone'))->format('M j, Y g:i A') ?? '—' }} {{ $tx->merchant_name }} {{ str_replace('_', ' ', (string) $tx->merchant_category) }} {{ $tx->merchant_country ?? '—' }} {{ str_replace('_', ' ', $tx->status) }} ${{ number_format((float) $tx->amount, 2) }} {{ $tx->currency }} {{ $tx->authorization_code ?? '—' }} {{ $tx->linked_operation ?? '—' }}
@if(!$card) No treasury-linked card on file. @else No authorization events yet. @endif
@if($transactions instanceof \Illuminate\Contracts\Pagination\Paginator && $transactions->hasPages())
{{ $transactions->links() }}
@endif
@include('partials.workspace-lg-only-wrap-end')