diff --git a/apps/edr-freight-api/src/modules/warehouses/warehouse-inventory.service.ts b/apps/edr-freight-api/src/modules/warehouses/warehouse-inventory.service.ts
index 7b3d1c2fe..92617db6d 100644
--- a/apps/edr-freight-api/src/modules/warehouses/warehouse-inventory.service.ts
+++ b/apps/edr-freight-api/src/modules/warehouses/warehouse-inventory.service.ts
@@ -891,11 +891,18 @@ export class WarehouseInventoryService {
}> = [];
await this.dataSource.transaction(async (manager) => {
- await this.validateLocation(manager, {
+ const { warehouse, yard, zone } = await this.validateLocation(manager, {
warehouseId: dto.warehouseId,
yardId: dto.yardId,
zoneId: dto.zoneId,
});
+ // The receive location is whatever the operator selected above — never a
+ // hand-typed string. Stamp it on the truck entrance for the GRN/notes.
+ if (dto.truckEntrance && !dto.truckEntrance.warehouseCodeLocation) {
+ dto.truckEntrance.warehouseCodeLocation = [warehouse.code, yard.code, zone.code]
+ .filter(Boolean)
+ .join(' / ');
+ }
for (const bookingId of dto.bookingIds) {
const skip = (reason: string) => {
diff --git a/apps/edr-freight-web/backoffice/src/components/warehouses/ReceiveInventoryModal.tsx b/apps/edr-freight-web/backoffice/src/components/warehouses/ReceiveInventoryModal.tsx
index b55143c93..de41c1a82 100644
--- a/apps/edr-freight-web/backoffice/src/components/warehouses/ReceiveInventoryModal.tsx
+++ b/apps/edr-freight-web/backoffice/src/components/warehouses/ReceiveInventoryModal.tsx
@@ -150,9 +150,6 @@ interface TruckEntranceFormState {
assignedEquipmentNumber: string;
customsSealNumber: string;
declarationNumber: string;
- incoterms: string;
- hsCodes: string;
- itemCode: string;
itemDescription: string;
packagingType: string;
unitCount: number | '';
@@ -162,7 +159,6 @@ interface TruckEntranceFormState {
volumeDimensions: string;
conditionAtReceipt: string;
damagedRejectedQuantity: number | '';
- warehouseCodeLocation: string;
driverName: string;
driverPhone: string;
driverLicenseNumber: string;
@@ -205,9 +201,6 @@ const emptyTruckEntrance = (): TruckEntranceFormState => ({
assignedEquipmentNumber: '',
customsSealNumber: '',
declarationNumber: '',
- incoterms: '',
- hsCodes: '',
- itemCode: '',
itemDescription: '',
packagingType: '',
unitCount: '',
@@ -217,7 +210,6 @@ const emptyTruckEntrance = (): TruckEntranceFormState => ({
volumeDimensions: '',
conditionAtReceipt: '',
damagedRejectedQuantity: '',
- warehouseCodeLocation: '',
driverName: '',
driverPhone: '',
driverLicenseNumber: '',
@@ -239,9 +231,6 @@ const toTruckEntrancePayload = (form: TruckEntranceFormState): TruckEntrancePayl
assignedEquipmentNumber: form.assignedEquipmentNumber.trim() || undefined,
customsSealNumber: form.customsSealNumber.trim() || undefined,
declarationNumber: form.declarationNumber.trim() || undefined,
- incoterms: form.incoterms.trim() || undefined,
- hsCodes: form.hsCodes.trim() || undefined,
- itemCode: form.itemCode.trim() || undefined,
itemDescription: form.itemDescription.trim() || undefined,
packagingType: form.packagingType.trim() || undefined,
unitCount: form.unitCount === '' ? undefined : Number(form.unitCount),
@@ -251,7 +240,6 @@ const toTruckEntrancePayload = (form: TruckEntranceFormState): TruckEntrancePayl
volumeDimensions: form.volumeDimensions.trim() || undefined,
conditionAtReceipt: form.conditionAtReceipt.trim() || undefined,
damagedRejectedQuantity: form.damagedRejectedQuantity === '' ? undefined : Number(form.damagedRejectedQuantity),
- warehouseCodeLocation: form.warehouseCodeLocation.trim() || undefined,
driverName: form.driverName.trim(),
driverPhone: form.driverPhone.trim(),
driverLicenseNumber: form.driverLicenseNumber.trim() || undefined,
@@ -557,38 +545,19 @@ function TruckEntranceFields({
)}
Customs and compliance
-
- onChange({ ...value, declarationNumber: e.currentTarget.value })}
- />
- onChange({ ...value, incoterms: e.currentTarget.value })}
- />
-
onChange({ ...value, hsCodes: e.currentTarget.value })}
+ label="Declaration / Bill of Entry number"
+ value={value.declarationNumber}
+ onChange={(e) => onChange({ ...value, declarationNumber: e.currentTarget.value })}
/>
Physical cargo specifications
-
- onChange({ ...value, itemCode: e.currentTarget.value })}
- />
- onChange({ ...value, itemDescription: e.currentTarget.value })}
- />
-
+ onChange({ ...value, itemDescription: e.currentTarget.value })}
+ />
- onChange({ ...value, warehouseCodeLocation: e.currentTarget.value })}
- />