Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Coming next release

Delivery date calculated with importing purchase order from Excel

(RTC-37526)

Delivery date is not required in modal. If not set, to today's date supplier lead time and supplier transport time are added. If the date for order line is not defined in the Excel file, it is set to the same as the delivery date of the order.

Improvements

AreaDescription
Export

Supplier item no. and supplier model no. (RTC-38265)

Supplier item no. and supplier model no. are included on order line level in export of purchase order.

 Import

Import goods receipt from 3rd party (RTC-37047)

It is possible to import more than one order per file. Importing goods receipt for order created through manual delivery is not possible.

Purchase order

User interface improvements for increased usability (RTC-37041)

'Supplier no.', 'Quantity', 'No. of items' and 'Total' columns are included in purchase orders grid. The abbreviation 'Supp.' has been replaced by the full name 'Supplier'. 'Sign' column is removed from PO grid. The number of ordered items is displayed in 'Quantity' column for draft order and in '# Ordered' after submitting order. A '#' has also been added to the following columns: Delivered, Received, Remaining and Deviation. Store column contains store name and store number. Order points are included in the order line details view in the 'Stock level' section.

Receive goods and delivery grid

Fix: Save check (RTC-37389)

The display of lines in the grids with panel is correct in the following scenario: The user makes changes in the panel, does not save the changes and sets the focus on another line. Save (Dirty check modal) questions appears. The user saves the changes.

...

In 'Stock level' section of order line expanded panel, there are 'Sales past 30 days' and 'Sales next 30 days last year' values that are fetched from Reporting data warehouse. Request is done for specific store of this order. Values are sum of sales quantity in last 30 days and in next 30 days a year ago. Values are fetched for first 100 lines in the grid, and loaded for next ones when new line is being added or when grid is scrolled down. Loading circle is displayed for those fields when fetching data - it does not block other operations in  the application. If there is empty response from Reporting Service (no sales), dash is displayed. If connection with Reporting Service failed, 'N/A' is displayed.

Improvements

AreaDescription
Import

Skip invalid rows in stock import (RTC-37582)

If some rows in processed batch in stock import has invalid row (null SKU or StoreNo), then these rows are ignored in import, but other rows from this file are processed properly.

Order lines

Estimated time of delivery (RTC-35080)

On confirmed and done statuses of purchase order there is 'Estimated time of delivery' column in order lines grid. Date displayed there is date of order confirmation + transportation time on supplier + lead time supplier. If lead time is set per item on item-supplier relation, this value is used instead of lead time supplier. If value is not defined in Item Management, it is treated as 0 days. Export to blob contains this value per order line.

Supplier discount not required (RTC-37382)

When adding new item to purchase order, if there is no store price found, both wholesale price and supplier discount are prefilled with 0. Supplier discount field is not required and can be empty - when saving changes on order line, after clicking button or using keyboard shortcut, empty input field is automatically filled with 0.

Item search (RTC-30811)

When looking up items using item search new fields in the grid are present, and it's possible to reorganize order of columns in the grid, and sort the output. Grid is scrollable horizontally when multiple columns are added.
Default columns: GTIN, Name, Brand, Supplier name.
Optional columns: Ext. model no., Item number, Manufacturer, Quantity in supplier package, SKU, Sub-supplier, Supp. item no., Supp. model no., Supplier number.

Fix: Item search performance (RTC-38256)

There is no timeout when searching for item in item search (when adding order line to the order). Improved performance of lookup for item attributes used to filter item search results.

Order proposal

Supplier and store attributes (RTC-36027)

Order proposal can be generated only for stores with 'Replenishment' flag set to true and suppliers with 'Replenishment' and 'Generate order proposal' set to true. Additionally, store or supplier cannot be inactive (or placeholder). Stores and suppliers that do not match those rules, are not displayed in the dropdown list when creating new order proposals.
If the supplier has 'Free freight' value set, its value and supplier currency are displayed in the purchase order grid in the 'Free shipping limit' column, which is hidden by default. In the order lines grid, if  thetotal price in supplier currency is below the free freight limit, there is warning above the grid with information how much remains to reach the free freight value. There is also a link that redirects to the supplier in Item Management register. When the total equals or is above the free freight limit, warning above grid is not displayed.

Purchase order

Fix: Dropdown and delivery status filter (RTC-37463)

In modal for new purchase order or manual delivery, all records are can be found in store or supplier selection dropdown by scrolling down on the list (next 100 records are loaded after scrolling to the bottom of the list).
It is possible to filter on delivery status in the purchase order lines view.

System

Fix: Moving and selecting columns in grids (RTC-36940)

