@extends('layouts.admin_layout') @push('styles') @endpush @section('content')

Remvo Settlements

Reconciles fiat collected against USDT received from Remvo.

FIAT · REMVO
Deposits Settlements @if($varianceCount > 0) {{ $varianceCount }} @endif Waitlist
{{-- ══ The headline. One number: what has not turned into USDT yet. ══ --}} @php $oldestTxt = null; if (!empty($pendingStats['oldest'])) { $oldestTxt = \Carbon\Carbon::parse($pendingStats['oldest'])->diffForHumans(null, true) . ' old'; } @endphp
Awaiting settlement
${{ number_format($pendingStats['usd'], 2) }}
{{ $pendingStats['count'] }} {{ Str::plural('deposit', $pendingStats['count']) }} @if($pendingStats['local'] > 0) {{ $pendingStats['currency'] ? $pendingStats['currency'] . ' ' : '' }}{{ number_format($pendingStats['local'], 2) }} collected @endif @if($oldestTxt) oldest {{ $oldestTxt }} @endif
Settled all time ${{ number_format($settledTotal, 2) }} Last batch {{ $lastBatch ? \Carbon\Carbon::parse($lastBatch)->diffForHumans() : 'none yet' }} @if($showTest) Including test rows · hide @else include test rows @endif
{{-- ══ Batches ══ --}} @if($batches->isEmpty())

No settlements yet

Batches appear here once Remvo settles.

@else @foreach($batches as $b) @php $expected = $b->expected_usdt === null ? null : (float) $b->expected_usdt; $reported = $b->amount_usdt === null ? null : (float) $b->amount_usdt; $delta = ($expected === null || $reported === null) ? null : round($reported - $expected, 2); $rows = $covered->get($b->id, collect()); @endphp
{{ $b->batch_id }}
covers {{ $b->period_start ? \Carbon\Carbon::parse($b->period_start)->format('j M H:i') : '?' }} → {{ $b->period_end ? \Carbon\Carbon::parse($b->period_end)->format('j M H:i') : '?' }} UTC · {{ $b->matched_count ?? 0 }} matched @if($b->transaction_count !== null && (int) $b->transaction_count !== (int) $b->matched_count) · they report {{ $b->transaction_count }} @endif
@if($b->status === 'variance') Variance @elseif($b->status === 'matched') Reconciled @else {{ ucfirst($b->status) }} @endif
{{ $b->settled_at ? \Carbon\Carbon::parse($b->settled_at)->format('j M H:i') : ($b->received_at ? \Carbon\Carbon::parse($b->received_at)->format('j M H:i') : '') }}
{{-- Money left to right: collected, what we expect, what arrived --}}
Collected
@if($b->amount_local !== null) {{ $b->currency_code }} {{ number_format($b->amount_local, 2) }} @else @endif
gross fiat
Expected
{{ $expected === null ? '—' : '$' . number_format($expected, 2) }}
our figure
Received
{{ $reported === null ? '—' : '$' . number_format($reported, 2) }}
their figure
@if($delta === null)
not comparable
@elseif(abs($delta) < 0.01)
agrees
@else
{{ $delta > 0 ? '+' : '−' }}${{ number_format(abs($delta), 2) }}
{{ $delta > 0 ? 'they sent more' : 'short' }}
@endif
{{ $b->sol_tx_hash ?: 'no transaction hash' }}
@if($rows->count() > 0) @endif
@if($rows->count() > 0)
@foreach($rows as $r) @endforeach
User Confirmed Credited Fee Settled
{{ $r->username ?: ('#' . $r->user_id) }}
{{ $r->reference }}
{{ $r->confirmed_at ? \Carbon\Carbon::parse($r->confirmed_at)->format('j M H:i') : '' }} ${{ number_format($r->amount_usd, 2) }} {{ $r->platform_fee_usd === null ? '—' : '$' . number_format($r->platform_fee_usd, 2) }} {{ $r->amount_usd_settled === null ? '—' : '$' . number_format($r->amount_usd_settled, 2) }}
@endif
@endforeach
{{ $batches->links() }}
@endif {{-- ══ Not yet settled ══ --}}
Not yet settled
@if($unsettled->count() >= 50) showing 50 most recent @else {{ $unsettled->count() }} {{ Str::plural('deposit', $unsettled->count()) }} @endif
@if($unsettled->isEmpty())

Everything is settled

All deposits are settled.

@else @foreach($unsettled as $d) @endforeach
User Confirmed Collected Credited Fee Due to us
{{ $d->username ?: ('#' . $d->user_id) }} @if($d->is_test) test @endif
{{ $d->email }}
{{ $d->confirmed_at ? \Carbon\Carbon::parse($d->confirmed_at)->format('j M H:i') : '' }} {{ $d->amount_local === null ? '—' : $d->currency_code . ' ' . number_format($d->amount_local, 2) }} ${{ number_format($d->amount_usd, 2) }} {{ $d->platform_fee_usd === null ? '—' : '$' . number_format($d->platform_fee_usd, 2) }} {{ $d->amount_usd_settled === null ? '—' : '$' . number_format($d->amount_usd_settled, 2) }}
@endif
@endsection