Replenishment

Overview

The MySales Replenishment module will help you effectively maintain stock levels and offers the following functionality:

  • Forecasting the necessary orders volume (for today and future);

  • Automatic calculation of the required safety stock;

  • Formation of supply diagrams for setting order schedules;

  • Automatic calculation of the calendar of orders and deliveries;

  • Automatic generation of orders on a daily basis;

  • Automatic or manual confirmation of orders;

  • Automatic or manual sending of orders to the supplier;

  • Automatic optimization of orders by the amount and quantity;

  • Correction of stocks and orders;

  • Automatic calculation of orders for picking, cross-dock, and reorder point;

The Replenishment module generates an auto-order based on the sales history, forecast and SKU stock balances taking into account the main influencing factors and limitations (parcel, min. order, presentation stock, etc.) individually calculated for your business. Auto-order is automatically recalculated and adjusted on a daily basis.

The general scheme of the auto-order system workflow:

Auto-order calculation formulae

In the system, the order is calculated using the following formula. It is valid for any type of goods.

 Order = max( round( Forecast D1D2 + Write-offs D1D2 + Safety stock D1D2 + Presentation stock - Stock D1 ), Shelf days limit),

where Forecast D1D2 - sales forecast in the period between the first and second delivery. If delivery occurs in the morning, then the day of the second delivery is not taken into account, if delivery occurs in the evening, then the day of the first delivery is not taken into account;

 Write-offs D1D2 - waste or write-offs forecast the goods with expired shelf days terms in the period between the first and second delivery. If delivery occurs in the morning, then the day of the second delivery is not taken into account, if delivery occurs in the evening, then the day of the first delivery is not taken into account;

 Safety stock D1D2 - recommended safety stock for a week multiplied by min( 1, sum of day coefficients D1D2 ), D1D2 - days between the dates of the first and second delivery. If delivery occurs in the morning, then the day of the second delivery not taken into account, if delivery occurs in the evening, then the day of the first delivery is not taken into account;

 Presentation stock - minimally necessary product stock;

 round - rounding the order to the required multiplicity of the package;

 Shelf days limit - the maximum amount of goods that can be ordered in order to have time to sell it before the expiration date. If the goods are ordered in packages, then the minimum % of the package that must be sold before the expiration date is determined in the parameters;

 Stock D1 - stock at the time of first delivery;
 Stock D1 = max( 1, Stock O1Forecast O1D1 - Write-offs O1D1 + Goods en route O1D1 ),

where Stock O1 - stock at the time of the first order;

 Write-offs O1D1 - waste or write-offs forecast the goods with expired shelf days terms in the period between the first order and the first delivery. If delivery occurs in the morning, then the day of the first delivery is not taken into account, otherwise, it is taken into account;

 Forecast O1D1 - sales forecast in the period between the first order and the first delivery. If delivery occurs in the morning, then the day of the first delivery is not taken into account, otherwise, it is taken into account;

 Products en route O1D1 - The amount of goods that will be delivered to in time period between the first order and the first delivery.

Formula calculation example:

Order days are shown in green, delivery are blue.

 O1 - first order date 28.07.2017;
 O2 - second order date 01.08.2017;
 D1 - first delivery date 30.07.2017;
 D2 - second delivery date 03.08.2017;

Suppose the delivery takes place in the morning, the presentation stock = 1, the multiplicity of the package = 1,
safety stock = 2.

Stock D1 = max( 0, 5 −(2+1) ) = 2 Stock D1D2 = 3+3+1+2=9 Safety stock D1D2 =

 Order = Round( 9 + 1.5 + 1 − 2 ) = Round( 9.5 ) = 10.

Formation of warehouse orders for picking and cross-dock diagrams:

  • Cross-dock - warehouse order is calculated as the rounded sum of orders for all stores. If the order is less than 70% of parcel, then order is rounded down, if more - up.

  • Picking - warehouse order is calculated using the formulae above, but for a certain horizon ahead (2-5 weeks), taking into account future sales forecasts. A future warehouse order will be equal to the sum of future orders from stores to the warehouse. And previous orders are calculated as goods en route.

Order formulae for ingredients (sub products):

 Order of Sub Product = Check_expiration_date ( Round ( Forecast D1D2 Master Product * Qty + Safety Stock D1D2 Master Product * Qty + Presentation stock Master Product * Qty + Stock D1 Master Product * Qty -

  •  

(Stock D1 Sub Product - Forecast D1D2 Sub Product - Safety stock D1D2 Sub Product - Presentation stock Sub Product) +
+ Forecast D1D2 Sub Product + Safety stock D1D2 Sub Product + Presentation stock Sub Product - Stock D1 Sub Product ) )

, where Qty - is the quantity of the sub product in the specification for one master product;

, (Stock D1 Sub Product - Forecast D1D2 Sub Product - Safety stock D1D2 Sub Product - Presentation stock Sub Product) - the design is necessary to take into account in the order formula the assumption that the stock of the sub product can be used both in the production and sale of the sub product as a separate product and there is a need to provide this product with additional stock. If this construction after calculation gives a value less than zero, then it is automatically equalled to zero.

Business processes for working with orders

Data input

What?

Who?

Where?

When?

What?

Who?

Where?

When?

Orders schedule:

  • For stores;

  • For warehouses (picking);

  • Cross-dock (warehouses and stores);

Auto-order administrator

MySales - Diagrams

  • When new suppliers appear;

  • When new stores appear;

  • When stores are closed;

  • Upon termination of work with suppliers;

Suppliers vacations and additional orders

Auto-order administrator

MySales - Calendar

When changing schedules for the period of holidays/inventories and other events

Package and min. order

Directory administrator

MySales – Items parameters

  • When new positions appear;

  • When changing the conditions of work with suppliers;

Bindings to suppliers and contracts

Directory administrator

When changing contracts with suppliers, opening new stores

Assortment range

Directory administrator

When changing the assortment range

Production recipes

Directory administrator

When changing recipes / appearance of new products or ingredients

Analogs for new stores

Auto-order administrator

MySales - New Stores

When opening new stores

Analogs for new positions

Auto-order administrator

MySales - New items

When entering new positions in the assortment

Safety stock coefficients

Inventory analyst

MySales - Safety stock adjustment

Based on inventory analysis results (described below)

Master predictions at the SKU - all stores level

Promo administrator, inventory analyst

MySales - Master

To adjust the promotional forecast at the SKU - all stores level, or adjust the forecast for the new product

 

Manual orders adjustments

It is performed by the auto-order administrator in the following cases:

  • Moving of planned delivery dates for pending orders, in case when information is received from the supplier;

  • Closing orders that will not be delivered by the supplier and are not yet subject to the automatic closing rule;

  • Correction of orders that did not pass according to the criterion of supplier’s restrictions (minimum order by amount/quantity);

  • Correction of cross-dock orders, where due to the fact that X% restrictions (parameter) of warehouse packaging must be claimed by stores, the system was not able to optimize the amount of stores orders due to mathematical restrictions;

  • Delivery adjustment if the supplier informed about the replacement of an item in the order;

  • Entering manual orders to ensure acceptance of goods in the store in case of an error in entering the receipt;

  • Orders for items that are not goods, but consumables and are not ordered based on the forecast.

Out of stock analysis

For each category of goods, a standard for the level of accessibility should be set, expressed as a percentage. For those categories where this norm is not maintained, it is necessary to conduct an analysis as described below.

