diff --git a/apps/edr-freight-web/portal/src/pages/MyPortalPage/components/UpcomingWindowsSection.tsx b/apps/edr-freight-web/portal/src/pages/MyPortalPage/components/UpcomingWindowsSection.tsx
index c4bb03ed6..556a96282 100644
--- a/apps/edr-freight-web/portal/src/pages/MyPortalPage/components/UpcomingWindowsSection.tsx
+++ b/apps/edr-freight-web/portal/src/pages/MyPortalPage/components/UpcomingWindowsSection.tsx
@@ -321,6 +321,19 @@ export const UpcomingWindowsSection = memo(function UpcomingWindowsSection({
))}
+ {w.trainNumber && (
+
+ Train {w.trainNumber}
+
+ )}
{w.reference && (
- {windowLabel(w)} · Departs {fmtDay(w.departureDate)}
+ {windowLabel(w)} · Departs {fmtDay(w.departureDate)},{" "}
+ {fmtTime(w.departureDate)}
{(() => {
diff --git a/apps/edr-freight-web/portal/src/pages/bookings/BookingDetailPage/components/BookingPaymentPanel.tsx b/apps/edr-freight-web/portal/src/pages/bookings/BookingDetailPage/components/BookingPaymentPanel.tsx
index 710c6b40f..0f691d6ea 100644
--- a/apps/edr-freight-web/portal/src/pages/bookings/BookingDetailPage/components/BookingPaymentPanel.tsx
+++ b/apps/edr-freight-web/portal/src/pages/bookings/BookingDetailPage/components/BookingPaymentPanel.tsx
@@ -18,6 +18,7 @@ import { invoicesService, type PortalInvoice } from "@/services/invoices.service
import { InvoiceStatusBadge, titleCase } from "@/pages/billing/invoice-ui";
import { paymentStatusLabel } from "@/pages/bookings/booking-display";
import { isUsdOfflineBooking } from "@/pages/bookings/payments/offline-payment";
+import { PayerAccountNote } from "@/pages/bookings/payments/PayerAccountNote";
import { payWindowState } from "@/pages/bookings/payments/payment-drain";
import { PaymentProcessingNotice } from "@/pages/bookings/payments/PaymentProcessingNotice";
import { saveBlob } from "@/utils/download";
@@ -321,6 +322,7 @@ export function BookingPaymentPanel({
onPay={offlineUsd ? undefined : onPay}
paying={paying}
/>
+ {!paid && }
{showConsolidationNote && (
This shipment shares a wagon with a consolidation partner — both
diff --git a/apps/edr-freight-web/portal/src/pages/bookings/BookingDetailPage/components/PaymentMethodModal.tsx b/apps/edr-freight-web/portal/src/pages/bookings/BookingDetailPage/components/PaymentMethodModal.tsx
index f4f1c7c3c..00c6bdd7c 100644
--- a/apps/edr-freight-web/portal/src/pages/bookings/BookingDetailPage/components/PaymentMethodModal.tsx
+++ b/apps/edr-freight-web/portal/src/pages/bookings/BookingDetailPage/components/PaymentMethodModal.tsx
@@ -13,6 +13,7 @@ import { Check, Landmark, ShieldCheck } from "lucide-react";
import { useEffect, useMemo, useState } from "react";
import type { InvoicePaymentFlow } from "@/hooks/useInvoicePayment";
+import { PayerAccountNote } from "@/pages/bookings/payments/PayerAccountNote";
import type { PaymentMethod } from "@/services/payments.service";
interface ProviderOption {
@@ -306,6 +307,8 @@ export function PaymentMethodModal({
)}
+
+
This page updates automatically once CBE confirms your payment.
@@ -449,6 +452,8 @@ export function PaymentMethodModal({
)}
+
+
{/* Provider options */}
diff --git a/apps/edr-freight-web/portal/src/pages/bookings/payments/PayerAccountNote.tsx b/apps/edr-freight-web/portal/src/pages/bookings/payments/PayerAccountNote.tsx
new file mode 100644
index 000000000..73bd4962f
--- /dev/null
+++ b/apps/edr-freight-web/portal/src/pages/bookings/payments/PayerAccountNote.tsx
@@ -0,0 +1,39 @@
+import { Box, Text } from "@mantine/core";
+
+import useAuth from "@/hooks/useAuth";
+
+/**
+ * Red payer-identity warning shown wherever the customer is about to pay:
+ * the transfer must come from a bank account held in the company's registered
+ * name, otherwise Finance will not recognize the payment as paid.
+ */
+export function PayerAccountNote() {
+ const { company } = useAuth();
+ const name = company?.company?.name;
+
+ return (
+
+
+ Pay only from a bank account registered under your company name
+ {name ? (
+ <>
+ {" — "}
+
+ {name}
+
+ >
+ ) : null}
+ . A payment sent from an account under any other name will not be
+ recognized as paid.
+
+
+ );
+}
diff --git a/apps/edr-freight-web/portal/src/services/bookings.service.ts b/apps/edr-freight-web/portal/src/services/bookings.service.ts
index cad07b0c6..b196ed968 100644
--- a/apps/edr-freight-web/portal/src/services/bookings.service.ts
+++ b/apps/edr-freight-web/portal/src/services/bookings.service.ts
@@ -77,6 +77,8 @@ export interface MyBookingWindow {
scheduleId: string;
/** Train schedule reference (e.g. TS-2026-000123), shown on the window card. */
reference: string | null;
+ /** Operational run number (e.g. 8001 import / 8002 export), when staff set one. */
+ trainNumber: string | null;
/**
* The customer's active contract on this lane, when they hold one — enables
* "Book now" to target it. Null for lanes they have no contract on.