When moving column from scrollable part to not scrollable part column position is saved after refreshing page. The column selection panel is visible in full when the bottom bar is moved.

...

Fix: Validation of required supplier no and supplier GLN is removed. It is possible to import a file that has only two pieces of information: quantity and item identifier (SKU, GTIN or item number).

Improvements

AreaDescription
Goods receipt

Number of items received equal to zero (RTC-36695)

Delivery line can be counted with quantity 0 and then can be submitted. It is possible to import order despatch advice line with quantity 0 when order line exists. When order line does not exist order despatch advice line it is not created.

Fix: Values on 'Receive goods' page after leaving it (RTC-36128)

Values on 'Receive goods' page (when receiving from purchase order without import of order despatch advice) are properly displayed in grid and panel after leaving page or refreshing it. If counting on this page was started, and then ordered quantity of order line is changed, after opening 'Receive goods' again, grid shows all lines as 'Not counted', with updated order line remaining values that are displayed in 'Order' column.

Order lines

Stock level displayed when creating new line (RTC-37167)

Stock level section in panel (with 'Ordered' and 'Available quantity' values) are visible when adding new order line to the purchase order.

'In order' value update after removing order line (RTC-37172)
'In order' field in Manual delivery/Purchase order lines view is calculated based on non deleted lines of the same item in the same store in Submitted, Edited and Confirmed Purchase Orders. Value is properly updated after removing order line.

Purchase order

Supplier email for purchase orders (RTC-36340)

Email when submitting or resubmitting order is pre-filled using supplier's email for purchase orders, or by the email that was inputted in previous submit of this order.

...

  • PurchaseOrder - used to receive orders for which there is no Order Despatch Advice
    • temporary requirement - all goods receipt lines in this type of import must have same order identifier (no support for receiving lines from multiple orders in one goods receipt)
    • order identifier and order line number are required
    • store identifier is not used
    • supplier identifier is needed only when using supplierOrderNo as orderIdentifier
    • imported only when order was found and has status Confirmed or Done - no support yet for automatic approval of draft and submitted orders, and no support for creating new orders with this import
    • packageIdentifier and packageLineNo should not be sent
    • order line can be received multiple times, value is added to delivered quantity
  • Package - used to receive orders for which there are Order Despatch Advice imported
    • orderIdentifier, orderLineNo, packageIdentifier, packageLineNo are required
    • possible to receive package with lines from multiple orders, or multiple packages within one goods receipt
    • each package line (order despatch advice line) can be received only once (as in user interface)
    • store identifier is not used
    • supplier identifier is needed only when using supplierOrderNo as orderIdentifier
  • ManualDelivery - used to receive items for which purchase order was not created.
    • new order is created for each supplier, with status 'Done'
    • orderIdentifier, orderLineNo, packageIdentifier, packageLineNo cannot be sent
    • store and supplier identifier are required

Improvements

AreaDescription
Import

Import POSLogs from multiple stores and workstations (RTC-37024)

POSLog import includes RetailStoreId and WorkstationId, so duplicate validation does not happen when we receive POSLog with same SequenceNumber from multiple stores and workstations. In case when new purchase order has to be created, its External Order No. is in format 'POSLOG-RetailStoreId-WorkstationId-SequenceNumber-SupplierNo'.

Order lines

User interface improvements (RTC-36402)

Supplier discount is displayed in order line in grid and in PDF properly when it has some decimals. Red validation message is displayed when creating order line but discount input is empty. Loading circle is displayed when adding new order line (between choosing item in item search modal and new line appearing in the grid).

Order lines and delivery lines

Import total supplier discount from Item Service (RTC-35004)

Total supplier discount is a sum of negative discounts based on wholesale price defined in Item Management. This value is imported to Procurement and displayed during adding new order or delivery line. If in Item Management the discount based on the wholesale price will have only positive values or negative values will sum to something less than -100% (e.g. -102%) then we prefill 0 in Procurement. If an item has no price defined, nothing is prefilled.

When adding order or delivery line, 'Wholesale price' is prefilled with 'Net cost' value from price calculation, which already contains supplier discount. This will be changed and 'Wholesale price' will be properly filled with 'Wholesale price in supplier currency' in RTC-34652.

Procurement API

API for purchase orders with given item and given store (RTC-36258)

Endpoint (/api/gateway/PurchaseOrders/[storeNo]/orderedItem) in Procurement Service returns orders for the given item and store with the following statuses: Submitted, Confirmed, Edited and Done. Draft and Cancelled purchase orders are not returned.

Purchase order

Fix: Order created from InStore App (RTC-36265)