The inventory analyst performs the following actions on the goods in the assortment range:

  • Generates a report on missing goods, where % of stores are calculated for each product, where the product is OOS at the end of the day;

  • For top products in the list, details the report at the store level;

  • Finally analyzes the reasons for the OOS. Possible reasons:

    • Short delivery - communication with the supplier, disabling the “Order” checkbox on temporarily not ordered goods;

    • Write-offs - communication with the store;

    • Lack of package data - adding package data in the system;

    • Lack of bindings - communication with the administrator of directories about creating bindings;

    • Insufficient order - analysis of sales, balances, created orders and forecasts.

  • For top positions with "insufficient order", an additional analysis of the forecast and the sufficiency of the safety stock is carried out, as described in the MySales documentation.

The need for such a detailed analysis for top positions is due to the fact that working with exceptions, this allows you to detect systemic problems and fix them not for single positions, but for all.

Stock surplus analysis

For each group of goods should be set rate of turnover in days. For those categories where this norm is not met, the inventory analyst daily generates a report on inventory turnover, as well as on goods not to order for the next 30 days.

For top products that do not meet the norm for turnover in days, a detailed analysis of the reasons is carried out.

How to make orders

There are three types of deliveries in the auto-order system:

  • Direct delivery - the order is made directly from the store to the supplier and delivery occurs directly from the supplier to the store;

  • Picking - stores order goods from warehouse, not directly from the supplier (warehouse became a supplier for stores). And the warehouse orders goods from the supplier. Orders from the store to the warehouse and from the warehouse to the supplier are not interconnected.

  • Cross-dock - stores order goods from warehouse, not directly from the supplier (warehouse became a supplier for stores). And the warehouse orders goods from the supplier. But unlike in picking, store orders from warehouse and warehouse orders from supplier are connected. Since during the cross-dock, the supplier brings all the necessary goods to the warehouse, and the warehouse immediately distributes it to stores (without storing them).

In order for orders to be made, you must first create order diagrams. More detailed information about creation of diagrams for each type of deliveries is provided below.

In general, the process of order making can be described by schema:

Required data

This section describes which data is used by the system to make an order.

To form an order, the system needs some mandatory data set.

Data received from the customer:

Data

Required

Data

Required

List of SKUs

Yes

List of Stores

Yes

List of Suppliers

Yes

Contracts:

  • Product - store link

  • Product - supplier link

  • Parcel and min. order

  • Purchase price

Yes

Purchase price (if optimization by value is necessary)

No

Latest stocks for stores and warehouses

Yes

Receivings (for calculating goods en route)

Yes

Assortment range

Yes

Daily sales coefficients

Yes

Data received from the MySales

Data

Required

Data

Required

Forecast

Yes

Safety Stock

Yes

Diagrams

Yes

Goods en route

Yes

Forecast of future orders

Yes

If some of this data is missing or incorrect, the system will either not make an order or the order will be incorrect.

Direct delivery

For direct delivery - goods, delivery schedule, parcel and minimum order for each store are clearly specified for the supplier

Direct delivery schema:

Cross-dock

For cross-dock delivery - goods, delivery schedule, parcel and minimum order for each store are clearly specified for the supplier. Order from warehouse will be a summing order from all stores taking into account parcel and minimum order of warehouse.

Cross-dock delivery scheme:

Picking

For picking deliveries - goods, delivery schedule, parcel and minimum order for each store are clearly specified for the warehouse. And from warehouse to the supplier separate orders are made.

Picking delivery scheme:

Pick to zero

Pick to zero is a kind of picking delivery in which stores pick up the entire warehouse stock. The key difference is that during picking, the warehouse delivers exact amount of order to each store. In the case of Pick to zero, after the formation of store orders, the stock of the warehouse is checked. If the remained stock is larger than total store orders, then it is added to store orders.

The remaining warehouse stock is distributed among stores relative to the orders that were originally created - the larger the order - the more residual warehouse goods will additionally fall into the store order. Also, this scheme is subject to a parcel multiplicity limitation - because of the parcel multiplicity, it may be that this distribution will be corrected.

Work with diagrams

Creating diagram

Diagrams creation is the first step in working with auto-order. To create a new diagram, go to the "Diagrams" page and click on the "Add a new diagram" button. After clicking, the window for adding a diagram will open. Consider an example of adding a chart. By default, the window for adding diagram looks like this:

