Released 9 March 2026
Submit many Purchase orders at once (RTC-53704)
It is possible to submit multiple purchase orders in a single action. The grid that allows submitting multiple orders at once can be opened by clicking the View orders button in the notification shown after creating an order proposal or importing an Excel file with purchase orders, or by clicking the Submit multiple orders button on the main Procurement page. The grid contains the same columns as the main Procurement page and also includes a default filter on status Draft, checkboxes for each row and select all / unselect all (applies to filtered results), a Warning column, visibility limited to stores the user has permission to access.
The breadcrumb reflects how the page is opened:
From Order Proposal notification: Purchase orders affected by Order Proposal.
From Excel import notification: the file name appears in the breadcrumb.
From the main page: Submit multiple orders text appears in the breadcrumb.
All order statuses are visible in the grid for submitting multiple orders. If an order is not in Draft, Edited, or Cancelled status, the warning “Order is already submitted” appears. If the order is Canceled, the warning “Order is cancelled” appears.
When selecting orders and clicking Submit, a confirmation modal shows:
the number of orders that can be submitted,
the number of orders that cannot be submitted.
Warnings are refreshed to reflect the current order status.
After submit, if the page opens from a notification, the user stays on the same page and the grid refreshes. Submitted orders are not visible due to the default “Draft” filter. If the page opens from the main Procurement page, the user is redirected back to the main grid. Clicking an order number opens the order in the same tab. A toolbar notification is shown when the orders have been submitted.
Possible warning messages:
Order contains items that do not belong to the store assortment.
Some of the items cannot be ordered.
Order is already submitted.
Order is cancelled.
Supplier does not use EDI.
Order cannot be delivered to the placeholder store.
Order cannot be delivered by the placeholder supplier.
Order needs to contain at least one active order line.
One of the ordered items is a placeholder.
One of the ordered items is not delivered by the supplier to the store.
One of the ordered items is inactive.
Purchase order confirmation status in the user interface (RTC-48603)
Order lines include an order line status column that shows confirmed, partially confirmed, rejected, or is empty. An empty cell represents order lines without order confirmation. When a purchase order is partially confirmed, the order lines page supports the same actions as a confirmed order, including edit order and receive goods. Goods receipt is possible for partially confirmed orders in the same way as for confirmed orders. When a purchase order is rejected, the order lines page behaves similarly to a completed order, but the Reopen button is hidden and a Cancel order button is available.
All numeric columns for order lines are right aligned. A Supplier order line note column appears next to Order line note, and supplier notes are always marked as updated when present. Supplier notes are also visible in the expanded order line view, below the order line note.
Order lines show differences between submitted values and confirmed values. When quantity, wholesale price, wholesale price in supplier currency, delivery date or discount differs from the submitted value, the updated cell shows a dirty flag. The submitted value appears with strikethrough and is visible after hovering over the confirmed value.
The history section shows only created and last changed, based on audit data. Detailed history moves to a History tab, which displays the full order history in a grid, including confirmation, partial confirmation, and rejection events.
Confirmed and partially confirmed purchase orders share the same columns in th grid. Order despatch advice import is available for confirmed and partially confirmed orders, and is not available for rejected orders.
The purchase orders GET API returns confirmed and partially confirmed orders. Rejected orders are excluded from the response.
Supplier selection when creating a purchase order (RTC-52651)
When creating a purchase order, the list of available suppliers depends on the selected store. The supplier dropdown displays only suppliers that are assigned on item to the chosen store, belong to the store’s group (profile or team), or are available for all stores. That means order can be created only for suppliers who are assigned to deliver at least one item to selected store.
In the modal, the user completes the form step by step. In the first step, the user selects the order type (Replenishment, Preorder, or Internal Transfer) and the store. Once a store is selected, the supplier dropdown and the delivery date field become visible. If the store selection is changed, the previously selected supplier is automatically cleared.
Temporary net price for order line (RTC-51905)
A temporary net price field is available on the purchase order line. The field appears between wholesale price and discount. The system pre-fills the temporary net price when a valid value exists (imported from Promotion Management) and when the value is lower than the wholesale price.
The discount is calculated to match the difference between Wholesale price (from Ordinary price) and Temporary net price (from Promotion): 'Wholesale price' - 'Discount'*'WholesalePrice' = 'Temporary net price'.
When the wholesale price or temporary net price changes, the discount percentage updates automatically. The temporary net price field is hidden when no value was found. Temporary net price is stored in store currency. The value in supplier currency is calculated by dividing by the currency rate. All values are rounded to two decimals. Additional columns for temporary net price and temporary net price in supplier currency are available in the purchase order grid and are hidden by default. Temporary net price values are included in purchase order exports at order line level.
Temporary net price for delivery line (RTC-51903)
A temporary net price field is available on the manual delivery line. The field appears between wholesale price and discount. It follows the same price search and display rules as purchase order lines.
Temporary net price rounds to two decimals after discount change (RTC-56323)
When the discount percent changes, the Temporary net price recalculates and rounds to a maximum of two decimals.
This applies to both the order line details view and the delivery line details view.
Import of temporary net prices (RTC-51904)
A temporary net price created in the Promotion module is imported to the Procurement module and saved in the database. The import is skipped when no matching item id is found. If related store is not found, a placeholder is created. If related store group is not found, the new one is created using the provided reference number and empty name.
Purchase Orders sent to supplier with PDF (RTC-55879)
Purchase orders generate a PDF when you submit them. The PDF is sent to the supplier to ensure the order is received and processed correctly.
Purchase order confirmation (RTC-48602)
There is possibility to import a confirmation of the purchase order using Procurement.OrderConfirmation.Import. This allows to verify whether the vendor has accepted quantity, price, discount and delivery date of purchase order. After the confirmation is sent, the system automatically updates order lines and order statuses:
if confirmed quantity, price, discount and delivery date are the same as submitted or not provided, the order line status will be set to confirmed,
if there are any differences, the order line status will be set to partially confirmed,
if confirmed quantity is equal to 0, status will be set to rejected.
The entire order is marked as confirmed only if all of the order lines are confirmed (there are no discrepancies between the submitted and the confirmed values). When some lines are confirmed and some partially confirmed and/or some rejected then the status of purchase order is partially confirmed. If all lines rejected, the entire order is also rejected.
Purchase order confirmation notification (RTC-53195)
User who submitted the purchase order and when an order confirmation is imported, user receives a notification in the application.
The notification is sent to the user registered as Created By in the latest order history entry where the status changes to Submitted. This ensures that the correct person is informed when their order moves forward in the process.
Wholesale price and discount in purchase order and order despatch advice imports (RTC-53135)
Wholesale price and discount are optional in purchase order and order despatch advice imports.
When an import includes a wholesale price and discount, these values are used for both the purchase order line and the order despatch advice line. A value of 0 is valid.
When an import does not include a wholesale price or discount, the system looks up the wholesale price and discount from the database. Price hierarchy: store, team, profile. If no price or discount is found, the value is set to 0.
For existing purchase order lines, the wholesale price and discount are updated only when values are defined in the imported file. If no value is defined in the import, the existing values remain unchanged.
Item Import logging and audit information (RTC-53257)
The ItemMerger job produces clearer log entries. This supports easier audit and troubleshooting when items merge.
The Item.Item table includes audit fields that show when an item is imported through ItemMerger.
CreatedDate stores the date of import, and CreatedBy - defaults to 'EG Retail' if item is created by the job
Modified fields update when the item changes.
Procurement API - Extension of Packages request with note (RTC-54552)
Get PackagesPerStore request response is extended with orderLineNote on each orderLines object. Value comes from corresponding order despatch advice line note.
Item text in preferred content language (RTC-52199)
Based on language set in Preferred content language on user, we display item text as localized item text in this language.
If the user has language for which we don't have localized item text, we show default item text.
Views in Procurement module, where we show item texts:
Purchase orders
Deliveries
Goods receipt
Items in purchase orders
Fix: order confirmation status (RTC-56434)
When confirming a purchase order through the user interface, purchase order and order lines receive the correct status based on their submitted and confirmed quantities.
Purchase orders with status 'Partially confirmed' can be set to done.
Total ordered quantity value in order lines grid is now right-aligned, consistent with value in each row.
Released 20 October 2025
System - Order confirmation (RTC-48601)
There are tables in the database for storing order confirmation data in the future. Each order line has fields for submitted delivery date, quantity, discount, and wholesale price. These fields are updated when an order is submitted or resubmitted, either through the UI or via third-party import. The 'status' field is removed from order confirmation lines in contracts. Purchase order statuses are extended by 'partially confirmed' status. Order lines have updated statuses: confirmed, partially confirmed, rejected and not confirmed. New flag on order line: HasDiscrepancies (default is false).
System - Fix: import price with Valid To date (RTC-38509)
ItemServiceMerger job is not aborted when importing price from Item Service with Valid To date. Such price is properly saved in database.
Released 30 July 2025
System - Import localized values of item text (RTC-50686)
When importing item from Item Service, the names of the item in different languages are stored in the database.
System - Import stock from Inventory (RTC-51839)
Deserialization error is not thrown even if a JSON file exported from Inventory contains additional data, which is not synchronized with contracts package version in Procurement. StockImport job in ProcurementServiceIntegration package has 'Completed' status.
Released 16 June 2025
External item number (RTC-49644)
External item number (externalItemNo) is exported with other item identifiers in purchase order and goods receipt blob export.
Released 28th of May 2025
Purchase order - Invalid item (RTC-45395)
Orders that contain blocked items have a “warning” at the top of the page. Message present two action buttons: "View items” filters the grid for rows with validation warning and ”Remove items” triggers remove items modal. Then it's possible to remove all items for which ordering is blocked. Button for submit is not visible if there are blocked items in purchase order. The column with exclamation notification is added to easily find invalid items.