Orders created from InStore App are created for correct suppliers in Procurement as supplier received in POSLog is properly identified by supplier number. Handling of InStore App goods receipt for item that was not in order is adjusted to new version of POSLog.

Fix: Import order from Excel (RTC-35004)

Delivery date is set properly when creating orders from Excel file. When importing an order via an Excel file, a separate order is created for each supplier even if the supplier's GLN is not defined in the database (it is null). If the user enters a line for which no supplier-item relationship exists, the main supplier will be selected during order creation.
In PDF file, before submitting the order, order date is displayed as today date.

Stock information in order line details (RTC-35861)

New column appears in manual delivery details, in purchase order lines, and in items in delivery called "Available quantity" displaying current stock of the selected item in selected store. Field is also visible in order line details and in manual delivery line details.

Receive goods

Backorders (RTC-35021)

Backorder flag on item level is imported from Item Service to the Procurement Service. If there is an item in a purchase order that does not allow back orders, after first goods receipt, order line delivery status is set to Delivered, even if not all ordered items have been delivered (Remaining is set to 0 and deviation is set).

System

Fix: Date filter (RTC-35746)

It is possible to filter by date.

Store information (RTC-35622)

Store import is extended by import of store address.
Store address is displayed in the PDF purchase order confirmation.

Stock import job (RTC-36336)

StockMerger job is replaced by StockImport job, which imports stock changes published by Inventory Service, without use of staging in database. This improves performance of import, especially when a lot of data is exported. Validation and placeholders logic is removed. Still, stock info older than the one we already have, is not imported. Database is extended with all other stock fields, including 'Available quantity'.

Default currency of country (RTC-36059)
Import of currency rates from Item Service includes IsDefaultForCountry flag.

Import of order points from Item Service (RTC-35084)

Common order points for item are imported as a part of ItemChanges import. Store order points are imported as a part of new ItemStoreOverride import.

...

Order proposals are created every night. Those orders can be recognized by checkbox in 'Order proposal' column in Purchase orders grid. Order proposal condition is based on sum of stock in store, existing draft proposals and remaining quantity in submitted, edited and confirmed purchase orders. If condition is below 1 (min. order point) new order proposal is created with quantity, after which sum of above values is 10 (max. order point). Order proposals are created for main supplier of item. Proposals are not created if item has no main supplier or it never was in stock in specific store. If draft proposal exists, and quantities in other orders or stock status has changed since previous job execution, quantities in proposal are updated to match max order point. If proposal is not needed anymore, it is deleted by job, and if this was the only line in order, order is deleted as well.
Job executions contain log with count of created, updated and deleted proposal lines as well as sum of those.
Totals for purchase order is now correctly calculated after import of purchase order or order despatch advice.

Improvements

AreaDescription
Deliveries

Fix: Receive many lines (RTC-35026)

When there are more than 100 lines to receive, all of them are affected after using 'Select all' and 'Confirm items' buttons (before it affected only first 100 lines). 'Select all' selects only the lines which match current filter in the grid.
Redirection to purchase order is correct after receiving goods when there was only one line and it was fully received.
New row is properly visible in grid in background when page is in loading state after creating new order.

Import

Delivery status after import of order despatch advice (RTC-34093)

If the user imports order despatch advice by 3rd party to an order on which the receive goods have not yet been executed, the imported delivery has the status 'Not received'. After importing order despatch advice into 'Done' order, the delivery status is set to 'Partially received'. It's not possible to receive goods if external order despatch advice exist for the order. 'Receive goods' button is hidden.


API contract for Goods receipt from 3rd party (RTC-35911)

Business rules and file contract for import of goods receipts are available in Swagger. There is also example of files with required data and examples for each goods receipt type.


Remaining quantity in order despatch advice import (RTC-30937)

Remaining quantity of order despatch advice line is supported in import from 3rd party. This is an optional field. By default it is null - after receiving such order despatch advice line, remaining of order line is reduced by value that was expected to be delivered in this order despatch advice line (deviation is set if we received other number than expected).
If remaining quantity of order despatch advice line is imported - after goods receipt this value is set as remaining quantity of order line.
When receiving multiple order despatch advice lines for same order line in one goods receipt - remaining quantity on order line is set to value from order despatch advice line with latest shipping date.

Items in purchase orders

Fix: Filtering by delivery status (RTC-34747)

Active deliveries (all except Done and Cancelled) are displayed in the grid by default. Filtering by delivery status works properly. Any status can be selected.

Purchase order

Order confirmation print (RTC-35332)

