mirror of
https://github.com/Tria-plc/edr-platform.git
synced 2026-08-26 18:42:49 +00:00
Payment discrepancy fixes
This commit is contained in:
@@ -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();
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -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 },
|
||||
]
|
||||
},
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user