View orders affected by order proposal (RTC-39552)
Notification after completed order proposal generation, contains a button 'View orders'. It opens a new page, which shows purchase orders that were affected by this job. History of orders affected by each proposal is saved in database.
Released 9th of April 2025
Cancel purchase order (RTC-47464)
It's possible to set Draft, Submitted or Edited purchase order to Cancelled by importing all order lines with status 'Deleted' or by importing purchase order with status 'Cancelled'. As the result in the first case user can see cancelled order with no lines in user interface and in the second case lines are visible, only status of order is 'Cancelled'.
Documentation in the Swagger is updated.
Fix: order despatch advice confirms submitted order (RTC-47981)
Import of order despatch advice does not fail anymore when order has status 'Submitted'. Status of such order is changed to 'Confirmed' as result of this import.
Do not generate order proposal for deleted store assortment (RTC-46413)
Order proposal is not generated for store assortment that was deleted from register. Existing draft order proposal lines that use such store assortment links are deleted in next order proposal generation.
Released 17th of March 2025
System - Import currency cost rate only (RTC-48051)
Sales rate of currency is not imported. Cost rate is properly imported when it has same identifier as sales rate.
Released 6th of March 2025
Order lines loading performance (RTC-44843)
Added database indexes to improve performance of loading order lines grid. Fixed bug related to assortment codes, which caused slow loading of purchase order details and total values for order lines.
Supplier identifier (RTC-44554)
Get packages per store and get purchase orders per store endpoints are extended by supplier identifier. Examples in the Swagger documentation are extended by supplier context.
Performance of grid loading (RTC-44842)
Added database indexes to optimize fetching order lines in 'Items in purchase orders' grid.
Migration to .NET 8 (RTC-42415)
Procurement Service module is migrated to .NET 8.