PDF file with order confirmation is redesigned. The file can be downloaded using 'Print order' button which is available when order has status 'Submitted'. The file contains purchase order number, order submit date, delivery date, store name, supplier number, name and address, order note and list of order lines - SKU, Supplier item number, Description (item text), Quantity, Unit price, Discount, Amount and Total amount of the order. The order lines heading is continued on the next page when the lines do not fit one page, and the page number is displayed in the page corner.

 

Change of buttons texts (RTC-34646)

Procurement management is displayed in side menu with label 'Procurement' and links are placed in 'Purchasing' section. 'Items in purchase orders' is placed right below 'Purchase orders' in menu. "New order" button is changed to "New purchase order". "Edit date" button is changed to "Edit delivery date". Overview section in overview tab is renamed to "Details".

Fixed issue which led to no possibility to submit goods receipt from purchase order (delivery of order without import of external order despatch advice).

System

Import of stock status from Inventory module (RTC-34425)

There is a 'StockMerger' job in ProcurementServiceintegration package. By default, in runs every 2 minutes. The following information about an item from a given shop is stored in the Procurement database: id of the item, id of the shop, stock quantity and stock update date. This information is taken from the 'Inventory' module. A maximum of 3 decimal numbers are stored in the database for stock quantity. If the number exported from Inventory has 4 decimal places, the last digit is ignored. If more - there is a validation. If any imported store or item does not exist, placeholder is created. If any of incoming store identifiers does not contain storeNo and placeholder must be created, exception is thrown. If incoming stock date is before stock entry date, there is no update in the Procurement db. At least one identifier is required: StoreNo or GLN for store and Sku or GTIN for item.

...

No data is uploaded for now. Request only checks whether file contains valid columns.

Improvements

AreaDescription
Deliveries

Goods receipt from InStore App (RTC-33711)

When the user performs a manual goods receipt in the InStore App and receiving items from different suppliers, a separate package and a separate purchase order is created in Procurement for each supplier.


Fix: Receiving order (RTC-34437)

In case of receiving order which has no order despatch advice, after clicking 'Receive goods', but then receiving order through InStore App, remaining values are properly updated. Numbers counted but not submitted in user interface are cleared. After clicking 'Receive goods' again in user interface, remaining values are correct. Order with goods receipt (first done or just started) in user interface but then done in InStore App is possible to set to done.

Deliveries lines and order lines

Fix: Total price (RTC-33465)

Values in side panel updates properly when user navigates through received delivery lines. 'Total price' and other values updates properly after editing delivery lines or order lines.

Export

Identifier in goods receipt export (RTC-33820)

ExportGoodsReceipt contract and example in the Swagger documentation is extended by GoodsReceiptId field. Id field which was used before is marked as deprecated. Identifier is exported as both Id and GoodsReceiptId as part of GoodsReceipt export.


Purchase order and goods receipt (RTC-34980)

In purchase order and goods receipt exports supplier section is extended by EDI flag which can have the value 'True' or 'False'.

Export status of purchase order lines (active or deleted) (RTC-33819)

There is a field in the Procurement.PurchaseOrder.Export contract in order Lines section named 'orderLineStatus' with two possible values: Active and Deleted. This information can be found in the schema and examples in the file export documentation in the Swagger.

Deleted lines are exported when the status of purchase order is set to submitted and after the following operations for an order with confirmed status:

  • Edit purchase order line
  • Receive goods
  • Delete purchase order line
  • Cancel manual delivery
  • Delete order despatch advice line
  • Update order despatch advice line
  • Cancel purchase order
  • Delete order line
  • Set delivery date for order
  • Set delivery date for order lines
  • Set purchase order to done
  • External import of purchase order or order despatch advice
Goods receipt

Fix: Set order to done after new goods counting was started (RTC-35055)

In case of receiving order which has no order despatch advice, after submitting at least one goods receipt, and then starting counting process again (Receive goods button in order), it is still possible to set such order to done. After setting order to done, values counted but not submitted in 'Receive goods' page are ignored.

Import

Fix: Creating packages when importing order despatch advice (RTC-34078)

If the user re-imports order despatch advice line but does not enter a package number, the line will be updated and a new package will not be created.

Order status after import of order despatch advice (RTC-34048)

Existing purchase orders (with no placeholders) are set to 'confirmed' after import of order despatch advice for this order.
For import of internal transfer by order despatch advice (from Inventory Service):

  • All despatches (without placeholders) are added to existing internal transfer order with matching supplier and store, status 'Confirmed' and delivery status 'Not received',
  • All despatches with placeholders are added to existing internal transfer order with matching supplier and store and status 'Draft',
  • If such order does not exist, new internal transfer order is created with proper status.
Import/Export

Delivery date on order line level (RTC-28994)

