diff --git a/apps/edr-freight-web/backoffice/src/components/bookings/BookingPricingSummary.tsx b/apps/edr-freight-web/backoffice/src/components/bookings/BookingPricingSummary.tsx
index 814fb9a95..0cf206350 100644
--- a/apps/edr-freight-web/backoffice/src/components/bookings/BookingPricingSummary.tsx
+++ b/apps/edr-freight-web/backoffice/src/components/bookings/BookingPricingSummary.tsx
@@ -1,12 +1,32 @@
import { Banknote, Receipt } from "lucide-react";
import { Divider, Group, Paper, Stack, Text } from "@mantine/core";
+import { useQuery } from "@tanstack/react-query";
+import { api } from "@/services/api";
import type { BookingDetail } from "@/types/booking";
import { SectionCard } from "./detail/SectionCard";
import { detailStyles } from "./detail/booking-detail.styles";
export function BookingPricingSummary({ booking }: { booking: BookingDetail }) {
+ // The booking's own freight invoice: source `booking`, sourceId = booking id
+ // (which `search` matches). Newest first — a re-issue supersedes the old one.
+ const invoiceQuery = useQuery(
+ api.invoices.list.queryOptions({
+ input: {
+ filter: {
+ page: 1,
+ pageSize: 1,
+ sources: "booking",
+ search: booking.id,
+ sortBy: "createdAt",
+ sortOrder: "DESC",
+ },
+ },
+ }),
+ );
+ const invoiceNumber = invoiceQuery.data?.items[0]?.invoiceNumber ?? null;
+
const computed = Number(booking.totalAmount);
// The booking price is computed from the contract and is NOT staff-editable.
// A historical `adjustedTotalAmount` (from before adjustments were removed)
@@ -49,6 +69,7 @@ export function BookingPricingSummary({ booking }: { booking: BookingDetail }) {
+ {invoiceNumber &&
}
{booking.pnrCode &&
}
{lineItems.length > 0 && (