You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 131 Next »

Coming next release

Send email when submitting purchase order

(RTC-34955)

If email is entered in submit/resubmit purchase order modal, e-mail is sent using Message Distribution Service. Request is not done when e-mail input is empty. E-mail contains short message, order number, order note and logo. Content can be customized through Message Distribution Management templates ('Order' template is visible after first attempt to send mail on tenant). PDF file with order print is always attached to e-mail. File preview can be shown or downloaded using buttons in modal. After submitting, notification about result is shown on bottom of the screen.

Import order from Excel

(RTC-33763)

A file with order lines can by imported by a button in the user interface from the 'Purchase orders' grid. After the job is started a notification is send to the user. Invalid lines are skipped. Once the file has been imported, it is shown how many orders that have been created, how many lines that have been imported for each store and how many lines that have been skipped.

Only one item identifier of the 3 is required: SKU, GTIN or Item number, and only one supplier identifier of 2: supplier no. or supplier GLN. Supplier GLN is more important so if the user imports a file in which the 'supplier GLN' comes from one supplier and the 'supplier no' from another, the record will be created on the basis of the 'supplier GLN'. Order line note column is optional. It is also possible to provide an empty/null field for order line note. Such a line will not be skipped during import. If there are empty values or nulls for quantity, wholesale price, supplier discount or delivery date then such lines lines are skipped. If supplier identifier is not specified, item should be delivered by the main supplier. If there are several lines in the file for different suppliers, corresponding orders will be created for each supplier.

Additional changes:
Import of items from Item Management is extended by the IsMainSupplier flag and it is saved on SupplierItem level in the Procurement database.

Norwegian translation for 'Order proposal' changed to 'Ordreforslag'.

Improvements

AreaDescription
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.

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.

System

Fix: Date filter (RTC-35746)

It is possible to filter by date.



Release 17.11.2023

Import order from Excel (part 2)

(RTC-33761)

In 'Import order' modal user can select level of import: Store, Team, Profile or All stores. In case of first three choices - page is shown with a list of active stores/teams/profiles. The list is filtered by access permission of user (and placeholders are excluded). User has to choose at least one from the list. It is possible to filter the list using search input. Then import has to be confirmed using 'Import' button in toolbar. A message appears on the bottom of the page as a confirmation of saving the data to staging table (from where import will be processed by a job in part 3 of this feature). When trying to leave the page during store selection process, modal with a warning appears.

Order proposal

(RTC-35111)

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.



Release 26.10.2023

Import order from Excel (part 1)

(RTC-33760)

If the user has the 'Create purchase orders from Excel' permission, he/she sees an 'Import order' button in the 'Purchase orders' view. After pressing the button modal with import order header appears. Proper messages are displayed:

  • If file is empty or contains invalid header rows: 'Invalid file format'/'File cannot be empty',
  • If server side error occurs during request processing: 'A server side error has occured. Please contact support for further assistance.',
  • If the request is correct processed, modal is closed and notification message is displayed: 'Import has started. You will be notified when all orders are ready'.

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.



Release 15.09.2023

Items in purchase orders

(RTC-28367)

'Items in purchase orders' allows the user to find items that have been ordered or delivered. All order lines are visible. The grid includes the following columns:

  • Store
  • SKU
  • Item number
  • GTIN
  • Item text
  • Brand
  • Delivery status
  • Discount
  • Net wholesale p.
  • Order Line no.
  • Order line note
  • Order no.
  • Order status
  • Quantity
  • Received
  • Supp. Item No.
  • Supp. Model No.
  • Supp. order no.
  • Supplier name
  • Total
  • Wholesale p.
  • Created by
  • Created date
  • Modified by
  • Modified date.

'Order no' column navigates to the overview tab of the order and clicking on the link in the 'Order line no' column takes the user to the order line view with specific line selected and expanded. To access 'Items in purchase orders' grid 'View purchase orders' permission needed. If the user has access to the one store only, the 'Store' column is not visible.

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.



Release 29.08.2023

Receive goods using InStore App

(RTC-30508)

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.
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.



Release 07.08.2023

Module Description
Procurement API

InStore integration improvement (RTC-33068)
"Purchase orders per store" endpoint returns only confirmed orders with no imported order despatch advice. Only those are available in 'Find order' option in InStore App - logic same as when receiving goods in Procurement. Orders with imported order despatch advice will be received using 'Find package'.
"Packages per store" endpoint is extended with PackageLineNo value, which is a unique identifier of line within package. Value is generated automatically for all lines. It will be used to identify package lines received in InStore App.

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.
When item (GTIN), supplier (GLN), supplier-item, store (StoreNo) does not exist in Procurement database, order is created with placeholders.
When POSLog was already processed, it is not processed again when sent again.

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.
Prices in the 'Purchase orders' are always displayed with two decimal digits (for example 3.65; 5.00; 4.40).


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.
Order note and order line note can be added using button in toolbar and 'Edit row' modal in manual delivery view.

'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).
When price is created for new store group (with no stores assigned), placeholder store group is created in Procurement database.
Values are not yet used in Procurement module.

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).
When item is added to the purchase order more than once, it is separate lines if delivery dates are different, and are aggregated into one line with sum of quantity if delivery date is same for each order line.
Existing endpoints in Procurement API are renamed so the names are more accurate. API is documented in Swagger.

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

(RTC-30367)

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.



Release 04.04.2023

Import of order despatch advice

(RTC-25794)

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

(RTC-28846)

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

(RTC-28848)

There is 'Order' tab on 'Deliveries' page, It contains grid with deliveries in terms of internal and external order number.

Deliveries: Packages/orders details

(RTC-28849)

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.



Release 25.01.2023

ModuleDescription 
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

ModuleDescription 
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.
"Ext. Order No" column is added to "Supplier orders" grid in user interface.
"SupplierOrder" is renamed to "PurchaseOrder" in import/export contracts blob types and import documentation.
API for order info for item for given store is renamed to "PurchaseOrders" (URL and documentation).

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

ModuleDescription 
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 

ModuleDescription 
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.

  • No labels