Delivery date of order line is a part of order line in contract for import and export of purchase order. Value is not required in import - value from order level is used if order line delivery date not in file.

Purchase orders (RTC-33420)
3rd party import of purchase orders is extended by UserDeliveryDate and export by 7 dates: userDeliveryDate, estimatedTimeOfArrival, estimatedTimeOfDelivery, confirmedTimeOfArrival, confirmedTimeOfDelivery, confirmedDate and receivedDate. The export of purchase orders is extended by the case where the user does receive goods via a button in the user interface.

Purchase order 

Fix: 'Line no' column (RTC-33825)

Line no column can be moved/resized/sorted for 'cancelled' and 'done' order statuses in the order lines grid.

Fix: Dates display (RTC-35085)

Date format depends on the region selected by the user.

Purchase orders and manual delivery

Order line registration (RTC-33982)

Adding new items for a new purchase order or for a manual delivery is possible using the keyboard navigation only. There is an 'Add item' button at the bottom of the page. After click on this, modal with item selection opens and it can be closed by ESC. 'Add + next' and 'Add' have the keyboard navigation: 'SHIFT + ENTER' and 'ENTER'. 'Add item' button is hidden when draft line is not saved and reappears after adding a new line. When adding a new line, an item can be deleted via the 'x' button next to its name. 'Stock Level' section with information about ordered items appears after clicking 'Add' or 'Add + Next'.

System

New framework for user interface (RTC-33414)

Procurement management is upgraded to framework versions Angular 16 and Kendo 12.
Column picker is dropdown list with search for columns. Grid is filtered immediately after filling filter input.

...

In addition, the 'SKU' column is visible in all views in the Procurement module where items appear (delivery lines, order lines, goods receipt lines).

Improvements

AreaDescription
Deliveries

Received date (RTC-33843)

Date of first submitted goods receipt of order or package is properly saved on order and package levels in database. Values are visible in Deliveries grid. Date is not updated after next goods receipts of same package or order. When receiving goods with InStore app, this date is the date when goods receipt was submitted in app.


Edit or submit delivery (RTC-32952)

If the order has status draft, edited, submitted or cancelled, editing and submitting delivery is not possible. The user sees the information: 'Unable to edit/submit delivery. This order is missing information for supplier or items, and order can not change status until this information is updated.'

Import

Import file with thousands of rows (RTC-34237)

StagingImport job does not fail when one imported file contains over 4000 of JSON rows.

Procurement API

Order number in 'Packages per store' response RTC-33988

"Packages per store" endpoint is extended with orderNumber value on orderLine level, so it is known which order the line from the package belongs to.


Get packages per store (RTC-32952)

API for requesting packages per store does not return packages containing draft, edited, submitted or cancelled orders, but if there are multiple orders in the package and at least one of them has a confirmed status, the package will be returned.

Purchase order

Dates (RTC-27773)

The following dates are visible at order level:

  • Requested time of delivery - defined by store/employee when creating order. This is the same as delivery date. It can be changed using the 'edit date' button in the 'order lines' tab. Editing is not possible in the 'overview' tab.
  • Estimated time of arrival - time when order arrives to the final port (ship, airport, train comes to final destination). Defined by supplier on 'overview' tab.
  • Estimated time of delivery - calculated based on transport time and lead time specified by the supplier. These values are added to the date determining when the order was confirmed. Editing is not possible.
  • Confirmed time of arrival - provided by supplier in 'overview' tab. Time when order arrives to the store.
  • Confirmed time of delivery - defined by supplier in 'overview' tab when order is ready to be sent.
  • Received date - registered when goods receipt is done, not editable.

For draft, submitted and edited statuses, only requested time of delivery/delivery date and estimated time of arrival are displayed. For the other statuses, all dates are visible (if defined).

Order lines: Export to Excel (RTC-33758)

Order lines can be export to Excel by 'Export to Excel' button. 'View purchase orders' permission is needed. User can narrow results by applying filters in columns in the grid. Exported fields are:

  • SKU
  • GTIN
  • Item number
  • Supplier no.
  • Supplier GLN
  • Quantity
  • Wholesale price
  • Supplier discount
  • Order line note
  • Delivery date
System

Database compatibility level (RTC-32039)

Compatibility level on databases is set to 150.

Import of currency rates (RTC-30891)

Currency cost and sales rates are imported from Item Service.

Database maintenance job (RTC-32288)

There is a 'ProcurementServiceJanitor' job in ProcurementServiceintegration package. By default, in runs once every night. If there were any changes in data, it rebuilds index on updated table in database. This results in a reduction of the database size and improves performance.

...