When adding a diagram, the user fills in the following fields:

  • Name - the name of the diagram;

  • Source warehouse - warehouse selection in case of cross-docking and picking deliveries;

  • Supplier - selection of a supplier;

  • Contract - selection of a supply contract;

  • Receivers - selection of stores to which delivery is made (in case of diagrams from the supplier to warehouse - choose warehouse as receiver)

  • SKU - selection of items to be delivered;

  • Type - selection of the type of delivery intervals (in case of deliveries in the morning - it is necessary to put a tick next to "Morning"):

    • Week - adding a schedule in a weekly format - convenient if the order is repeated on fixed days of the week, for example, every Tuesday and Thursday;

    • Month - adding a schedule for specific days of the month if, for example, the order is repeated on the 3rd and 17th of each month;

  • Interval - select the interval for repeating the order schedule. If the value is 1, then the schedule will be repeated every week or month, if 2 - every two weeks, and so on;

  • Orders and deliveries schedule - selection of days when order will be made. In the day cell, user enters value between the order and delivery in days;

  • +D1 forecast - additional D1 forecast coefficient. The forecast of the next day multiplied by coefficient +D1 will be added to the regular D1 forecast;

  • +D1D2 forecast - additional D1D2 forecast coefficient. The forecast of the next day multiplied by coefficient +D1D2 will be added to the regular D1D2 forecast;

  • Requires confirmation - an indication whether it is necessary to confirm the order manually, or whether it will be sent automatically;

  • Auto confirm orders at - if manual confirmation of the order is selected, in this field you can specify the time when the order will be automatically confirmed (optional);

  • Separate promo items - if you check the box, in the case when there are positions in the order according to this diagram where the promo falls within the D1D2 period, the promo positions will be moved to a separate order. And according to one calendar there will be two orders - one without promo positions, and the other only with promo positions.

  • Promo requires confirmation - an indication of whether it is necessary to confirm the separated order with promo positions manually. If in the same diagram the checkbox "Requires confirmation” is not checked, the “Separate promo items” checkbox is not checked, but the “Promo requires confirmation” checkbox is checked, then the order will not be automatically confirmed;

  • Minimum order quantity - minimal quantity that can be ordered;

  • Minimum order amount - minimum order amount in money;

  • Email - list of email to which orders will be sent (usually email of suppliers' managers);

  • Edit permissions - the choice of which fields can be edited in the order;

  • From - selection of the start date of the diagram;

  • To - selection of the diagram expiration date (optional);

After filling in all the fields and clicking the add button, the system automatically creates a separate diagrams for every store (in the case of cross-dock, additional diagram is also created for orders from the warehouse to the supplier).

The specifics of creating diagrams for direct delivery:

In the case of direct delivery, the user selects the supplier, leaving the "Source warehouse" field empty.

The specifics of creating diagrams for cross-dock delivery::

In the case of cross-dock delivery, the user first selects "Source warehouse", then selects the Cross-dock format, and only then selects the suppliers. Also, in the case of a cross-dock diagram, the user must specify the delivery schedule for both stores and the warehouse. The user does not need to create a separate diagram for warehouse, the system does this automatically.

The specifics of creating diagrams for picking delivery::

In the case of picking delivery, the user also first selects "Source warehouse", then selects the picking format, and only then selects suppliers. Also, in the case of picking delivery, the user has to create diagrams for the warehouses. This is done in the same way as creating a direct delivery diagram, but user chose warehouse as receiver.

+D1/+D1D2 Coefficients

+D1 forecast and +D1D2 forecast coefficients are used to increase the order at stores.

So, the coefficient +D1 adds to the D1 forecast the forecast of the next day multiplied by the coefficient +D1, and +D1D2 adds to the D1D2 forecast the forecast of the next day multiplied by the coefficient +D1D2. The coefficients can be fractional, for example, the coefficient 0.5 add only half a day, and not a whole one to the order

The coefficient +D1D2 is used to increase the safety stock of the warehouse. In the field with this coefficient, the user can indicate for how many days it is necessary to increase the safety stock of the warehouse.

The coefficient + D1 is used to increase the order of convenience stores, in case it is necessary to add more night sales. It can also be used if, for example, the goods should arrive in the morning, but the supplier delays delivery (for example, the goods should arrive at 9 am, but arrive at 11 - accordingly, these two hours of sales must be taken into account in the order).

"Morning" Parameter

In the diagram, the user must indicate whether the goods arrive in the morning. This is done using the checkmark "Morning". Depending on whether the order arrives in the morning or not, the calculation of the order changes directly.

If goods are delivered in morning:

In the D1 forecast, the delivery day D1 is not taken into account, since the goods will arrive in the morning of the day D1. And in the D1D2 forecast, D1 is taken into account and D2 is not taken into account.

If goods are not delivered in morning:

In the D1 forecast, the delivery day D1 is taken into account, since the goods will arrive only in the evening of day D1, and it is necessary to take into account the sales of day D1 in the order. And in the case of the D1D2 forecast, day D1 is not taken into account, and day D2 is taken into account.

Also, the system, regardless of the morning orders, takes into account the day of the order in the calculations.

Editing diagram

The user can edit some fields of the diagrams. There are two ways to edit:

  • Using the menu (to open the menu, press  in the row with the diagram). After selecting "Edit Diagram", a window similar to the diagram creation window will open. The user will be able to edit active fields;

  • Directly from the table with diagrams - for this you need to scroll to the right until editable fields appear. After entering new values, click anywhere on the page to save them.

In the case of cross-dock diagrams, if the user needs to add a store to the cross-dock he should press  button and select "Add store".

Calendar recalculation

If there is a need to recalculate orders and deliveries calendar (diagrams have changed, etc.), user can do this manually by clicking on the  button and selecting "Recalculate Calendar".

Also, calendars are automatically recalculated during automatic calculation of orders every day (or at the launch of the “Orders recalculation” batch).

Diagrams Import/Export

For convenient work with diagrams, there is possibility to export and import diagrams.

In order to export diagrams to a file, click on the  button.

In the case of importing diagrams, the user needs to prepare a special file in csv format. The fields in the file are similar to those that are filled in when adding a chart from the interface. The chart import file template can be found at link.

Detailed description of all fields of the diagram import file:

  • NAME - diagram name;

  • WHS_ID - warehouse ID in MySales system (filled only for picking and cross-dock diagrams);

  • WAREHOUSE_TYPE - warehouse type - value “c” for cross-dock and “p” for picking;

  • SUPPLIER_ID - supplier ID in MySales system;

  • SPECIFICATION_ID - contract ID in MySales system;

  • RECEIVERS - list of stores (or warehouse) IDs for which delivery will be made. Values should be comma separated (leave empty if ALL_STORES is 1);

  • ALL_STORES - value "1" if delivery is for all stores and "0", otherwise;

  • SKUS - a list of products IDs which will be delivered. Values should be comma separated (leave empty if ALL_SKUS is 1);

  • ALL_SKUS - value "1" if all products are delivered under the contract and "0", otherwise;

  • TYPE - type of schedule (schedule on a weekly basis or for a whole month) - the values of the field "W" for the week and "M" for the month;

  • MORNING - morning delivery identifier - “1” if delivery occurs in the morning and “0” in other cases;

  • INTERVAL - the repetition interval of the delivery schedule (1 - every week / month, 2 - every two weeks / month, etc.);

  • RPM_DAYS - days in which the order will be made, should comma separated. From 1 to 7 for the weekly format (where 1 is Monday, 7 is Sunday) and from 1 to 30 for the monthly;

  • DELIVERY_DAYS - the number of days between order and delivery for stores. Should be filled for each order day from the field RPM_DAYS (comma separated);

  • DELIVERY_DAYS_WHS - the number of days between order and delivery for warehouse. Should be filled only for cross-dock orders;

  • PLUS_D1_FCST - +D1 coefficient;

  • PLUS_D1D2FCST - +D1D2 coefficient, at the store level;

  • REQUIRES_CONFIRM - store orders manual confirmation indicator - "1" must be manually confirmed, "0" - the order will be automatically confirmed;

  • AUTOCONFIRM - time of automatic confirmation of the order - only for orders with manual confirmation (optional field);

  • WHS_REQUIRES_CONFIRM - warehouse orders manual confirmation indicator - "1" must be manually confirmed, "0" - the order will be automatically confirmed;

  • SEPARATE_PROMO - indicates if promo items should be separated from the main order;

  • PROMO_REQUIRES_CONFIRMATION - indicates if separated order with promo items requires confirmation;

  • MIN_ORDER_QTY_STORE - minimum store order quantity;

  • MIN_ORDER_AMOUNT_STORE - minimum store order amount in money;

  • MIN_ORDER_QTY_WHS - minimum warehouse order quantity (only for cross-dock);

  • MIN_ORDER_AMOUNT_WHS - minimum warehouse order amount in money (only for cross-dock);

  • SUPPLIER_EMAIL - supplier manager email

  • ALLOW_EDIT_ORDER - edit of order quantity permission - the value "1" allows editing, "0" prohibits editing;

  • ALLOW_EDIT_STOCK - edit of stock quantity permission - the value "1" allows editing, "0" prohibits editing;

  • START_DATE - diagram start date (in the format YYYY-MM-DD);

  • END_DATE - diagram expiration date (in the format YYYY-MM-DD) - optional field, leave empty if the end date is open.

Work with calendars

Manual event

The user has possibility to create manual events in the calendar. These events are separate from those calculated by the system based on diagrams and occur only once.

To add a manual event, click on "Add a custom event" on the "Calendar" page. After clicking, the window for adding a new event will open:

A manual event is a single event with established dates for ordering and delivery. It cannot be repeated. Order and delivery occur only once.

Manual event import

User can load SKUs for manual events from an Excel file.

In order to load SKUs for a manual event from a file, go to the form for adding a new custom event, select the "Manual" type, enter all the necessary data and click the "Add" button. After clicking, the SKU selection window opens:

In this window press  button.

The import file must contain two fields:

  • SKU_ID - SKU number in MySales system;

  • ORDER_VOLUME - required order volume.

Product import file template for manual event can be found at link.

Confirm/Cancel event

Any event can either be confirmed or canceled. If the event is automatically confirmed (setting when the diagram was created), or it has already been confirmed, the user can cancel it. Similarly, the user can confirm an event that requires confirmation.

To Confirm/Cancel events, you need either check or uncheck the box in the line with event:

Mass cancellation of events

Events can be canceled in bulk for a specific date. For example, all deliveries to the warehouse on Tuesday are canceled. The user can select the events needed to cancel, or cancel all events for the selected date.

To select the desired events, the user have to check the box . in the line with the desired event. The checkbox column is located behind the Actions column at the end right.

After the required events are selected, click  above the table and select "Cancel Event".

Orders recalculation

User can recalculate orders for the selected event (orders are recalculated for the diagram). To start the recalculation, click on  in line with event.

Such a need may arise if a manual event has been added, or the order has been manually adjusted for cross-dock diagrams. For example, if you change an order from a store to a warehouse, then you need to start recalculation so that the system recalculates the order from the warehouse to the supplier and this needs to be done only for one event (if there are a lot of events, it’s easier to start the batch and recalculate all orders).

Work with orders

On the page with Orders, the user can perform the following actions regarding the created orders:

  • View order details

  • Confirm deliveries

  • Mark delayed orders

  • Export to Excel

  • Cancel order confirmation

  • Send email to supplier

Cancelling order

If the order was confirmed by mistake or user has any other reasons to cancel order, it can be done. To do this, click on the  button in the line with the order and choose from appeared menu "Cancel confirmation".

You need to understand that you can cancel the order even after it was sent to the supplier. But in this case, the supplier will not know about the cancellation of the order, the system will only provide you with the possibility to change and send the order again. For a complete cancellation of the order, the supplier must be contacted additionally.

Confirm delivery

The auto-order system has a special window for confirming deliveries. Typically, deliveries in the auto-order system are confirmed automatically, at the moment when database synchronizing with the customer’s accounting system, where they are confirmed at the time of delivery at the store. But often there are cases when the delivery must be confirmed manually (for example, if the order was delayed).

The window for confirming deliveries looks as follows:

The user can fill deliveries with the following values:

  • With zeros - in case when order has not been delivered. Be sure to do this for delayed orders;

  • With ordered values - if all goods are delivered;

  • With specific values for each item - in case when for some items there is a short delivery or delivered quantity is different from the ordered one.

Delayed orders

Users must indicate the orders that are delayed. Since it is necessary for the correct calculation of goods in transit and subsequent orders. For example, if an order was supposed to deliver 10 units of goods every day and there was no delivery on Monday, because it was delayed until Tuesday, then if the system does not know that the order was delayed, on Tuesday it will be delivered 10 units more than necessary.

To set a delayed order, it is necessary to fill the receivings for this order with zeros. And also indicate the date until which the order is delayed, in the "Delayed till" field in the table. User should only fill this field if information about delay date is available.

Manual order adjustments

The user has the ability to change order and stock values. The necessity of manual order correction may arise in different cases, for example, if an expert sees that the system has calculated an order that is too big, because it did not know about special external factors, or for example, there was additional demand and there was a need to increase the order.

When adding a manual order, you need to understand that it must be greater than the minimum order and be a multiple of the parcel. In case of non-compliance with these rules, it will be impossible to confirm the order, and the system will show an error and ask you to double-check.

In the case of cross-dock orders, when changing the order quantity from the store to the warehouse, it is necessary to make changes the order from the warehouses to an external supplier. There are two ways to do this:

  • After changing all the necessary orders from the store to the warehouse, start orders recalculation of the diagram. In this case, the system will recount the order from the warehouse to the supplier, taking into account all restrictions.

  • Manually change the order from the warehouse to an external supplier, taking into account the multiplicity and the minimum order.

If this is not done, the system will not allow you to send order and will show an error about the mismatch of the orders from stores to the warehouse and from the warehouse to an external supplier.

You also need to understand that adding manually 2 to the order with a parcel value of 10, will not change anything, since the parcel multiplicity will not be achieved.

Load adjustments from file

Loading manual adjustments from a file is used for bulk insertion of adjustments. To do this, you need to prepare a csv file with adjustments. The file should contain the following fields:

  • ID - order number that needs to be adjusted; SKU_ID - SKU number to be adjusted; CUSTOM_ORDER_VOLUME - the adjusted quantity of the order;

To load from a file, go to the menu "Replenishment" - "Orders" - "Lines", click on ) and select "Upload orders adjustments".

