Coming next release
Receive goods using InStore App
Goods receipt can be done using InStore App.
'Find order' option let the user count and submit goods for orders with no order despatch advice imported. Values counted in InStore App are added as 'Delivered' on purchase order line and 'Remaining' is updated. Goods receipt is created and exported same as when doing 'Receive goods' in Procurement Management. Cancelled goods receipt and lines with 0 items counted are ignored. When counted item which was not in order, this item is added to the order as new line. Deliveries are identified by order number and line number (provided in POSLog). 'Comment' from InStore App is saved as 'Receive note' on order. When received delivery for deleted order line, line is added back to order.
'Receive manually' can be used to create manual delivery. Order with status 'Done' is created for supplier of first scanned item (placeholders created if other items do not have this supplier).
'Find package' is not yet supported (receival of goods for imported order despatch advices).
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. |
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. |
Purchase orders | 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 PO 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.
Supplier order number value is properly saved when confirming order.
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). |
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. |
Release 07.08.2023
Module | Description |
---|---|
Procurement API | InStore integration improvement (RTC-33068) |
Purchase order | Create purchase order from InStore App (RTC-30507) 'Item ordering' from InStore App is processed by Procurement and results in creating purchase order. It creates a draft purchase order with external number 'POSLOG-sequenceNo-supplierGLN'. For each ordered item such order is created, and when there already exists draft order created from InStore, with matching store and supplier - item is imported as new line in such order (one item ordering in InStore can contain items from multiple suppliers and will result in multiple orders in Procurement). Receipt note is saved as order line note. Quantity and net price is imported. Supplier discount is set to 0%. Order line number is generated. |
Purchase order and delivery | Expand row to show panel with order line details (RTC-32514) A panel with the following information has been added to each line, under both the 'Purchase orders' tab and the 'Deliveries' tab: ORDER (Order line note, Quantity), STOCK LEVEL (Ordered), PRICE (Wholesale price, Supplier discount) and DELIVERY DATES (Delivery date) only in 'Purchase orders' tab. When a new line is added to the purchase order, the panel is open and the focus is on the quantity field. In the 'Deliveries' tab, the panel does not open when a new line is added. The plus and minus buttons allow to expand or collapse the panel respectively. When the page is refreshed, all panels for all lines are collapsed. The panel can be edited when the order line has statuses: ' Draft', 'Submitted' or 'Edited'. For all other statuses a read-only panel is displayed. Delivery line can be edited when the delivery has draft status. There is no panel for other statuses of delivery. Setting a past date for purchase order line is possible. Preset price (RTC-32590) The price is automatically filled out when a new item is added to a purchase order or to manual delivery. Active wholesale price for item for given store is returned. The user can change it. The most current price is always entered based on the 'Valid from' column in the 'Store price' tab in the item view in Item Management. An exception is when store, profile and/or price zone prices are given. In this case, even if the profile/price zone price is more recent, the store price will be entered, as it has greater priority. When the price information is being searched, input is in 'loading' state, 'Wholesale price' field is blocked and it's not possible to enter any value there. Focus is on 'quantity' when price is successfully found and 0% is automatically entered in the discount field. If the item does not have a price or a price is equal to zero, focus is on the price field. Store number (RTC-32755) Column named 'Store no.' is visible in the Purchase orders and Deliveries views. This column is hidden when user has permission to only one store. There is an information about store number in overview tab, next to the store name. Column 'Store' is renamed to 'Store name'. |
System | Upgrade to LibBackEnd 5.4.0 (RTC-33208) LibBackEnd updated in order to support notifications and Azure SignalR. Import of stores by GLN (RTC-32901) Global Location Number is imported from Store Service and saved in Procurement database when a user edits an existing store or creates a new one. Import package related values of item (RTC-33245) 'Quantity in supplier package' and 'Min. order quantity' values of an item are imported from Item Service. Values are not yet used. |
Release 28.06.2023
Module | Description |
---|---|
Deliveries | Submit manual delivery (RTC-31139) It is possible to submit delivery which was created manually. The flow is: The user can create a new delivery from the deliveries view (both from the 'Package' and 'Order' tabs) using the 'New delivery' button. After clicking the button, he is taken to a view where he can add items and then click 'Submit'. When leaving goods receipt from manual delivery view without submit, status of delivery stays 'Draft'. Manual delivery can be edited until the user presses submit. Submit modal is added to goods receipt from manual delivery. After submitting delivery, user is redirected to previous view ('Package' tab or 'Order' tab). Purchase order status is set to 'Done', order delivery status is set to 'Done' and package status is set to 'Done'. Submit of manual delivery triggers export of purchase order and goods receipt. When delivery line is added to purchase order created through delivery, remaining is set to 0 and status is set to counted for added delivery line. Submitting package or order delivery from deliveries grid cause update of delivery fields on order lines related to submitted lines: 'delivered', and 'remaining'. Update of the quantities in the side panel (RTC-31664) After confirming delivery line from purchase orders or deliveries grid values from side panel are updated properly: received is set to ordered and remaining to 0. Manual delivery (RTC-31403) There are new names of the tabs in deliveries view: Packages' and 'Orders'. Deletion of the last line is blocked in manual delivery. When the user wants to edit a purchase order created manually, a message is displayed with link to delivery, where order can be edited. Default filter in delivery view is to show packages and orders with 'Active' (other than 'Done') delivery status. Despatch created manually and received order despatch advice lines cannot be edited through import. There is a required field validation when user wants to add/edit price or discount of item. Cancel manual delivery, add order/order line note (RTC-31622) Manual delivery ('Draft') can be cancelled. Such delivery is not visible in Deliveries grids (package and order). The purchase order has status and delivery status set to 'Cancelled'. In such purchase order there is no 'View delivery' link. 'View row' modal and side panel for goods receipt (RTC-31244) Side panel for goods receipt in read-only mode (received order despatch advice line) and 'View order' modal in read-only purchase order display values as text. 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'. Trailing zeros are removed from side panel for goods receipt (so instead of 3.000 -> 3 is displayed). |
System | Separators in inputs (RTC-30928) Inputs in the application have unified decimal separators. Import of store prices (RTC-25594) Store prices of an item are imported from Item Service (store/store group, validity period, Sales unit, Net price, Retail price, store currency, VAT rate). |
Procurement API | API for all purchase orders for given store (RTC-30321) There is an endpoint (/api/gateway/PurchaseOrders/ordersPerStore/[storeNo]) in Procurement Service, which returns Active (Submitted, Edited, Confirmed) purchase orders for given store. Store is identified by store number. Response contains orderNumber, supplierName, order lines (line number, mainGTIN, originalQuantity (what was ordered), remainingQuantity (what is remaining after previous confirmed deliveries), deliveryDate (set by user on order line level). Endpoint supports OData filtering (filter by orderNumber, supplierName, top, skip and order parameters). Endpoint is documented in Swagger. API for all packages for given store (RTC-30618) There is an endpoint (/api/gateway/PurchaseOrders/packagesPerStore/[storeNo]) in Procurement Service, which returns pending packages for given store (not received and partially received packages and lines which are not 'Received'). Store is identified by store number. Response contains packageNumber, supplierName, order lines (line number, mainGTIN, quantity (number of items in package), deliveryDate (set by user on order line level). Endpoint supports OData filtering (filter by orderNumber, supplierName, top, skip and order parameters). Endpoint is documented in Swagger. API for purchase orders with given item and given store (RTC-31423) There is an endpoint (/api/gateway/PurchaseOrders/[storeNo]/orderedItem) in Procurement Service, which returns Active purchase orders for the item for given store. Store is identified by store number, item by SKU or mainGTIN. Response contains orderNo, originalQuantity, lineDeliveryDate, orderStatus, orderType. Endpoint supports OData filtering (filter by each field from response). |
Purchase orders | Overview grid (RTC-25195) There is a tab next to the 'Order lines' with collapse able section named 'Order details'. Before expanding the grid, the following information is displayed: delivery date, delivery status and sequence of numbers: delivered/ordered (deviation). After expanding we can see three sections: Overview (with fields Store, Delivery date, Order type, Order Note), Statistics (with fields Ordered, Delivered, Remaining and Deviation) and Price (with information what is the price of the whole order - Total). There is a sign: '+' or '-' next to the deviation value. The Toolbar contains buttons that allow user to change the status, such as are in the 'Order lines' tab (Submit order/Resubmit order/Mark as confirmed) and 'Add order note' or 'Edit order note' depending on whether the order contains a note. |
Purchase orders and deliveries | Decimal quantity (RTC-31022) Quantity can have 3 decimals and be between 0.001 and 9 999 999 999.999. It is possible to enter, import and export such values. Zeros at the end are not displayed, for example we show 1.1 and not 1.100. Sides panels not in scope. |
Release 29.05.2023
Order confirmation print
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'. 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. |
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) |
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). 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. |
Release 04.04.2023
Import of order despatch advice
Order despatch advice can be created by 3rd party using JSON file import via File Service. This is the document the sender of goods sends to the recipient as the goods are packed and shipped.
Order despatch is identified by unique externalOrderDespatchAdviceNo. A despatch advice relates to one order, identified by orderIdentifier. Order despatch lines are identified by externalLineNo that is unique within a despatch. A despatch advice line relates to one order line, identified by item identifier (order lineNo not yet supported).
Details of file format, values range, required fields and examples are documented in EG Cloud Swagger.
If supplier, store, item, supplier-item, purchase order, order line are not found, placeholder entities are created (such purchase order has status draft).
Order despatches are displayed in 'Deliveries' page in Procurement Management, where order despatch lines are grouped by package or number.
Deliveries - packages grid
There is 'Deliveries' page in Purchase tab in side menu. This page contains grid with list of packages. In the packages tab deliveries (upcoming and received) are displayed in terms of internal and external package number.
In User Management there is a permission on store role, located under 'Procurement' - 'Deliveries': 'View deliveries'. This permission allows to open deliveries grid. In this grid, user sees only orders in all stores to which he has access in this role.
Deliveries - order grid
There is 'Order' tab on 'Deliveries' page, It contains grid with deliveries in terms of internal and external order number.
Deliveries: Packages/orders details
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
Module | Description |
---|---|
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. |
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). 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. |
Release 25.01.2023
Module | Description |
---|---|
Purchase order | Rename 'Supplier orders' to 'Purchase orders' (RTC-28177) 'Supplier orders' are renamed to 'Purchase orders' in user interface. Applies to menu, main page title, new order modal, URL. Delivery date is required (RTC-28070) Delivery date is a required field and cannot be set into the past. Existing orders delivery date is set to today (when order didn't have delivery date). Import from 3rd party works as before, when importing new purchase order Delivery Date is set to today's date. Dropshipment info in Purchase Order contracts (RTC-28604) Purchase Order import and export contracts contain dropshipment information: "shipTo" on order level (delivery address) and "deliveryDate" on order line (date or week of planned delivery). Documentation is updated. Both fields are not yet supported in application. |
Release 10.01.2023
Module | Description |
---|---|
Procurement Service | SupplierOrderNo in Purchase order contract (RTC-27574) "SupplierOrderNo" is identifier of order, which is unique per supplier. "ExternalOrderNo" is globally unique identifier used in import. PurchaseOrder and OrderDespatchAdvice import and export contracts contain "SupplierOrderNo" value. |
System | Import of items (RTC-26800) All item changes from Item Service are imported to Procurement database (SKU, MainGTIN, Brand, Name, status, ItemNo, assigned suppliers). Only items with status: Draft, Active, Stopped (not inactive and deleted) and delivered by selected supplier can be ordered, but it is possible to see and edit existing order lines containing incorrect items. When adding item through item search or 3rd party import, if item or item-supplier relation does not exist in Procurement database, placeholder row is created (values are expected to come in next import from Item Service). Order with placeholder store, supplier, item, item-supplier cannot be submitted. |
Release 16.12.2022
Module | Description |
---|---|
System | Import of suppliers (RTC-27020) Suppliers imported from Item Service are identified by internal identifier, so supplier is properly updated when its Number (external supplier number) is modified in Item Management register. When supplier has no internal identifier in Procurement, it is identified by external number (to allow update of existing data). |
Release 24.11.2022
Module | Description |
---|---|
Import | Import purchase order lines from API (RTC-26624) Order lines can be imported together with purchase order header. Contract and examples in Swagger contain order lines. Item is identified by SKU or GTIN. When item does not exist, placeholder item is created in Procurement database until item is imported from Item Service (SKU must be provided, GTIN and item name are optional). Order with placeholder items cannot be submitted through user interface. Only draft orders can be imported and updated. Quantity and wholesale price are required. Optional fields are supplier discount (0% by default), order line note and status (delete item from order). OrderDate on order level is renamed to OrderDateUTC. |
Procurement API | API for order info for item for given store (RTC-26259) There is an endpoint in Procurement Service, which returns Active (Submitted, Edited, Confirmed) orders for item for given store (including past deliveries that are not yet done). Store is identified by store number and item is identified by SKU or MainGTIN (SKU has higher priority when both are provided). Response contain delivery dates, orderNo, externalSupplierNo, supplierNo and quantity. |