Import of suppliers from Item Service works properly when GLN is changed between two suppliers within one import.

Improvements

Module Description
Deliveries

Fix: Order dispatch advice import and purchase order validation (RTC-33997)

'Received' and 'Deviation' is properly displayed after creating or editing quantity of order dispatch advice line.
It is possible to create purchase order when store and supplier have no GLN value.
Store is created without GLN if its value imported from Store Service is duplicate.

Delivery and Purchase order 

Pcs unit (RTC-31023)

Import of items from ItemService is extended by unit. For 'pcs' unit only whole numbers are allowed when adding and editing order lines or delivery lines. The same for panels in receive goods view and delivery view.

Internal transfer

Create 'internal transfer' purchase order in user interface (RTC-32775)

'Internal transfer' order type is available when creating new purchase order in user interface. When this type of order is selected, supplier dropdown shows only suppliers which GLN is the same as GLN of any store in Store Management. Any item can be added to this order - supplier-item relation is not needed and its placeholder is not created. Goods receipt for such order works same as for other order types. Purchase order is exported with 'InternalTransfer' order type. GLN of store must be unique. It is not possible to create order for store and supplier with same GLN.


Create 'internal transfer' manual delivery (RTC-32906)

'Internal transfer' order type is available when creating new manual delivery. Same as in purchase orders, when this type of order is selected, supplier dropdown shows only suppliers which GLN is the same as GLN of any store in Store Management. Any item can be added to this delivery - supplier-item relation is not needed and its placeholder is not created. It is not possible to create delivery for store and supplier with same GLN. Additionally, 'Preorder' order type can be selected for manual delivery.


Import from Inventory module or 3rd party (RTC-32907)

Purchase order and order despatch advice imports from 3rd party are extended with 'internal transfer' order type and 'GLN' as store identifier.
'Internal transfer' can be created only when supplier is internal (its GLN is the same as GLN of any store in Store Management). Supplier and store GLN cannot be the same.
Order identifier is required in order despatch advice import only if order is not internal transfer. For internal transfer, first draft internal transfer order created today with matching sender store and recipient store is used. If no such order exists new draft order is created. In case when multiple such orders exists, first one is going to be fetched. Order line number is ignored. When next internal transfer comes for same item, existing order line quantity is updated.

Purchase order

Status done (RTC-31607)

It is possible to change status of the order from confirmed to done after receiving all expected deliveries. The set to done dialogues are different based on whether or not there is a remaining value.
If remaining value, user is asked what to do with this value (add as deviation or edit order quantity to match what is delivered).
If there is no remaining value, dialogue will show just the summary of the order. If there are active deliveries, dialogue that all deliveries must be processed before order can be set to done is shown. When the 'Set to done' button is clicked, the purchase order is exported. If the order has no deliveries, setting to done is not possible. Importing order despatch advice into an order with a done or cancelled status is blocked.


Fix: Set supplier order number (RTC-33464)

Supplier order number value is properly saved when confirming order.


User experience when creating order (RTC-33669)

Browser focus is on store dropdown when creating purchase order. Focus is on item input while entering purchase order. Supplier discount is always prefilled with '0' in panel for adding item to order. After adding item to order, focus on back to item search input. Only the just created order line row is expanded in order lines grid (other expanded lines are closed without saving changes). After saving changes in order line in submitted order, status 'Edited' and 'Resubmit' button are properly displayed. Order line note is wrapped when too long in read-only expanded order line (on statuses confirmed, cancelled, done).


Fix: Order line from manual delivery (RTC-33471)

Order lines that were created via manual delivery are visible in the user interface.

Delivery date (RTC-30947)

It is possible to set past delivery date when creating or editing order or order line.

System

External store number (RTC-31281)

StagingMerger in ProcurementServiceIntegration works properly when store has external number according to new rules (unique in company, not unique globally). StoreIdentifier used in imports has no longer externalStoreNo field. Field StoreNo is now required. New stores created through import have externalStoreNo set to null.

...

It is possible to generate PDF file by 'print order' button with order confirmation when status of order is submitted. The file contains the following information: purchase order number, order date, customer number, vendor, to which shop the order is sent ('Ship to' field), e-mail address ('Billing'), order note, GTIN (Item number), item name ('Description'), quantity of product ('Qty'), total price for each item and price for whole order.

Improvements

Module Description
Deliveries

Receive goods with deviation (RTC-28803)