Order details

Automatically when you open the "Orders" window, all orders are displayed as headers relative to the diagrams, without a detailed breakdown by item. So user can see only the basic information about the order, but for example cannot see the order quantity for each item. To open orders details with a breakdown by item and information about the data on which the order is based. To change view user can either double-click on the line with the order or select the "Rows" format for displaying orders in filters or by clicking on the button  and selecting "View order rows".

Export to Excel

The system provides the ability to upload all orders in Excel. To do this, user can either use menu (press  to open) and select "Export to excel" or press  button.

It is important that the browser is allowed to open pop-ups. Since the file for downloading opens in a pop-up window. If they are blocked, then the user will not be able to download the created file.

Mail check

When sending orders, the system sends letters to the managers email with information about the order. Sometimes it happens that letters do not reach recipient or another failure occurs in the operation of the mail sending service. So, we implemented functionality that allows user to check mail failures.

To start checking mail, click . The system will begin mail check. If the system detects a failure, it will highlight the order for which the failure has occurred in red. The user will be able to see the error when hovering over the "email" field.

In case of an error, the user can either try to send an email again by selecting "Send email to supplier" in the orders menu (the menu is called up pressing ). Or contact MySales support.

Order optimization types

In the table with the order headers, there is a column called “Optimization”, which displays the type of optimization which needs to be applied to the order (when you hover over the type of optimization, a window with a description of this type will appear).

The system has four types of optimization:

  • Optimization by the sum amount of order (if the minimum order amount for the diagram is set). It appears if the order amount is less than the minimum one, in this case the order will not be sent and the system will set the value in the "Optimization" column to "a";

  • Optimization by the order quantity (if the minimum order quantity for the diagram is set). It appears if the order quantity is less than the minimum one, in this case the order will not be sent and the system will set the value in the "Optimization" column to "q";

  • Cross-dock optimization. It appears if the system cannot level store and warehouse orders for cross-dock diagrams, in this case the order will not be sent and the system will set the value in the "Optimization" column to "c". This situation can occur in two cases:

    • The order quantity was manually changed for store orders and then not changed for the warehouse order;

    • It is impossible to level orders because of multiplicity;

  • Position that cannot be ordered. It appears if there is a position in the order that cannot be ordered (it has negative or zero package multiplicity, or the position is forbidden), in this case the order will not be sent and the system will set the value in the "Optimization" column to "n".

Small orders rounding algorithm

The system automatically rounds the order which is less than 10 percent of the package, either to zero or to the amount of package in accordance with the following rules:

  • The order is rounded up (to the amount of package) if Stock < Presentation or Stock < 2 * (Forecast + Safety stock)

  • Order is rounded down (to zero) if Stock > Presentation or Stock > 2 * (Forecast + Safety stock)

Information about ingredient

If the product is ordered both as an ingredient and as a separate product, then in the system on the "Orders" page information about the Stock, Forecast D1, Stock D1, Forecast D1D2, Safety stock and Presentation is displayed for both the product sold separately and for this product as part of the finished product (the product is an ingredient).

В системе для этих позиций отображаются две цифры через плюс - первая цифра - это данные об товаре как отдельном продукте, а вторая - данные об товаре как ингредиенте. Например Остаток отображается как 23 + 7 - это обозначает, что на остатке есть 23 единицы товара для продажи, а также 7 единиц товара как ингредиента в готовом продукте. In the system, for these positions, two digits are displayed through a plus - the first digit is the data on the product as a separate product, and the second is the data on the product as an ingredient. For example, stock is displayed as 23 + 7 - this means that on the stock there are 23 units of product for sale, as well as 7 units of product as an ingredient in the finished product.

Check order possibility

MySales has the functionality of checking the possibility of ordering. The functionality is available from the "Diagrams", "Orders" and "Item parameters" forms. To open the window for checking the possibility of ordering, click  button and select "Check order possibility".After clicking, the window for checking opens:

In the field "Receiver" select from the drop-down list store that should order the goods.

In the SKU field, enter either a list of SKUs separated by commas, or click  and select SKUs from list.

