diff --git a/apps/edr-passenger-api/src/modules/reports/reports.service.ts b/apps/edr-passenger-api/src/modules/reports/reports.service.ts index 23f89124a..53579ccba 100644 --- a/apps/edr-passenger-api/src/modules/reports/reports.service.ts +++ b/apps/edr-passenger-api/src/modules/reports/reports.service.ts @@ -960,7 +960,9 @@ export class ReportsService { const isPackage = !!(b as any).package; const effectiveActualMinor = isPackage ? actualMinor * 2 : actualMinor; - const effectiveVarianceMinor = effectiveActualMinor - paidMinor; + // actualMinor is in cents; paidMinor (PaymentIntent.amountMinor) is a Float in full units — convert to cents before comparing + const paidMinorCents = Math.round(paidMinor * 100); + const effectiveVarianceMinor = effectiveActualMinor - paidMinorCents; const breakdown = b.seats.map(s => ({ passengerName: s.passengerName ?? '—', @@ -985,7 +987,7 @@ export class ReportsService { varianceMinor: effectiveVarianceMinor, breakdown, }; - }).filter(r => r.varianceMinor > 0 && r.paidMinor > 0); + }).filter(r => r.varianceMinor > 0); if (params.search?.trim()) { const q = params.search.trim().toUpperCase(); diff --git a/apps/edr-passenger-web/backoffice/src/app/reports/payments/page.tsx b/apps/edr-passenger-web/backoffice/src/app/reports/payments/page.tsx index 7ff4e5247..0261b938a 100644 --- a/apps/edr-passenger-web/backoffice/src/app/reports/payments/page.tsx +++ b/apps/edr-passenger-web/backoffice/src/app/reports/payments/page.tsx @@ -86,9 +86,9 @@ function fmtMinor(minor: number) { return `ETB ${(minor / 100).toLocaleString('en-US', { minimumFractionDigits: 2 })}`; } -// paidMinor from PaymentIntent.amountMinor is a Float stored as full units (not cents) +// paidMinor from PaymentIntent.amountMinor is converted to cents server-side before being returned function fmtPaid(amount: number) { - return `ETB ${amount.toLocaleString('en-US', { minimumFractionDigits: 2 })}`; + return `ETB ${(amount / 100).toLocaleString('en-US', { minimumFractionDigits: 2 })}`; } function downloadCsv(csv: string, filename: string) { diff --git a/apps/edr-passenger-web/backoffice/src/components/layout/Sidebar.tsx b/apps/edr-passenger-web/backoffice/src/components/layout/Sidebar.tsx index 98f76cc18..54a96e330 100644 --- a/apps/edr-passenger-web/backoffice/src/components/layout/Sidebar.tsx +++ b/apps/edr-passenger-web/backoffice/src/components/layout/Sidebar.tsx @@ -66,7 +66,7 @@ const navigationSections: { title: string; items: NavItem[] }[] = [ { name: 'Tickets', href: '/tickets', icon: FileText, permission: PERMS.tickets.view }, { name: 'Boarding', href: '/boarding', icon: LogIn, permission: PERMS.tickets.view }, { name: 'Luggage', href: '/excess-baggage', icon: Banknote, permission: PERMS.bookings.view }, - { name: 'Discrepancy', href: '/discrepancy', icon: Layers, permission: PERMS.seats.manage }, + // { name: 'Discrepancy', href: '/discrepancy', icon: Layers, permission: PERMS.seats.manage }, ] }, {