Side panel in delivery view shows quantity of sent items and input for received quantity (max 3 decimals). After save, deviation is calculated, grid is updated and order despatch advice line has status 'Counted'. Focus is automatically set to the received field in the panel after opening panel or changing selected delivery row, so value can be entered directly. Keyboard can be used to undo changes (Ctrl+Z), save (Enter), save and move to next line (Shift+Enter). Arrow keys can be used to change line selection. Panel can be closed and opened using button in its corner or 'Space' and 'Esc'.
Each time side panel form is updated and changes are not saved, changed value is bold and modal appears when changing focus to other row.
When none or more than one rows are selected, price panel cannot be used (message displayed in panel).
User must have 'Manage deliveries' permission to see panel.


Manual delivery (RTC-29687)

It is possible to create a new delivery manually – delivery for which there was no purchase order. It can be created using button in Deliveries page and is displayed as package and order delivery in status 'Draft'. It is created alongside with new purchase order in state 'Confirmed', so all changes on manual delivery cause export of order. Such order cannot be edited through 'Purchase order' view. A package code is created for all order despatch advice lines in manual delivery when adding the first line. New despatch cannot be created for order created through manual delivery. If any line selected when creating new manual delivery, then field in form for store is filled with value from selected line. 'View deliveries' permission is needed to view manual deliveries.

'Manage purchase orders' permission is needed to create and edit manual delivery.


Submit delivery (RTC-30255)

It is possible to submit delivery which was created through 3rd party import. This can be done using 'Submit delivery' button in delivery page. Before submitting delivery, there is a modal with information about delivery (submitted quantity, amount, deviation). It is possible to add a receive note. After submitting, counted lines (in displayed package or order) status changes to 'Received'. Submission does not affect the 'not counted' lines. If all lines are 'Not counted', submit isn't possible. Received line cannot be edited and resubmitted. When submitting, statuses of relevant orders and packages change either to 'partially received' or 'done' depending on other delivery lines in order/package.

Delivery status is added on purchase order level. Whether a purchase order can be edited depends on the 'delivery status'. Status 'Done': only new lines can be added. After this process, the delivery status changes to 'Partially received'. Status 'Partially received' and 'Not received': new lines can be added. Delivery status does not change. Handling of delivery status 'In progress' (counted, not submitted) or 'Draft' (manual delivery) - not in scope. Removal of order lines is only possible if the purchase order does not have any order despatch advice lines and delivery status is 'Partially received' or 'Not received'. Editing order line - not in scope.


Goods receipt from purchase order (RTC-25796)