After selecting the SKUs, click the "Check" button. After clicking, a table with the selected SKUs and fields that indicate the availability of the necessary data for the order will be displayed:

  • SKU - SKU name;

  • AM - displays the availability of SKU in the assortment of the store;

  • Contract - contract number;

  • Parcel - packaging multiplicity;

  • Order - displays whether the SKU is allowed to order;

  • Diagram - delivery diagram number for the SKU;

  • Nearest order - the date of the next order, relative to the diagram.

An order is possible only for SKUs for which all fields have data. Such products are highlighted in green.

If the SKU is not highlighted in green, but it should theoretically be ordered, the user must add all the data missing for the order.

Orders limitations due to shelf life

All orders in the system are calculated taking into account the shelf life.

The shelf limit is calculated so that the system does not order more goods than the store can sell before the expiration date of the goods.
For example, if a store sells 1 item per day, and the shelf life is 5 days, then 5 - 1 (remove one day - the default parameter) = 4 * 0.8 (restriction coefficient - set in the settings) = 3.2 - the maximum quantity that can be ordered.

If delivery occurs in the morning, then delivery day will be the first day of shelf life.

Input data:

  • Number of days between D1 and D2 - 3

  • Shelf life (days) - 4

  • Stock - 4

  • Presentation - 5

  • Package - 3

  • Min order - 10

  • Forecast D1D2 - 3

  • Safety stock D1D2 (SS) - 4

  • Order generated by system - 15

We calculate the total need for the product for the shelf life - a limitation by the shelf life:

FCST tue + FCST wed + FCST tue + FCST fri = (0.8 (tue) + 1.2 (wed) + 1 (thu) + 0.95 (fri) = 3.95

With an example calculation of Shelf day limit can be found in the file by link.

An order taking into account the Shelf life limit can be calculated in 2 variants of restrictions:

  • Standard - when the maximum number of packages that can be ordered is considered. Rounding up to packaging takes into account the parameter (round up if X% of the package has accumulated). The user sees this quantity in the "Shelf limit" field in orders. If the order is bigger than the Shelf Limit, it is cut off.

  • Taking into account the Stock D1 - in this case, the maximum quantity without rounding to packaging is considered, which can be ordered according to the shelf limit. And then the Stock D1 and Write-offs are taken into account. The calculation formula is shown below.

IF:
(ORDER + Stock D1 - MIN(Stock D1, Writeoffs D1D2 (or 0)) IS LARGER THAN Shelf day limit
THEN:
ORDER = ROUND(MAX(0, Shelf day limit, - Stock D1 + MIN(Stock D1, Writeoffs D1D2 (or 0))))

Example of calculating rounding to package:

  • Calculate modulo of dividing a limitation by the shelf life by package

  • MOD(Limitation by the shelf life / Package) = MOD(3.95;5) / 5 = 3.95

  • If the obtained value (3.95) is more than 60% of the package, then round the value of limitation by the shelf life up to package, otherwise down:

  • (3.95 / 5) * 100% = 79% > 60% (3.95 / 5 = 0.79 > 0.6),

    , therefore, round the value 3.95 (limitation by the shelf life) up to package

    Rounding to package = (Limitation by the shelf life + (Package - MOD(Limitation by the shelf life / Package)) = (3.95 + (5 - MOD(3.95;5)) = = 5.

  • If after rounding to package the limitation by the shelf life is not equal to zero and bigger than min. order, then a new order taking into account the shelf limit will be equal to rounding to the package (5).

  • If after rounding to package the limitation by the shelf life is equal to zero - then a new order taking into account the shelf limit will be zero.

    If after rounding to package the limitation by the shelf life is not equal to zero and less than min. order - it is necessary to calculate the modulo of dividing the rounded limitation by the shelf life by the minimum order:

    MOD(Rounded limitation by the shelf life / Min. order) = MOD(5;10) = 5

  • Divide the resulting remainder by min. order: 5 / 10 = 0.5.

  • If the obtained value (5) is more than 60% of the min. order, then round the value of limitation by the shelf life up to min. order, otherwise down:

  • Rounding to min. order: (5 / 10) * 100% = 50% < 60% (5 / 10 = 0.5 < 0.6), therefore, round the value 5 (rounded limitation by the shelf life) down to zero

  • new order taking into account the shelf limit will be equal to rounding to min.order (0).

Examples of calculating limitation by shelf life (Not taking into account Stock D1):

Orders limitation due to insufficient stock at warehouse

For picking and pick to zero deliveries, in the case when the total order of stores is greater than the stock of the warehouse, the system will automatically reduce the orders of the stores until their total order is equal to the stock of the warehouse.

Алгоритм итерационно понижает заказы магазинов на кратность. Понижение производится пропорционально сумме остатка магазина и заказа и обратно пропорционально прогнозу Д1Д2.

Также система учитывает новый магазин, или нет. Если магазин новый - система по нему будет срезать заказ в последнюю очередь.

Increasing of Pick To Zero orders

For the pick to zero delivery type, in the case when the order of stores is less than the stock of the warehouse, the logic of increasing the orders of the stores is triggered to pick up the stock of the warehouse - Pick to Zero.

The increase in orders is controlled by the parameter. This parameter indicates for how many % the system can increase the order of the store. So if the parameter is 50%, the store order is 100 pieces, and stock is 130, then the order will be increased to 130, since 30 pieces is less than 50% of the original store order (100 pieces). But if there are 200 pieces in the warehouse, then the system will not raise the store's order above 150 pieces (initial order of 100 pieces + 50%).

Pick to zero orders are increased according to an algorithm based on the D1D2 forecast.

The algorithm iteratively increases orders by package proportionally to the largest of the two - forecast D1D2 or Demand. This allows the remainder of the warehouse to be distributed evenly at each iteration, and leads to the fact that all stores (in the case of a sufficient stock) will receive an order. Stores with zero order will also receive a part of the stock.

Calculation of forecasted warehouse stock

For picking orders from a supplier to a warehouse the system calculates the forecasted warehouse stock in order to take into account that goods from picking orders from the whs to the store will not be delivered to the warehouse in situation when it's out of stock in warehouse or it will be in the coming days.

An example of the situation is given below:

  • The warehouse is either already out of stock, or it will come in a few days;

  • Because of this, the stocks at stores will decrease rapidly, since the warehouse will not be able to provide the ordered demand of stores

  • As the stocks of stores are reduced - their subsequent orders will increase - and this must be taken into account at the next order for the warehouse.

Thus, when calculating the warehouse order, the system takes into account that store orders will not be completed until the next delivery to the warehouse, and automatically adjusts the warehouse order.

An example of calculations can be found here.

Additional delivery cycles

The functionality of additional delivery cycles is designed to add an additional forecast and safety stock to the order for a given number of delivery cycles. Adding is possible for 1 - 3 cycles and only for non-zero orders. This parameter is set in the "Item parameters" form. If the order is greater than zero and at the same time "Add. cycles" = 1 is set in the item parameters, the system places an order in such a way that it will be enough for 2 delivery cycles. In the order form, the "Add. cycle" field displays the additional quantity ordered to skip the next cycle.

Technically, the system, when recalculating orders, adds to the order formula the D1D2 forecast for the additional cycle and the safety stock for the additional cycle. So, with parameter 1, a forecast and SS are added for the period of the next delivery cycle, with parameter 2, it is added for the period of the next two, etc.

The parameter "Add cycles" = 1 should be set on inexpensive items supplied from the warehouse in order to skip 1 supply cycle, reducing assembly costs. It is also possible to skip 2 or 3 cycles if the parameter is set accordingly.

Item parameters

For calculating an order, limitations such as the parcel and the minimum order are very important. They directly affect the volume that the system is allowed to order. So you can’t order an amount less than the minimum order and also an amount that is not a multiple of the parcel.

For the MySales auto-ordering system, this data can either be obtained automatically from the client’s database or be entered into the system using the “Item parameters” functionality.

 

Data about parcel and minimum order must be provided for each SKU in each store. This can be done either manually using the "Item parameters" interface or from a file. If you need to load a large amount of data, it makes sense to use import from a file, but if you change only a few items, then it will be faster to use the interface. To import data from a file, click .

The data file for import should be in csv or txt format with a ";" (semicolon) separator, and must have the following columns:

  • SKU_ID - SKU identifier in MySales;

  • STORE_ID - store identifier in MySales;

  • PARCEL - parcel;

  • MIN_ORDER_QTY - min. order;

  • GUARANTEED_ORDER - guaranteed order (order cannot be less than guaranteed);

  • CAPACITY - the total order cannot exceed this value;

  • IS_ORDER - indicates whether the goods are allowed to order (1 - allowed, 0 - not allowed);

  • IS_PRODUCTION - indicates whether it is necessary to order goods for the production of the product (1 - yes, 0 - no);

  • IS_SHELF_LIMIT - indicates whether to apply the restriction on the expiration date (1 - yes, 0 - no);

  • IS_CROSS_DOCK - indicates whether the position is delivered with cross dock (1 - yes, 0 - no);

  • PICK_TO_ZERO - indicates whether the position is delivered with pick to zero (1 - yes, 0 - no). Can be set only for warehouse;

  • IS_MORNING - indicates whether the position is delivered in the morning (1 - yes, 0 - no);

  • ADD_CYCLE - indicates how many additional delivery cycles must be added to a non-zero order (it is possible to add from 1 to 3 cycles);

  • PLUS_D1D2FCST - additional order coefficient in days. Increases the warehouse SS by position by the specified number of days.

  • ROUND_FACTOR - rounding factor of orders in relation to multiplicity and min order. The value is from 0 to 1 (not including 0 and 1). If the order relative to packaging or min order is less than the rounding factor value (for example 0.3), then it is rounded down, otherwise up. If the order is 2 pieces, the package is 10, and the rounding factor is 0.3, the system will automatically round down the order;

  • MAX_INCREASE_PERC - specifies the maximum order increase percentage for pick to zero. It is set at the warehouse level as a percentage. If: The total order increase (for all stores) / The total initial order (for all stores) * 100 is more than this parameter, the order will not increase, and if it is less, it will increase.

Sample import file available at link.

If the user fills in all the fields indicated above for the SKU-Store combination in the import file, the system will update the existing SKU-Store combinations, as well as create new ones, if any, are present in the file. If in the import file the user does not fill out all the fields for the SKU-Store combination, the system will only update the existing combinations.

The user can also export data about parcel and minimum order from the system to a file. To do this, click on the button .

How to check why there is no order

The "Item parameters" form allows user to not only configure order parameters, but also check all the necessary data for the order. It also makes it clear why there is no order.

The following columns of Items Parameters” affect the creation of an order:

  • Package - package must be greater than zero. If it is zero, there will be no order;

  • Order - a field that indicates whether to order goods. If there is no checkmark in this field, then there will be no order, regardless of the presence of goods in assortment;

  • Production - indicates whether to order goods for the production of this product. Affects the order of ingredients;

  • Supplier - if the supplier is not specified in this field - there is no corresponding binding - the order will not be created;

  • Contract - if no contract is specified in this field - there is no corresponding binding - the order will not be created;

  • Chart - the field displays the delivery diagram for product. If it is a direct delivery, picking, or cross-dock for a warehouse, the field should not be empty, since an empty field indicates that a diagram has not been created for the product. In the case of a cross-dock store order, an empty field is normal if there is a contract and a supplier;

  • AM - indicates the presence of goods in assortment - if the box is not checked - the goods are not in assortment - the order will not be created;

Description

The "Additional load" page functionality allows you to additionally load stores with goods before special events or a high sales season, in the presence of various logistic restrictions in the operation of the distribution center or suppliers.

Also it can be used to load stores with goods at the beginning of the promo campaign for the entire period of the campaign, if such goods have the effect of increased demand in the first days of the campaign and the saturation of demand, which is accompanied by a drop in sales in the following days of the campaign.

It is also possible to use this functionality for additional loading of new stores with goods, in order to ensure peak sales in the early days, when a campaign of active promotion of a new store takes place.

It is recommended to use additional loading only for goods with a long shelf life, which, at the same time, are in the top of sales by volume, since for such items the risk of creating illiquid stocks is the least. It is not recommended to use this functionality for slowly selling positions, since for them there is a high risk of creating an illiquid stock. It is also not recommended for items with a short shelf life in order to avoid damage to the product and, as a result, write-offs or returns.

How additional load works

For items for which additional loading is added, the system changes the standard auto-order formula when calculating the order.

Forecast D1D2 (forecast of sales from the first delivery to the next), is substituted by forecast from the selected "Forecast from" date to the end date that was set when the additional load was added. Thus, the next order from the start date of the additional loading will include a volume of goods to cover the demand from the "Forecast from" date to the end of the additional load. By default "Forecast from" is equal to the "Date from". The case for changing the "Forecast from" date is presented below.

This allows system to calculate the required quantity of goods from the time of delivery until the end of the period for which additional loading is required. Similarly, the system calculates the safety stock. All other auto-order processes remain the same.

Using the "Forecast from" date

If you need to load the store for the entire "Additional load" period, the "Forecast from" field must be left equal to "Date from". But there are cases when you need to load the volume, not for the entire period, but for a part. For instance:

In front of New Year, suppliers have a problem with warehouse space and they negotiate with retailers so that they order the New Year's volume in advance. Advance is around mid-November. But at the same time, it is not profitable for the retailer to keep the stock for an additional month and a half.

For this, an additional load is set with a modified "Forecast from" field:

  • Date from - 11.11

  • Date to - 31.12

  • Forecast from - 20.12

  • Nearest order - 15.11

Thus, at 15.11 the system will order the volume of goods equal to the demand for the next delivery cycle + the volume for the period from 20.12 to 31.12. And then system will order only for current sales.

Such agreements are beneficial for both the retailer and the supplier. The supplier - since he does not need to pay for additional warehouse space, and the retailer - because he receives a deferred payment, increases the inventory, and the system accurately calculates the need for the holiday period so that the holiday stock has time to sell.

Adding additional load

To add an additional download, the user has to go to the "Additional load" page:

After page opens, click "Add new record." After clicking, the window for adding items for additional loading opens:

The following fields are presented in the window:

  • Name - name for additional load record (for example, the name of the supplier)

  • Date from - start date of add. load. Additional load will be included in the first order after this date;

  • Date to - the date by which you need to additionally load the goods;

  • Forecast from - the date from which the additional load volume will be calculated. The volume will be calculated from this date to the end date of the add. load (Date to).

  • Promo - filed for choosing a promotion for which additional loading is required (optional field, entered only in case of additional loading for a specific promotion);

  • Stores - selection of stores for which additional loading is required;

  • SKU - selection of SKUs for which additional loading is required.

After completing the data entry, click "Add". After adding, the system will automatically take into account the need for additional loading for subsequent orders of selected products.

Filters

For convenience, the page contains a search by the name of the records (for example, the name of the supplier), as well as a search for individual items with additional load.

Push allocation

The functionality of push allocation allows you to automatically create bulk manual orders.

To create a push allocation, go to the "Push" page and click on the "Create push" button. After clicking, the window for creating push allocation opens. The window for creating a push allocation is very similar to the window for creating diagrams:

When creating push distributions, the system tries to add push orders to existing diagrams, but if there is no diagram for the store-supplier combination, then the system will create an additional diagram for push order.

Creating push allocation for direct delivery

To create a push allocation for direct delivery, fill in the following fields:

  • Name - push allocation name;

  • Source warehouse - for direct delivery must be left as is;

  • Supplier - select a supplier from the list, the same as when creating diagrams;

  • Contract - select a contract from the list, the same as when creating diagrams;

  • Promo - choose a promotion if a manual order is created for a promotion;

  • Order date - select the date of order;

  • Delivery date - select the delivery date;

  • Receivers - similar to diagrams, select receivers from the list. In the case of a manual order, you can select any store from the list, regardless of the created bindings;

  • SKU - in the same way as in diagrams, select goods for delivery - the choice of goods is limited by contract;

  • Email - enter mail to send a manual order. If this field is left blank, then if there is already an existing diagram for the combination SKU-store-supplier, the system will try to send the order to the email specified in the existing diagram. If there is no diagram, then the order will not be sent.

After filling in all the fields, the window will look like this:

To continue, click the "Next" button, after clicking, a window for detailed settings of the order quantity and its allocation type will open:

On this page, the user can import orders amount from a file (see the "Add order quantity from file" section), select the logic for allocation of the order among selected stores (see the "Stores allocation types" section), specify whether the assortment should be kept when creating an order (if you do not check "only in AM", orders will be created for all store combinations selected earlier, regardless of their presence in the assortment).

Also on this page, the user sets the order quantity for each store-product combination. The user can use the automatic allocation of the total order quantity for stores, as well as manually enter the order quantity for each store.

To set an order quantity for a product, enter the desired quantity for the order in the "Total (custom)" field in the line with the desired product:

After entering the order quantity, the user can calculate the allocation of entered amount between the stores for a particular product by clicking on the "Calculate by SKU" button, or calculate for all products by clicking "Calculate". After the calculation, the system displays in the line with product information about the quantity that will be ordered taking into account restrictions on the package and min order, as well as the forecasted stock of the goods in weeks.

To see how the order quantity was allocated between the stores, click on the line with the product. Then the allocation will be revealed:

In the opened allocation the following information is displayed:

  • Store - the number and name of the store in which the delivery will be;

  • Avg. sales - average sales of goods in the store, if there were no sales - the system calculates the theoretical average sales of the store (displayed in brackets);

  • Stock - displays the last product stocks in the store;

  • AM - displays the presence of goods in assortment;

  • Package - displays the multiplicity of packaging;

  • Min order - displays the minimum quantity of goods to order;

  • Order - displays whether the position is allowed to order (selected in the form "Item Parameters"). If there is no check mark, the position will not be ordered, regardless of the user's choice. To order it, user must enable the order in the form "Item Parameters";

  • Diagram — displays a diagram for a product-store combination; the following cases are possible here:

    • If the system finds the product-store combination in an existing diagram, the diagram number will be displayed in this field. A manual order will be added to this diagram once;

    • If the system finds the product-store combination in an existing diagram, but a different type of delivery is entered in the diagram (cross-dock, for example), then the diagram number will be highlighted in red and taken in brackets. A new diagram will be created for the order.

    • If the system does not find the product-store combination in an existing diagram, the field will be empty and a new diagram will be created for manual ordering.

  • Q-ty - allocated total order quantity for a particular store, taking into account the package and min. order;

  • Q-ty (custom) - a field in which the user can manually enter the order quantity for the store. User needs to understand that in this case the total order quantity that was entered earlier will change;

  • Warning — displays system warnings.

After all the data has been entered and verified to create a push, click the "Create Push" button. The user can also indicate whether it is necessary to automatically confirm and send the order by ticking the appropriate boxes next to "Confirm Orders" and "Send Orders".

Creating push distribution for cross-dock delivery

Creating push distribution for cross-docking is almost the same as for direct delivery. In the first window, the user must additionally select " Source Warehouse", then select "Cross-dock" under it, and also indicate the date of delivery to the warehouse.

In the next window, similarly to direct delivery, you need to select the order quantity. In the case of a cross-dock push, package and min order for warehouse are additionally displayed in the line with the product, and whether it is allowed to order product to the warehouse.

Next, the order is set up similarly to direct delivery. The only difference is that regardless of wether the system found the existing diagrams or not - a new pack of cross-dock diagrams will be created for the selected product-store combinations.

Creating push distribution for picking delivery

Creating push distribution for cross-docking is almost the same as for direct delivery. In the first window, the user must additionally select " Source Warehouse", then select "Picking". The next window is similar to direct delivery.

For picking, only warehouse-store orders are created. Orders from the supplier to the warehouse automatically pick up the additional manual order quantity and add it to the next warehouse order. But this happens only for those positions for which warehouse orders already exist.

If the user has selected items that are not delivered to the warehouse, or if it is necessary to make an additional order for the warehouse at another time, then it must be added as a manual event through the "Calendars" form. If this is not done, there will not be enough goods in the warehouse and store orders cannot be completed.

Import push from file

Push distributions can be created manually or completely loaded from a file. It is also possible to load the order quantity for manually created push distributions, the file for such loading is described below.

To download from a file, click on the button  and select "Import from csv". You also need to prepare a csv file with the following fields:

  • SKU_ID - sku number from MySales;

  • STORE_ID - store number from MySales;

  • CONTRACT_ID - contract number;

  • ORDER_DATE - order date;

  • DELIVERY_DATE - delivery date;

  • QUANTITY - order quantity;

  • WAREHOUSE_TYPE - warehouse type. Must be filled only for cross-docking and picking orders. For picking insert letter - p, for cross-dock - d;

  • WHS_ID - warehouse number from MySales. Only for cross-dock and picking orders;

  • EMAIL - mail to which the order will be sent;

  • CLOSEST_DELIVERY - is set to automatically calculate the delivery date of the push. If there is 1 - system will automatically set the delivery date equal to the nearest delivery date;

Note:

  • Deliveries from vendor: the CONTRACT_ID field is filled with the vendor's contract ID, and the WHS_ID field is not filled.

  • Deliveries from DC warehouse: the CONTRACT_ID field is filled with the identifier of the supply contract with the DC, and the WHS_ID field contains the DC warehouse ID.

An example file can be found at the link - Import Push.

Add order quantity from file

For convenience, the user can upload a manual order quantity from a file, rather than manually. To download from a file, click on the button  in the window with the choice of the quantity of the manual order, as well as prepare the import file. The file can be in the formats csv (with a semicolon delimiter), tsv (with a tab delimiter) or txt (with a semicolon delimiter). There are two different variants of file, which differ in columns:

  • File with only the SKU list and quantity values for subsequent automatic distribution to stores. This file should have columns SKU_ID and QUANTITY (quantity for distribution);

  • File with SKU-Store combinations and specific values for distribution to the store. This file should have columns SKU_ID, STORE_ID and QUANTITY (quantity for distribution);

You can find examples of files at the links - File with SKU, File with SKU-Store.

Stores allocation types

The system has three options for distributing a given quantity of goods among stores:

  • Average Sales - the target amount is distributed based on the average sales.

  • Average Forecast - the target amount is distributed based on the average forecast.

  • Distribute to all - unlike the previous options, the system does not calculate the quantity, but distributes the same quantity of goods to each store - which is specified in the "Total (order)" field.

Distribution algorithm

The distribution algorithm is based on leveling the stock in weeks across all stores. The system iteratively distributes the multiplicity of packaging to all stores, starting with the largest relative to the forecast / average sales. The base stock in weeks is the stock for the store with the highest forecast / average.

The logic of the algorithm is described below:

  • We calculate the current stock in weeks (real stock / forecast or average) for the store with the highest average / forecast - and take it as the base one.

  • We compare the stock in weeks for subsequent stores with the base one.

  • If the stock in weeks for the store is larger than basic, go to the next store.

  • If the stock in weeks for the store is smaller than basic - system adds the multiplicity of packaging to the store until the stock of the store becomes larger than basic (as soon as it becomes larger, we leave the quantity obtained on the previous addition)

  • When all stores have been passed and their stock is aligned relative to the base one, go to the next iteration (return to the base store)

  • The next iteration begins if there is still a quantity to be distributed - system adds the multiplicity of packaging to the basic store (the largest one). We calculate the new base stock in weeks and repeat the previous algorithm.

  • The algorithm continues as long as there is a quantity to allocate.

There is also a parameter that allows user to add or subtract a specified number of weeks from the base stock in weeks at each stage before comparing with the stock of other stores. By default it is 0. The parameter is configured on the MySales side.

For example: parameter 1, the stock of the base store in weeks is 5, and the stock of the checked one is 5.5 (it does not receive the goods with the standard parameter 0). When using the parameter = 1, the base stock will become 6, and in this case the store will receive a distribution.

Increasing the parameter leads to a more even distribution across all stores. Stores receive packaging faster, and as a result, the number is sufficient for more stores. In this case, stores with large averages / forecasts will end up getting less, and stores with smaller ones will get more.

Decrease leads to the opposite. Stores with large averages / forecast will receive more goods, small ones may not receive anything at all.

New stores

Description

"New stores" page allows user to add new stores and calculate forecast for them which is based on data from comparable stores. When the system is building the forecast, it takes into account the coefficient of influence of each of the analogs, which were set when user was adding a new store.

The list of new stores is displayed in the form of a table that has the following fields:

  • New store – id and name of new store;

  • Comparable store – id and name of comparable store;

  • Coefficient – similarity coefficient of new store and comparable;

  • Start date - the date from which the order to the new store will be calculated as an order from a comparable one, multiplied by a coefficient;

  • End date – date, after which the order in the new store will be calculated from the sales of the new store;

  • Updated – date of the last change of data about the new store.

Adding new store

To add a new store, click the "Add New store" button:

After clicking the button, a modal window for adding a new store opens, which consists of the following fields:

  • New store - name of the new store. Selected from the drop-down list, to open which you need to click on the box near the "New store" label (in order for the store to appear in the list, it must be written into the appropriate table in the DB);

  • Comparable store – the name of the comparable store. Selected from the drop-down list, to open which you need to click on the box near the "Comparable store" label;

  • Coefficient - similarity coefficient (a number from 0 to 1, if the value is 1 - stores are similar);

  • Start date - the date from which the order to the new store will be calculated as an order from a comparable one, multiplied by a coefficient;

  • End date - date of the last change of data about the new store. After the end date, the new store record becomes inactive and is no longer used.

Working with new stores

The user has a possibility to perform the following actions with a record of a new store in the table:

  • Editing data about new store. To open the editing window, click on  button. After clicking on the button the editing window opens:

The user can change the coefficient, as well as the end date.

  • Delete the new store. To delete, press the button . After clicking, the new store will be deleted.

Filters

For more convenient display and search of the new stores on the page "New stores" the following filters are present:

  • Only active records - Enabling and disabling displaying of inactive records in the table. To display only active, check the box.

  • Search string - the search is done by the name of the new store.

Additional presentation

The functionality of additional presentation is used to temporarily increase the presentation of goods in the trade hall. Usually, additional presentation are set up for promotions. This additionally increases the presentation of the goods by the quantity specified when set and subsequently increases the order of the goods for the selected period.

Adding additional presentation

To add an additional presentation, the user have to go to the "Additional presentation" page:

After going to the "Additional presentation" page, user have to press the "Add new record" button. After clicking, a window will open for adding an additional presentation:

The user enters the following fields:

  • Name - name of record;

  • From - start date of the additional presentation;

  • To - end date of the additional presentation;

  • Promo - selection of a promo, for which an additional presentation is placed;

  • Sku - selection of goods for which additional presentation will be set;

  • Stores - selection of stores for which additional presentation will be set.

After filling in the fields, user have to click "Next", after clicking a window will open in which the user have to specify the number of additional presentation for each selected position. This can be done either manually or downloaded from a file. The file format is described in the section Import from file:

This window displays the names of the selected goods and their presentation stock in the system (displayed opposite the name). To open the list of stores, click on the name of the product. In the field opposite the store name, the user indicates the required number of additional presentation. To add an additional presentation, user have to click the "Create" button.

Import from file

The user can import the required number of additional presentation from the file. To do this, in the window for selecting the number of additional presentation, user have to click on "Import". The import file must be in csv or txt file delimited with ; (semicolon) and have the following columns:

  • SKU_ID - MySales SKU number;

  • STORE_ID - MySales store number;

  • QUANTITY - number of add presentation.

Tender Items

The tender items functionality is used to replace a supplier for selected items. Usually, a replacement supplier is used in cases where several suppliers can bring an item, and the one that offers the best conditions is chosen.

Initially, orders are created for the supplier, which is entered in the diagram, but the user can change this supplier already in the order itself. To be able to replace a supplier, it is necessary to enter contracts of all suppliers who carry goods on the "Tender Items" page:

Adding contracts

To add an alternative supplier for an item, user have to add a corresponding contract. User can add any number of contracts for one position.

To add a contract, user have to click "Add new record". After that, the window for adding a contract will open:

The user fills in the following fields:

  • SKU - selection of an item for which user wants to add a supplier;

  • Supplier - supplier selection;

  • Contract - contract selection;

After filling in the fields, the user have to click the button  to add a new contract to a product. After clicking the contract will be added, the user can add several contracts by changing the data in this form.

After all the necessary contracts have been added - user have to click "Save". To delete a contract, click .

Changing contract in order

After the necessary contracts are added on the "Tender Items" page, the user can modify the contract and the corresponding supplier on the "Orders" page.

You can change the contract both at the level of the entire order - in Headers, and at the level of one item in the order - in Lines.

In the case of a change in the contract at the level of the entire order, in the Headers click on  in the line with the order and select "Change contract". After clicking, a window for changing the contract will open. The contract will be changed only for those items from the order, to which the alternative agreement is linked on the "Tender Items" page. The rest of the positions will remain unchanged.

The window displays information about the position, as well as a list of contracts to which you can change the current one. To change it, select the desired agreement and click "Apply".

After changing, the system looks for whether there is already an order with the contract selected in the previous step. If an order is found for the store and date, the system adds items from the original order to it. If not found, the item creates a new order with a new contract and items. In the original order for this item, the "Order (custom)" field will be set to zero.

In the case of changing the contract for a specific product, user have to click in the Lines  on the line with the order and select "Transfer to another contract". After clicking, a window for changing the contract will open.

In the window, the user have ti select a new contract and the quantity to be transferred. By default, the entire quantity is displayed, but the user can only transfer part. It is important that the quantity should be a multiple of the packaging.

After application, the system similarly searches for an existing order, if it is found - the item is added for it with the selected quantity. If not found, a new order is created. In the original order, if the entire quantity is transferred, "Order (custom)" set to zero, if part of the order is transferred, then the difference between the original order and the transfer will be entered in the "Order (custom)" field in the original order.