There is 'Receive goods' button in purchase order with status 'Confirmed'. It opens order deliveries page if there is order despatch advice imported from 3rd party. Button is hidden when all purchase order lines are delivered.
When there is no order despatch advice for this order, button opens 3rd level page 'Goods receipt'. Grid shows list of purchase order lines with remaining delivery (lines that are not fully delivered, with 'Remaining' quantity higher than 0. Grid columns are 'Order' (what is remaining for this line), 'Received' (how many items were counted now) and 'Remaining' (what we expect to come in future delivery). Those values can be set using side panel. Lines can be multiselected and counted as fully delivered using 'Confirm items' button. After submit, goods receipt is exported, delivered lines are shown in Deliveries tab. Delivery status of order and order line as well as remaining quantity and deviation are updated.
Remaining quantity and status are properly updated when editing order line which had some deliveries before and when line with no deliveries is deleted from order. Edit of order line also affects a goods receipt which is started but not yet submitted (goods receipt always show lines which have remaining delivery).

Export

Goods receipt (RTC-30254)

Goods receipts are exported to blob as JSON, with content as specified in Swagger. Goods receipt is created after submit of delivery.

Order lines

'In order' column (RTC-26264)

'In order' column in order lines tab in purchase order indicates quantity of items in all purchase orders that are not deleted and have status submitted, edited or confirmed and are from the same store as the purchase order.


Filtering and delete button (RTC-31614)
Order line can be deleted when order has multiple order lines but filtering returns only single line.

Procurement API

Use order line delivery date in API for order info for item for given store (RTC-30953)

Order lines in API response are grouped by delivery date on order line level instead of date on order level.

Purchase order

Decimal quantity (RTC-26261)

It is possible to enter, import and export decimal quantity of item in purchase order. Quantity can have 4 decimals and be between 0.0001 and 999999999.9999.


Edit delivery date of item in confirmed purchase order (RTC-30708)

Delivery date can be edited when purchase order has status 'Confirmed'.


Line number (RTC-28425)

Line no. is identifier of order line unique within each purchase order. Column is added to purchase order lines grid. When adding items to purchase order, it is automatically generated as a next available number, starting from 1. One item can be added to purchase order multiple times, as another order line with other line number (in user interface and import).
LineNo is required in 3rd party import of purchase order and order despatch advice (item identifier is also still required). It must have integer value between 1 and 9999. It is used to identify line when updating order line and to assign order despatch advice lines to order lines. When lineNo not found in purchase order - new order line is created. When lineNo exists but don't match item identifier - new line is created with generated lineNo above 10000 and item as in imported file (not possible to change item in existing order line). Same when lineNo is duplicated within one imported file.


Change status of purchase order when changing delivery date (RTC-30955)

After changing delivery date of 'Submitted' order or order line, the status of purchase order changes to 'Edited'.

System

Migration to .NET 6 (RTC-28897)

Procurement Service module is migrated to .NET 6.


Item name and item group name (RTC-31164)

Item names with up to 255 characters can be stored in the Promotion and Procurement databases. The same applies to item groups stored only in the Promotion database. When the item names are too long when importing OrderDespatchAdvice or PurchaseOrder via a third party, a validation error will appear.


Suppliers export/import (RTC-30619)

Export of suppliers from Item Service and import to Procurement is extended by 'VAT number', 'Lead time', 'Reference' and 'EDI' fields.


Import of items performance (RTC-28310)

Performance of import of items and supplier-items is improved.

...

Package details view is opened after clicking package number in "Packages" tab in "Deliveries". Page shows contents of the package. Each line has its order number (package can contain items from multiple purchase orders). "Order no" links to order delivery details page.
Order delivery details view is opened after clicking order number in "Order" tab in Deliveries. Page shows contents of the order that is being delivered. Each line has its package number (order can be delivered in multiple packages). "Package no" links to package details page.
Both pages breadcrumbs show package or order number, supplier name, number of lines and quantity of items in this package or order delivery.

Improvements

ModuleDescription 
Deliveries

Mark items as counted without setting deviation (RTC-28850)

It is possible to mark item lines as counted using 'Confirm items' button on bottom of the delivery details page. Item lines can be selected by using mouse, Control and Shift buttons. There is also a 'Select all' button. After clicking 'Confirm items' button, selected lines have status 'Counted', and 'Received' column has the same value as 'Order'. Deviation equals zero.
'Manage deliveries' store permission is required to count items.

Import

Order status (RTC-27171)

"Order Status" is optional field in purchase order import from file. Value can be set to 'Draft' (default) or 'Submitted'. "Submitted" orders import fails when order uses placeholder store/supplier/item/supplier-item. Draft orders can be submitted, but submitted order cannot be set as draft. Other statuses are not supported. Purchase order export is triggered after creating/updating submitted order or submitting draft order through import.

Procurement

Supplier model/Item number: (RTC-26263)

Supplier number and Supplier Model number imported from Items to Procurement.


Purchase orders and deliveries: (RTC-26263)

Columns added to Procurement module, displayed in Purchase Orders and Deliveries.

Purchase order

Order type (RTC-26548)

"Order type" must be set when creating new purchase order: "Replenishment" or "Preorder". Value is displayed in column in "Purchase orders" grid. Order type of existing purchase order cannot be changed (in user interface and import API).


Confirm (RTC-25795)

'Edited' and 'Submitted' orders can be confirmed using 'Mark as confirmed' button on bottom of purchase order page. To be confirmed, order must have at least one order line, and store/supplier/item/supplier-item cannot be placeholder. After clicking button, 'Confirm order' modal appears, where 'Supplier order no.' can be defined (not required, unique within supplier).
By default, confirmed order is not editable. Page can be switched to editable mode and back using 'Edit order' and 'Finish editing' buttons. Order lines can be added, edited and removed when in editable mode. It is not possible to remove the only order line from confirmed order (at least one order line required).
Purchase order is exported when confirmed, and after each update of confirmed order.


Delivery date on purchase order line level (RTC-25710)

Delivery date can be set for each order line. Existing order lines have delivery date same as delivery date of order. Order level value is also used for newly created order lines. Delivery date of order line can be changed in 'Edit row' modal or by selecting multiple rows and using 'Edit date' button on bottom of page.


Multi-select of order lines (RTC-25710)

Order lines can be selected by using mouse, Control (Ctrl) and Shift buttons. There is also a 'Select all' button.


Cancel (RTC-28234)

Purchase order can be cancelled using button in three dots menu on bottom of page. Pressing cancel order button opens modal with description and buttons to close modal or cancel order. When cancelling order with submitted, edited or confirmed status, order is exported with status "Cancelled".


Supplier order number (RTC-30018)

Supplier order number is pre-filled with value in database, allowing order confirmation without change of this value.

System

Import of store groups (RTC-28768)

Profiles and teams and its assignment to stores is imported from Store Service.

...