4. Stock Management

0. Stock Reservation

Warning

Important point to understand

Stock reservation of ERP differs from a native Magento installation.

This section is mandatory to be read and the options are mandatory to be configured and understood before going in production with ERP on your live site.

We always recommend to install and configure ERP on a test server first.

It is very important to do some tests with these options.

1. Stock Reservation process

  1. When an order is passed on magento, order is Not yet considered by ERP

 -> You see a red message in Sales order view

-> In the tab preparation of an order, no stock is reserved

  1. magento cron passes, checks, process all order “not yet considered”

(that’s why you get the red message “Order not yet considered by ERP” before this step)

  • Using the option defined here : System -> configuration -> ERP -> Advanced Stock -> Router to associate order items to warehouse
  • ERP tries to

     - allow a warehouse (based on router rules)

     - reserve stocks for each sale order product

  • ERP reserves stocks if

  - the product is stock managed

  - if the warehouse is allowed for sales, in warehouse assignment

  - ERP will reserve what is possible in the Available qty based on the ordered qty.

  • Stock quantity is not decreased at this stage. ERP reserves stock only.
  • If the ordered qty is fully reserved. When you will ship the order, the stock will be decreased and the reservation will be released.
  • Dispatch the order to the “order preparation” screen, and will appear in different tab depending if the order is valid, if there is fullstock or not.
  • ERP refresh the “product availability status” of the product reserved. Impacted products can go into “Out of Stock” if the “Available Qty”  = 0 (this depends also of the back order settings)
  • Create the planning for the order (if the option is checked)
  1. Now order is “considered by ERP”

 - Order is display in “order preparation” screen of ERP

 - In the sales order grid, you see the planning date in the last column

  1. Stock reservation

Once stock is reserved, you can check that in the tab “Preparation” of the order (Sales -> Orders -> Select an order -> Tab preparation )

You can check also in the Tab stock of the ERP view of a product (ERP -> Products -> Select a product -> Tab Stock)

Ex : Let says you have 10 items in stock for a product A. An order arrives and reserves 2 items.

So the Stock Qty of Products A stays at 10 and the available quantity is reduced to 8.

ERP will decrease the physical Stock only once the order is shipped (when the shipment is created in Magento or using the order preparation tool)

In our example, Once you ship the Order, the Qty will be 8 and the Available Qty will be 8 too.

if the Magento native order process is not clear for your, please at least read : http://documentation.boostmyshop.com/embedded_erp/14_faq.html#magento-order-status-and-erp

2. Options that affect Stock reservation

1) The reservation router

See also

System -> Configuration -> ERP -> Advanced Stock -> Router to associate order items to warehouse

Behaviour description : http://documentation.boostmyshop.com/embedded_erp/4_stock_management.html#router-to-associate-warehouse-to-order

2) Magento settings

See also

System -> Configuration -> CATALOG -> Inventory -> Decrease Stock When Order is Placed

This option must be set to “No” when you use ERP.

ERP reserve stock and when an order is shipped, the stock is decreased. If this option is set to yes, you will get the stock decrease twice.

3) Valid order

(Since ERP 2.9.3)

System -> Configuration -> ERP -> Advanced Stock -> Valid orders -> Don’t consider stock for invalid order

If this option is defined to yes, ERP will reserve stock only for valid orders

To modify valid order rules:

See also

 System -> Configuration -> ERP -> Advanced Stock -> Valid orders

Settings description : http://documentation.boostmyshop.com/embedded_erp/4_stock_management.html#valid-orders

4) Simple, configurable, Bundle product types and Stock reservation

http://documentation.boostmyshop.com/embedded_erp/4_stock_management.html#configurable-bundle-and-others-products-types

Warning

All these options and settings must be understood, fine tuned, tested in your process before going in production

3. Summary

To resume

  1. If you have enough stock -> ERP reserve products (for each warehouse configured in router and assignment option, + if order is valid, depending of valid order options) on if cron is passed.
  2. If you have no stock available and you don’t allow back order, customer can’t buy the products on front.
  3. If you have no stock available and you allow back order, It does not reserve nothing, it create a supply need (cf ERP -> Purchase -> supply needs screen). In this case, You need to create purchase order. Once the purchase order is validated (status waiting for delivery) it update the product availability date.To understand supply need screen : please read : http://documentation.boostmyshop.com/embedded_erp/6_purchase.html#supply-needs-list
  4. Once you receive product from your supplier, all the customer orders that were pending for reservation will be automatically reserved before the new ones in the order they were passed, from the oldest to the newest, in the limit of the quantity received.
  5. In order preparation screen, if all products are now reserved, these orders will go from ‘Stockless orders’ tab to ‘Fullstock orders’ tab. To understand the order preparation tab logic, please read : http://documentation.boostmyshop.com/embedded_erp/7_order_preparation.html#orders-selection

4. Troubleshooting

If you encounter a global stock reservation problems

3) ERP UPGRADE ISSUE

If you upgraded from a very old version (before 2012) of ERP and the message “order not yet considered by ERP” remain, please play in SQL

ALTER TABLE `sales_flat_order`  CHANGE  `stocks_updated`  `stocks_updated` TINYINT( 2 ) NULL DEFAULT  '0'UPDATE `sales_flat_order` SET `stocks_updated` = 0 where `stocks_updated` IS NULL;

Then wait for the cron to run.

5) ERP ROUTER mis-configuration

See also

System -> Configuration -> ERP -> Advanced Stock -> Router to associate order items to warehouse

http://documentation.boostmyshop.com/embedded_erp/4_stock_management.html#router-to-associate-warehouse-to-order

4) DEADLOCK MySQL on warehouse assignment

On some server, you can encounter some deadlock on reserving stock.

If you notice that :

  • on the ‘Preparation’ tab of an order, the warehouse is not selected even if you configured everything correctly regarding the other link of this page AND you are sure the order has been “considered by ERP”)
  • Please activate your magento logs and next time it happen look at the file : /var/log/erp_new_orders_consideration.log if you see inside some deadlock issue in the log that match with the non reserved order.

Solutions

Activate the deadlock Protection :

See also

System -> Configuration -> ERP -> Advanced Stock -> General -> Deadlock protection -> yes

If the problem remain, please contact the support.

1. Configuration details

1. Configuration

Configuration of this part is available under menu

See also

System > Configuration > ERP > Advanced Stocks

2. General

Setting Description
Validate payment when invoice is created ERP adds a new tab in the sales oder sheet to define if an order is paid.. . Enabling this option, the flag “Payment validated” is automatically set to true when an invoice is created.. . This is useful as many payment gateway automatically creates order’s invoice when payment is accepted..
Replace inventory tab in the magento product page If enable, the inventory tab of product page will be replaced by ERP’s
Restore is in stock when product back in stock Yes / No
Disable product reindex Apply only if you experience performance issues
Display picture in ERP product grid. Display the product picture in ERP product grid
Deadlock protection. To use only if you experience MySQL Deadlock issuesNote : this option has to be activated only on magento >1.6.

3. Cron

Setting Description
Show debug html output If enabled, show debug information when call manually the cron
Update order product stock max Put a value to inform the number of order to be treated

4. Valid orders

See also

System > configuration > ERP -> Advanced Stocks > Valid Order

LOGIC

When an order in Magento (From the front, from an import, from the back office ...)

There is basically 3 cases :

  • the order is payed now
  • the order will never be payed
  • the order will be payed later

Because of this, the idea is to separate the payment act by itself to the need to see an order to be process or not.

So because of that, an order is seen by ERP as VALID or NOT VALID.

DISPLAY

ERP displays if an order is VALID or not in :

  • the tab preparation of an order
  • In the pending sales order tab of a product
  • In the sales history tab of a product

IMPACTS

An order with the qualifier “invalid” will undergo this things :

  • IGNORED TAB In the order preparation page, the order will being displayed in the tab “ignored orders” to avoid the operator to process them.
  • MIN QTY For the supply needs, the system will display the necessary quantities for all orders and also for the valid orders. (Min Qty)
  • STOCK RESERVATION if you activate the option, “Don’t consider stock for invalid order”, if an order is not valid the stock will be NOT reserved.

See also

System -> Configuration -> ERP -> Advanced Stock -> Valid orders -> Don’t consider stock for invalid order

Else, by default, ERP reserve the stock as possible for all incoming order except “cancelled”, “complete” or “closed” orders.

To summarize :

  • A VALID order can be shipped
  • The missing product of VALID order can be purchases
  • A NON VALID order CAN’T be shipped, they remain in Ignored tab
  • The missing product of NON VALID or not purposed as a MIN Suggestion in the Supply need screen

USE CASES

See also

System -> Configuration -> ERP -> Advanced Stock -> Valid orders

SET Don’t consider stock for invalid order = yes

Set: Exclude order with status -> add “On Hold”

-> save

-> Click update all valid order

Utility : It give you the possibility to choose to don’t reserve the stock of a given order that was reserved.

VALID ORDER CALCULATION

Each time and order is updated (stock entry, invoice paid ..), ERP will try to recalculate if an order is valid or not

The system will check each option described here in the order they are define in the option want will determine if the order is valid or not.

A few examples to understand the calculation done by ERP to determine is an order is valid or not :

Case of the BtoB :

  1. Order arrive in magento : Not Valid
  2. Order is not paid/not invoiced : Still not valid
  3. Order’s customer belong to “Wholesales” and wholesale user pay you after 30 days,

so you set them in Force order to valid if customer group is Force order to valid if customer group is “Wholesales”

–> Order Is valid

Normal BtoC payed order by credit card

  1. Order arrive in magento : Not Valid
  2. Order is not paid/not invoiced because the payment method create the invoice : Order Is valid

It is Valid because of

See also

System -> Configuration -> ERP -> Advanced Stock -> General -> Validate payment when invoice created : YES

and

See also

System -> Configuration -> ERP -> Advanced Stock -> Valid orders ->  Require payment validated flag : YES

OPTIONS

Setting Description
Require payment validated flag Select yes to valid an order. . The payment flag is set to Yes automatically when an order is invoiced or when you set it manually.. . Payment validated must be true to make order valid. Payment validated is usually toggled to yes when invoice is created. . it is usually necessary to set to yes the option : System > configuration > ERP -> Advanced Stocks -> general -> Validate payment when invoice created.
Don’t consider stock for invalid order Automatic stock reservation and availability status impact will be disable for not valid order. (Since ERP 2.9.3).
Force order to valid if shipping method is Force an order to be valid depending of the shipping method (multi selection possible)
Force order to valid if customer group is Force an order to be valid depending of the customer group (multi selection possible)
Force order to valid if payment method is Force an order to be valid depending of the order payment method  (multi selection possible)(Since ERP 2.9.3)
Exclude order with status Choose the type of orders to exclude (the order will be non valid)
Update is_valid for all orders When you change order validity conditions, after saving new conditions click on this button to update orders validity

1. Unreserve stock for other order

The Embedded ERP will automatically reserve product.

If you go to ERP > Products and you to go to one product, in the left tab you can see “Pending sales order”. Go to this tab.

Here you can release product. But if you do it, the ERP will reserve again the product.

So, if you want to release a product you have to :

  1. Activate the option :  System > Configuration > ERP > Advanced Stock > Valid orders > Don’t consider stock for invalid order
  2. Setup correctly System > Configuration > ERP > Advanced Stock > Valid orders, especially to set as Invalid the order with the status “Hold”
  3. Hold the concerned order, if you don’t consider hold order as valid order, ERP won’t reserve stock for the order (you must let hold).
  4. The stock will be automatically reserved for an other order.

5. Barcode Label

See also

ERP > Products > [ Select a product ] > “Barcodes” tab

There are 2 modes for managing product barcodes:

1 - The first one enable you to set many barcodes for the same product.

Note

The drawback is that information is enclosed in ERP in the table purchase_product_barcode

2 - In the second mode you set a product attribute for a barcode, the advantage is that this info is visible in all Magento.

Where can I select the mode to use ?

See also

System > Configuration > ERP > Advanced Stocks > Barcodes

Leave “Barcode attribute” field empty in order to use the Multiple Barcodes management mode.

MODE 1: Multiple barcodes

By default, you can put several barcodes separated by a new line in Product Barcodes field

Note

The first will always be printed on the label

_images/74e43a655f5454d0654804c9286e9a4a.png

MODE 2: 1 barcode per product

If you already own a barcode management (like Barcode Label or an attribute like “ean” for example), you can configure ERP to take care of the existing barcodes.

To do that, choose the attribute that contain existing barcodes in System > Configuration > ERP > Advanced Stocks > Barcodes

_images/73e2d3bc3e68bb496d98918f173cb4e2.png

Options for printing

See also

System > Configuration > ERP > Advanced Stocks > Barcodes labels

Setting Description
Row count Number of lines per page
Labels per row Number of barcode per Row
Paper height Page height in cm
Paper width Page width in cm
Top margin Margin above each barcode in cm
Left margin Margin at the left of each barcode in cm
Right margin Margin at the right of each barcode in cm
Bottom margin Margin below each barcode in cm
Vertical inter margin Space between 2 rows in cm
Horizontal inter margin Space between 2 columns in cm

How to import barcode

How to configure barcode

6. Barcodes

See also

System > Configuration > ERP > Advanced Stocks > Barcodes

Options

Setting Description
Barcode attribute Select the barcode attribute that you have created and which will contain the products barcode using by ERP.. . If you type nothing (by default) it’s the ERP who will manage products barcodes (that you must fill in ERP product page)..

Impact of this option

You have 2 choices

1 - Choose to use an existing attribute to save the barcode.

Advantage :

  • the attribute can be shared with other part of ERP as it is a native product attribute

Withdraw

  • you can save only 1 barcode per product
  • save of the product can be a little slower on some configuration

2 - Choose nothing in the list, you will use teh ERP native barcode management system.

Advantage

  • You can save a list of barcode for a product
  • Faster save of a product

Withdraw

  • the barcode are saved in the SQL table purchase_product_barcodes, so if some tiers extension need these information, you need to do some custom development to access this information.

7. Misc

You can show / hide additional information like the size, color of a configurable product.

This information will being displayed in a new column « attribute » in the top of the ERP product page.

This column are also visible in the supplier orders when adding products and also in the supply needs.

_images/12cc44012dbac6c2ae8a09a8f21b1276.png
Setting Description
Display configurable attributes Yes / no : allow displaying attributes of configurable products (color, size, etc)

8. Sales history

You can read the history sales of a product that will display :

  • The number of sales by period. Three period are configurable, you must fill the number of weeks for each other
_images/b8e23ceac32510968698ba16cc8e5b14.png
  • The ideal stock and the alert
_images/fdb586dbd7d2a7ee26720f6df20bbdfc.png
  • You have also a summary of product orders
_images/eb6892ddb771f89ecf1351e75f688926.png

System -> Configuration -> ERP -> Advanced Stock -> Sales history

Setting Description
Enable auto update (every sunday night) Yes / no
Week number for period 1 Enter a value
Week number for period 2 [...]
Week number for period 3 [...]
Update for all products Click on the button to activate

9. Router to associate warehouse to order

See also

System > Configuration > ERP > Advanced Stock > Router to associate order items to warehouse

Setting Description
Priority Select algorithm to select the warehouse to associate to sale order items
Default warehouse Choose a warehouse

Note

Please note this option is accessible under each website view in System -> config  panel.

Magento in multi-website

If you are using Magento in multi-website mode and you want to set some different “reserving rules” based on the order’s website origin.

  1. select the desired website (grey highlighted) in the drop down menu of the top corner left in system-configuration (“Current Configuration Scope:”) .
  2. Unset ‘Use default option’ on both settings.
  3. Set a desired “default warehouse” + select the last option of the list (Affect to default warehouse) adn save.

The options are

Affect to favorite stock, Affect to warehouse having stock, affect to default warehouse

Affect to warehouse having stock, affect to favorite stock, affect to default warehouse

Affect to warehouse having stock, affect to default warehouse

Affect to favorite stock, affect to default warehouse

Affect to default warehouse

  • Since ERP 2.9.3 : Affect to default warehouse if has stock, affect to warehouse having stock

Explanation

Each product could have stock in different warehouse.

  • Affect to warehouse having stock -> will select the warehouse in the display order of the list and the first that have stock will be selected
  • Affect to favorite stock -> will select the favorite warehouse for a product (you can select a favorite warehouse for each product by check the check box in the ERP product view, tab Stock, where you see the warehouse list with stock, reserved qty, ideal stock level ...)
  • Affect to default warehouse : product will try to be affected to the default warehouse selected in this configuration screen (or in the website view of the configuration screen.)

These rules will be executed in the order they are written.

Ex 1

Rule selected : “Affect to favorite stock, Affect to warehouse having stock, affect to default warehouse”

Default Warehouse : W2

An order need to reserve Qty = 2 for the product “ABC”

Product ABC has 3 warehouses W1, W2 and W3

W1 : Stock for ABC = 0

W2 : Stock for ABC = 0

W3 : Stock for ABC = 10

No favorite warehouse selected.

So :

Affect to favorite stock  : will do :  nothing

Affect to warehouse having stock : will do :  reserve qty = 2 in W3

the algorithm is stopped

Ex 2

Rule selected : “Affect to favorite stock, affect to default warehouse”

Default Warehouse : W2

An order need to reserve Qty = 2 for the product “ABC”

Product ABC has 3 warehouses W1, W2 and W3

W1 : Stock for ABC = 0 (favorite Warehouse)

W2 : Stock for ABC = 0

W3 : Stock for ABC = 5

  • If back order with QtyBelow 0 is selected for this product :

Affect to favorite stock will do : W1 = -2

  • If back order with QtyBelow 0 is NOT selected for this product :

The warehouse will not be assigned because W2 have not enough stock

The algorithm is stopped.

10. Warning stock and ideal stock

See also

System > Configuration > ERP > Advanced Stock > Warning stock and ideal stock

Ideal stock level default value : The default value used for all products for the Ideal stock level.

Note

the warning stock level default value is in System > Configuration > Catalog > Inventory > Product Stock Option > Notify for Quantity Below

Enable auto calculation : If you activate auto calculation, every sunday night at 2am, ERP will process all products and update ideal and warning stock levels based on sales history using the formula defined below.

Default one is

round(((s1 / w1) + (s2 / w2) + (s3 / w3)) * (duration / 3))

The formula can use several variables :

  • s1 = number of sales for history range #1
  • s2 = number of sales for history range #2
  • s3 = number of sales for history range #3
  • w1 = number of weeks for range #1
  • w2 = number of weeks for range #2
  • w3 = number of weeks for range #3
  • duration = Calculate needed qty for X weeks

Minimum value to apply : Minimum value applied by auto-calculation on warning stock level and ideal stock level. This option is design to prevent auto calculation to set 0 in warning stock level on the first month of a product.

Subtract X% to calculate warning stock level : % of the ideal stock stock level to calculate the warning stock level.

Example

If formula calculates an ideal stock level of “10”

If you set 30% here, warning stock level will be changed to “7”

Enable for Warehouses : Choose the warehouses for which the formula will be applied only. It enable you to apply this auto calculation only for some warehouses

How it work

To get the supply needs screen impacted by the auto calculation functionality, please checks

  1. the warehouse you use
    • is allowed for sales (warehouse assignment)
    • the option “Enable for Warehouses” in this screen is defined
  2. Enable auto calculation is enabled
  3. You are after a sunday :) (the job of updating warning stock level and ideal stock levels is done  every sunday night at 2am)
  4. You have some past and present sales on this product

11. Stock errors verification

Setting Description
Check stock, ordered qty, reserved qty Yes / no
Check purchase values Yes / no

12. Serials Numbers

I. Serials Numbers

In ERP you have the possibility to keep an history of the serial numbers used for a given product in.

ERP > Products  > Select a product -> tab barcode -> section serials

A serial can be linked to

  • Nothing : the goal is to identify the products you have before using ERP.
  • A purchase order : the goal is to identify which unit product you have bought.
  • A customer order : the goal is to identify which unit product you have shipped.

You can enter serials number in many places :

1- Sales > Orders > Order view > Preparation Tab

-> the serial will be linked with the customer order and the product

2- ERP > Purchase Order > Deliveries (when you receive a purchase order) :

http://documentation.boostmyshop.com/embedded_erp/6_purchase.html#products-arrival-purchase-order-delivery

-> the serial will be linked with the purchase order and the product

3- ERP > Order Preparation > Prepare Order > Packing :

http://documentation.boostmyshop.com/embedded_erp/7_order_preparation.html#packing

-> the serial will be linked with the customer order and the product

4- ERP > Products  > Select a product -> tab barcode -> section serials

-> the serial will be linked only with the product

Examples :

When you create an order or packing :

_images/60fb197eb601c108018be9547fc9f29b.png _images/611518fbee4c79b4d6d05e2d3d47a761.png _images/54a3bb977aa5f8e5af20939c4fe36941.png

When you receive a purchase order :

_images/7c8d7af1612cd589b2d2c5f91d7e2404.png _images/7fd73c82c2a7a7938bc6b363ec272f4c.png

2. Manage warehouse

1. Warehouse

_images/05f7c67c785f731ae1afcffdcc755564.png

Embedded ERP manages multi stocks and multi warehouses. It means that you can create several warehouses and assign a role (assignment) to each on.

What we call “Stock” is the association between a product and a warehouse.

To manage warehouse, select menu ERP > Stock management > Warehouse

By default, only one warehouse exists: default warehouse.

To create a new warehouse, click on the “New” button in the upper left corner.

To edit a warehouse or consult warehouse’s stocks, click on the default record.

2. Edit warehouse

Information

This tab summarize main information about the warehouse

_images/8a8a15a0e7cb5748e0760e7df581391d.png
  1. the “name” is  displayed in every page of ERP (Order preparation, stock editor etc ...)
  2. The “codee is useful for Import features : cf ‘stock_code’ in

http://documentation.boostmyshop.com/embedded_erp/13_miscellaneous.html#export-data

  1. the description is really informative
  2. The address will be use in the purchase order PDF. It is logic, you must define where you will receive good from your suppliers
  3. Check “Disable supply needs” if you want to set a warehouse let says for Broken / non sellable products. This need this warehouse will not be take in consideration in “ERP - >purchase -> Supply needs” screen calculations

Since ERP 2.9.3, there is button to give the possibility to delete a warehouse. The default warehouse can’t be deleted.

Assignments

This part is very important !

With assignments, you can define the warehouse roles for the magento websites.

Basically, 2 websites exists :

  • Main website : default website for the front
  • Admin : this website is used when you place order using magento back office form to create orders.

Each column matches to an assignment.

_images/81e58b85943fcc2974a3c6d3f8dbc0d7.png

The following assignments are available :

Assignment Description
Sales This is probably the more important assignment : saying that a warehouse fulfills “sales” assignment means that warehouse’s stocks are available for sales for the current website : if a website contains several warehouses as “sales”, the whole stocks will be available for sales.. . On the other hand, if a website has no warehouse for sales, all product wont be “out of stock”..
Order Preparation Tick this box, is mandatory for stock reservation** . . It’s important to understand the difference between “sales” and “preparation” assignments : let’s consider a company with a main warehouse but also a physical store with a few products.. . This company sells products both on its website but also in its physical store : in this configuration, we have 2 warehouses : the main one and the physical store. However, we want that twice stocks are saleable from internet : in this case, we’ll assign “sales” assignment to the main website for each warehouse. However, as a website can have only one “preparation” warehouse, we’ll affect the main warehouse to the “preparation” role.. . If a customer buys from the website a product that is located in the physical store only, the order will appear as “out of stock” as the system cant reserve product from the main warehouse.. . In this case, you have to create a stock movement from the “physical store warehouse” to the “main warehouse” in order to reserve product for the order and then prepare it..
Product return Warehouse to receive the “back in stock quantity” when you process a RMA with the “RMA/product return” module. . When you process an RMA and you choose any action and “back to stock” option, this warehouse will be used as destination for the stock movement created.. .  .
RMA reservation It says that this warehouse can be used for the product reservation and release in the “RMA/product return” extension.. . In the “RMA/product return” module, in each “product return” screen, you have a Tab called ‘Product reservation”. inside, for each product there are two types of buttons action , “Reserve” and “Release”.. . If you don’t have ERP installed, theses buttons will reserve and release in the magento default stock. With ERP installed, the reservation will be done in the warehouse you check this assignment.. . As a best practice, we recommend to select this assignment ONLY one for warehouse per website.. .  .

Each time you change a Sales assignment, you have to refresh the product availability statuses of all the associated products with this warehouse.

Please go in ERP -> Tools -> Products availability status for that.

Products

This tab lists all product available in the warehouse

_images/4888187863396c326bf6c34324e13351.png

Export

This tab allows you to export your products in the current filing.

You are able to export at a specific date : The export uses stock movements dates, this way, you are able to know your stock levels for a date in the past.

See also

ERP > Stock management > Warehouse > edit a warehouse > tab Export

If you choose a date in the past, you will have the stock since the day before at 23h59

To export stock levels, fill the max date (YYYY-mm-DD) and click on the export button.

The information in this file are:

  • manufacturer
  • product id
  • sku
  • name
  • cost
  • quantity
  • status

Warning

The generated file is not compatible with the “import”.

Import stock

This tab allows you to import products in the current filing. To create your own import file proceed as follows:

  1. create a file with the extension text or CSV you can named it like you want (example “import from main warehouse.txt”)
  2. copy / paste the sku of each products that you want to import like this :
sku;quantity

Here an example of import file :

bb8100;123
8525PDA;456

These two lines contain respectively the reference and the quantity of each product. Separate out these two pieces of information by semicolon.

Warning

Import qty on existing products will replace the existing quantity

Import shelf location

This tab allows you to import the product shelf location. To create your own import file proceed as follows:

  1. create a file with the extension text or CSV you can named it like you want (example “import_shelf_location.txt”)
  2. copy / paste the sku of each products that you want to import like this :
SKU1;SHELF_LOCATION
SKU2;SHELF_LOCATION

Here an example of import file :

8525PDA;A1
bb8100;C3

3. Router

With ERP, an order can be fulfilled from several warehouses : it is the sales order item that is associated to a warehouse.

To display the warehouse for each order item, go in the “preparation” tab in order sheet.

To set a warehouse to each order item, ERP use a “router” program.

Tto configure router behavior, go in

System > Configuration > Advanced stock > Router to associate items to warehouse:

_images/afe4bc98e5a56a996f45006b4f3a1ea2.png

If you use a single warehouse, you can pass this section and keep the default settings.

Default warehouse is the warehouse used if router is unable to find a warehouse matching to router priority.

With priority, you can set algorithm used to affect a warehouse to order item. Several conditions can be used :

  • Favorite warehouse : for one product, favorite warehouse can be set in ERP product sheet. (use mass import to set this feature smartly on many product)
  • Warehouse having stock : match to a warehouse having an available quantity greater than 0
  • Default warehouse : warehouse set below using the drop down list.

Only warehouses having “preparation” assignment for order’s website can be used.

Limitation : ERP can book quantity only on one warehouse per product and per order. The router will just enable to choose automatically this warehouse.

For multiple Web stores

This setting can be overridden at website level using the drop down list of the system configuration screen, on the top corner left of the screen.

for more details about these options, please look at

http://documentation.boostmyshop.com/embedded_erp/4_stock_management.html#router-to-associate-warehouse-to-order

6. Delete a warehouse

See also

ERP > Stock Management > warehouses > Edit a warehouse > button delete

Since ERP 2.9.3.x you can delete warehouses.

Since ERP 2.9.5.0 you can hide a warehouse in ERP > Stock Management > warehouses > Edit a warehouse > information tab > Hide warehouse

First, transfer all products to another warehouse, using

  1. manual stock movements (if you have not a lot of product inside)
  2. or Stock transfer tool ERP -> Stock Management -> stock transfer

Once you warehouse is empty (0 stock for all products)

You can click on delete button.

Warning

It is not impossible, for technical reason in magento, to delete the first warehouse of the list (warehouse ID = 1) because it is the default stock used in magento

7. Stock value

See also

ERP > Stock Management > Warehouse > [Select warehouse] > Export tab

  1. Export the stock at the date you need.
  2. Rename the file export.csv.
  3. open the file in a software like Excel  In excel, you get a column COST and a column QTY. Do a new column where in you calculate COST x QTY. Then, do the sum of this new column to known the Stock value for this warehouse

3. ERP Product view

0. Product grid

See also

Available in menu ERP > products

From this grid you can see and search products :

  • Name
  • SKU
  • Barcode
  • Cost, price and margin
  • Stock Summary (Available Qty / Total Quantity)
  • Suppliers
  • organiser,
  • Image

Note

Since ERP 2.9.3, a mass action enables to link a list of product with a Supplier

_images/449939acfa3ee4a1584b81b4a49f7776.png

1. Stock settings

Available in ERP > products > Select a product > tab Stock

This section contains parameters to define stock behaviour for the current product.

Those information are also available in the magento product sheet, in the Inventory tab

_images/8c7fda7d07a25849f5d0ff24690f56a4.png

For every setting, you can choose to use the default magento configuration (set under System > Configuration > Product > Inventory > Stock options) or set a custom value for this product.

Manage stock: If set to false, product stock won’t be managed : it means that this product won’t have stocks movements, warehouses, supply needs ....

Warning

It is mandatory to disable stock management for bundle, configurable and grouped products.

To do that : select Manage stock : set No and click on save.

Backorders: If set to “No Backorder” your customer can’t buy this product if the sum of the available qty is equal to 0 for all the warehouse with the sales assignment in ERP > Warehouse > Assignments tab.

To resume:

  1. When “Is in Stock” = “Out Of Stock”, product can’t be bought.
  2. If set to “Allow Qty Below 0” or “Allow Qty Below 0 and Notify Customer”, BackOrders are allowed and product will be “in_stock” all the time.
  3. if you set “Allow Qty Below 0 and Notify Customer”, the message on the product sheet will looks like “Back in stock on 15/10/1015”.

Note

Notify Customer” doesn’t mean, your customer will receive a mail or anything, it just mean there will be a precise message.

Please note message will be displayed only if you integrate the “product availibility status” on the front

Is in stock : You can manually change the product availability status In stock / Out of stock

Supply needs statuses are:

1_valid_orders : If the SUM of the Qty needed to fulfill valid order is > Qty that is waiting to be delivered by suppliers

SUM(qty_needed_for_valid_orders) > 0 and (SUM(qty_needed_for_valid_orders) > waiting_for_delivery_qty ))

2_orders : If the SUM of the Qty needed to fulfill All order is > Qty that is waiting to be delivered by suppliers

SUM(qty_needed_for_orders) > 0 and (SUM(qty_needed_for_orders) - SUM(qty_needed_for_valid_orders) > (waiting_for_delivery_qty - SUM(qty_needed_for_valid_orders)) ))

3_prefered_stock_level : If the SUM of the idealstocklevel + SUM of Qty needed for orders > Qty that is waiting to be delivered by suppliers

SUM(qty_needed_for_ideal_stock) > 0 and (SUM(qty_needed_for_orders) + SUM(qty_needed_for_ideal_stock) > waiting_for_delivery_qty)

4_manual_supply_need : If the qty need for manual supply need is > 0

Else, the status will be 5_pending_delivery

If you are used with the tab inventory of Magento, this section replace it when you install ERP.

If you want to make it appear back for the missing option like quantity increments, please look at this option

System > Configuration > ERP > Advanced Stock > General > Replace magento inventory tab in product sheet

Tip about back order and Manage stock options :

Default options are in System -> configuration -> CATALOG -> Inventory -> product Stock Option

To mass update theses options on products Catalog > Manage products > select the products you need.

Select the grid’s Mass action drop down > Update attributes > Tab Inventory.

Change the back order values or default values and click on Apply

1.1 How to change In Stock - Out of Stock

In ERP you can’t change “In Stock - Out of Stock” directly.

However you can keep the control following this logic:

To force a product to be “In stock”

  • A product will be always “In Stock” if you allow backorder
  • A product will be “In Stock” if you have at least 1 available quantity in at least one warehouse allowed for sales.

See also

cf : ERP > Stock Management > Warehouse > Edit a warehouse > Assignments

To force a product to be “Out of  Stock”

  • A product will be always “In Stock ” if you allow backorder, so if you want to set it ”Out of  Stock”, you have to use the Tab “Out of Stock” period, or disable backorders for this product.
  • A product will be “Out of  Stock” if you don’t have any available quantity in warehouses allowed for sales.

See also

cf : ERP > Stock Management > Warehouse > Edit a warehouse > Assignments

2. Purchase settings

You can consult the status of the product supply needs.

Setting Description
Waiting for delivery Show the number of pending products for delivery
Manual supply needs Show the quantity for the manual supply needs of the product*
Minimum qty to order Display the minimum quantity to order defined when product creation
Maximum qty to order Display the minimum to order for bypassing the warning stock level to status ” ideal stock level “
status Product status ” ideal stock ”, ” sold out “

Note

To create manual supply needs on a product, go in a product page of ERP, click on the tab “Purchase setting”.

_images/10fa1e544082f40abc832e4c93279f6f.png

Fill the form ”Manual supply need” informing the quantity, type comment if needed, you can also define a “Dead line”.

3. Levels of Stocks

This table summarizes all stock information for the current product

Note

One record is displayed per warehouse.

_images/025dad6d1ea60a0346b1e62eb294f10d.png
Setting Description
Name The warehouse name.
Qty The real physical Stock Quantity of a product for a warehouse. This quantity is decreased when you ship an order.
Available Qty Stock level for the product in the warehouse (Available Qty = Real Qty - the Sum of Qty necessary to fulfill the not yet shipped order for this item.. . This is the value used to calculate product availability..
Warning stock level It is the minimum required stock quantity for a product.. . If the quantity on stock become less then this limit, a supply need alert will appear. ERP does not send e-mail for stock alert, it generate a supply need in ERP -> Purchase -> Supply Need). . The default value is set here :. . System -> configuration -> CATALOG -> Inventory -> product Stock Option ->Notify for Quantity Below = 1. . ( very important ! never put zero as value for this option).
Ideal stock level This is the stock level you want to reach ideally for this product in this warehouse.. . The default value is set here :. . System -> configuration -> ERP -> Advanced Stock -> Warning stock level / Ideal stock -> Ideal stock default value. . Please note this setting must be bigger that Warning stock level.
Ordered qty It is the product quantity ordered in all customers’s pending orders.. . Notice that 2 values are displayed : A (B).. . A is the quantity of this product in all sales orders while B is the quantity only for valid orders. (Valid orders criteria can be set in System > Configuration > Advanced stock).
Reserved qty It is the quantity booked from stock for customer’s pending orders.. . This quantity increase when an order is passed and ERP reserve the product for an order.. . This quantity decrease when you ship an order.. Customer’s pending orders can be displayed if you click on tab “Pending customer’s orders”
Min and Max Min : the quantity to buy from a supplier to satisfy out of stock VALID pending order. . max : the quantity to buy from supplier to satisfy the out of stock ANY pending order + to reach the ideal Stock level.
Status This is the stock (product / warehouse) status. There are 3 possible values. . Ok: stock level is sufficient to fulfill every conditions (sales orders and preferred stock level). . Sales order : stock level is not sufficient to ship customer orders. . Min Qty : stock level is not sufficient to reach preferred stock level.
shelf location This is the code where you store your product in your warehouse.. . ERP enable you to store one code by product/by warehouse. This information is used in : . . - Picking List PDF. . - Purchase order delivery and Delivery PDF. . - Stock take functionality. . You can mass import them using : . . System > Import/Export -> Advanced Profile -> Import product warehouse Stock level . . You can mass edit them using : . . ERP -> stock management -> mass stock editor . .  . . Tips to call it in your code : . . $stockItem = mage::getModel(‘cataloginventory/stock_item’)->loadByProductWarehouse($product->getId(), $warehouseId);. . $stockItem->getshelf_location(); .
Favorite warehouse When you have multiple warehouse for one product, This option enable you to set this warehouse in priority for stock reservation for this product. This option is relative to the setting in : System > configuration > ERP > advanced stock > Router to associate order items to warehouse.
Ideal quantity This is the amount necessary to satisfy the threshold and supply orders.. . This value reflects the actual stock of the product but not quantities awaiting delivery by your suppliers.

3.1 Possibilities to update warning stock level and ideal stock level

Possibilities to update warning stock level and ideal stock level

By product : http://documentation.boostmyshop.com/embedded_erp/4_stock_management.html#levels-of-stocks

4. Stock movement

Without ERP you have only a number displayed in the tab Inventory of the product view.

So, when you were modifying it, you had no idea of what what the previous stock for example.

Other problem, you just have one number, no possibility to have more than one stock.

So with ERP, you have a multiple warehouse system + a system that record all the modification between yours warehouses and their interaction with the “rest of the world”. This is system is the stock movement system.

Each time a stock level changes (increase or decrease) a new stock movement is created.

_images/f80f67f09a32af3be368ff03d4f4a42f.png

A stock movement contains several information :

  • Source stock : this is the warehouse the product comes from. This value can be empty if the product comes from a warehouse that is not yours (from your supplier warehouse for example)
  • Target stock : this is the warehouse the product goes to. This value can be empty if the product leave in a warehouse that is not yours (for example, if you ship a product to a customer, target warehouse is empty)
  • Quantity : items quantity
  • Description : stock movement description (required)

To create a new stock movement, go in the ERP product sheet, fill in fields and click on “Create” button.

_images/b6db1d5fe565f7eee11b795fd4741df4.png

You can view all the product’s stock movements using “Stock movement” tab to track product’s stocks.

Be aware that some stock movement are automatically created by the system :

  • When you create a new delivery for a purchase order
  • When you ship a customer order (create a shipment)
  • When you set a product back to stock from RMA extension

Example to understand better :

You have 10 unit/piece in physical stock for PRODUCT A in warehouse X.

You have 0 unit/piece in physical stock for PRODUCT A in warehouse Y.

ex1 :

You receive 5 unit/pieces from supplier in warehouse X

effect :

You will have 15 unit/piece in physical stock for PRODUCT A in warehouse X.

You will have a stock movement of “5” from “Nothing” to “warehouse X” of Type Supply called “delivery from Purchase Order ....”

ex2 :

You modify stock of product A that was 10, to 8 in warehouse X.

effect :

You will have 8 unit/piece in physical stock for PRODUCT A in warehouse X.

You will have a stock movement of “2” from “warehouse X” to “Nothing” of Type Adjustment

ex3 :

You transfer 6 unit product A that was 10 in warehouse X to warehouse Y.

effect :

You will have 4 unit/piece in physical stock for PRODUCT A in warehouse X.

You will have 6 unit/piece in physical stock for PRODUCT A in warehouse Y.

You will have a stock movement of “6” from “warehouse X” to “warehouse X” of Type Transfer

1. Adjustment stock movement

You can have some “auto-generated” stock movements.

It is because ERP must keep a coherent history of stocks movement in regards of the current stock.

If you got any external software or Magento extension who changes the stock level, ERP detects it and create a stock movement for adjusting and keep coherent stock.

If those movement seems to be suspects you can check the log file : var/log/erp_adjustement_stock_movement.log

 You can see the “stack trace” of this movement (date and product id). You will have the information of which extension / external software create this stock movement (mass stock editor, m2epro, import auto...).

Note

Since ERP 2.9.5.1, you can download this stack trace in the Download link if you activate the option System -> configuration -> ERP -> Advanced Stock -> General -> Log adjustment stock movement

Once you get the stacktrace Please read http://documentation.boostmyshop.com/embedded_erp/14_faq.html#adjustment-stock-movement

5. Sales history

See also

ERP > Products > select a product> in the left tabs > Sales History.

Sales History

_images/b8e23ceac32510968698ba16cc8e5b14.png

Here you can see the number of Invoiced Qty sold by period.

This 3 periods can be configured in System -> Configuration -> Advanced Stock -> Sales History

Setting Description
Enable auto update (every sunday night) Allow or not, the cron will refresh All the products Sales History every sunday night at 2 AM
Week number for period 1 The number of weeks of the first period. A good value is 5 weeks (=1month)
Week number for period 2 The number of weeks of the 2nd period. the 2nd period has to be greater that the 1st period.. . A good value is 15 weeks (=3month) .
Week number for period 3 The number of weeks of the 3rd period. the 3rd period has to be greater that the 2nd period.. . A good value is 30 weeks (=3month).
Update for all products Click on the button to update the sales history for all products.. . You must save your change before updating. . Warning, this can takes hours, especially if you have a lot of products. This is the same that is executed every sunday night

Configure this 3 periods, click on “save”.

Warning stock level / Ideal stock suggestions

_images/fdb586dbd7d2a7ee26720f6df20bbdfc.png

Here you can see the Warning stock level and the Ideal stock Suggestion based on the sales statistics and the formula .

This two stock option can be configure in System -> Configuration -> Advanced Stock ->  Warning stock and ideal stock

Setting Description
Ideal stock level default value The default value used for all products for the Ideal stock level . . note : the warning stock level default value is in . . System -> configuration -> CATALOG -> Inventory -> product Stock Option ->Notify for Quantity Below .
Enable auto calculation If you activate auto calculation, every sunday night at 2am , ERP will UPDATE all products and update ideal and warning stock levels based on sales history using the formula defined below.
Calculate needed qty for X weeks Number of weeks used in the formula (the duration variable in the next formula)
Formula Enter a formula. The idea is to calculate an average pondered by week.. . ThiS will calculate the Ideal stock level; . . Default one is : . . round(((s1 / w1) + (s2 / w2) + (s3 / w3)) * (duration / 3)). .  The formula can use variables :. . * s1 = number of sales for history range #1. . * s2 = number of sales for history range #2. . * s3 = number of sales for history range #3. . * w1 = number of weeks for range #1. . * w2 = number of weeks for range #2. . * w3 = number of weeks for range #3. . * duration = Calculate needed qty for X weeks . . * It is divided by 3 because there are 3 period.
Minimum value to apply Minimum value applied by auto-calculation on warning stock level and ideal stock level. . This option si design to prevent the auto calculation to set 0 on warning stock level on the first month of a product, the sales are usually low and can make the system inefficient..
Subtract X% to calculate warning stock level % of the ideal stock stock level to calculate the warning stock level.. . ex : If formula calculates an ideal stock level of “10” . . If you set 30% here, warning stock level will be changed to “7”.
Enable for Warehouses Choose the warehouses for which the formula will be applied only.. . It enable you to apply this auto calculation only for some warehouses.

All Orders

_images/eb6892ddb771f89ecf1351e75f688926.png

Here you can see all non pending order with this product inside

7. Configurable, Bundle and others products types

There are specific products types that are not handled by ERP’s stock management : Those are Configurable , Bundle, Grouped, Virtual and Downloadable .

If you use these products types, you need to disable stock management for them in :

See also

ERP > Products > Select a product -> Your product

However, for configurable and bundle products, you can activate stock management for each simple products that compose the configurable or bundle one.

Note

  • A configurable product will be in stock if at least one of its children is in stock
  • A bundle product will always be in stock

9. About negative stocks levels

Negative stocks levels : How to avoid and manage them ?

Because ERP manages backorder quantities using the supply need screen, ERP is not design to have negative quantities in stock levels.

Explanation

But it can happen in ERP you will have some negative quantities, Why it happen?

Without ERP, Magento deduct stock when order is placed. It is design to have negative quantities and it is the way to manage back order, but it is quite inefficient.

When you install ERP , the stock is RESERVED when the order is placed and DEDUCTED When the Order is shipped.

In the ERP “Order preparation” screen you are restricted to ship only what had been reserved.

But if you ship with magento button “Ship”, they are no restriction if the product was reserved or not. And it is because you continue to ship out of ERP “Order preparation” screen

It could happen also if you import order with tiers module (like m2e pro) that force to deduct stock quantities

Prevention & Solution

  1. use the ERP “Order preparation” screen to ship all your order

Since ERP 2.9.5.0 (July 2015):

  1. There is a new option to restrict the ship button (and any other case) to prevent to ship if the Quantity has not been reserved in ERP

See also

System > Configuration > ERP > General > ERP Strict Mode

 3) There is new error detector to list the negatives quantities

See also

System > Configuration > ERP > General > Product with negative quantities

4. Customer orders

1. Margins

Margins information for the current sales order are available under the “Margin” tab.

_images/6d46e17f68e18b3377211cb964e5a8e5.png

Margins are calculated using product cost and sale price. Caution : product cost is stored when the order is placed and this value is not updated after. It means that if the cost information wasn’t available when the customer placed its order, margin will be false.

2. Preparation

See also

Sales > orders > Select an order > tab preparation

In this tab, you can track product reservation and shipments progress.

When a customer places an order, the system parses all products to check if it is available in stock.

If so, product is reserved for this order, otherwise, a new supply need is created. In this way, the system knows if an order can be shipped (all products are reserved) or if products are missing.

_images/78be3bd8ad4bfa380c31c1c0e8f08553.png

In the “preparation” tab, you can get this information

Value Description
This order doesn’t belong to the selected orders Means that this order is not being shipped by the logistic service.. . This reflect where the order is in order preparation screen. AN order cna be in 1 of the 4 tab. This is saying that the order is NOT selected by one magento user, so the order is in one of the first 3 tabs..
Order not completely shipped There still products to ship
Order is valid This order fulfill validation conditions (can be set in system > configuration > Advanced Stock)
Product reservation Inform if the product has been reserved
Order is prepared from warehouse XXX Inform about the warehouse from which this order is prepared.. . Product reservations are done only when this warehouse stock is available..

This tab also summarizes information for each product :

Information Description
Comments Free comments (you can print comments PDF using the print button)
Ordered qty Quantity initially ordered by customer
Shipped qty Quantity already shipped to the customer
Remains to ship Quantity remaining to ship to customer
Reserved qty Product quantity reserved for the order.. . It is only once all quantities are reserved that the order can be completely shipped.
Warehouse This is a warehouse from which order item will be shipped.. . Preparation warehouse is automatically set by router when order is placed..
Action In this column, you can manually reserve or release product for one order.. . This is useful if you wish to affect one product to another order.. . Caution, if you try to reserve a product that is not available, the system will cancel the operation..

3. Payments

In this tab, you can set payment status

Payment status is defined using a boolean (true or false).

To properly manage payment status in magento using Embedded ERP, there are 2 possible ways :

  • Automatic validation : common payment gateways in Magento create invoice when payment is accepted by the bank : Embedded ERP owns an option to automatically set the payment validated flag to true when an invoice is created (you can enable this option from system > configuration > advanced stock).
  • Manuel validation : for other payment methods (cash, bank transfer, checks ...), you have to manually toggle the payment status. You apply set mass changes from the sales > order grid, checking orders and selecting “Validate payment” mass action.

4. Valid and invalid orders

With Embedded ERP, you can set criteria to define if an order is valid or not.

The idea is to flag invalid orders to manage them separately. Invalid orders can be not paid orders, fraud suspected etc...

The system applies custom processing on invalid orders :

  • In the order preparation screen, invalid orders are displayed in the “Ignored orders” tab. Nevertheless, you can process them.
  • In the supply needs grid, when you need to purchase product for sales order, the system displays both the quantity needed for all orders but also the quantity needed for only valid orders.

To define valid orders criteria, select menu System > Configuration > ERP > Advanced Stock > Valid orders :

Setting Description
Require payment validated flag If enabled, order’s payment validated flag must be set to true to set the order valid
Force order to valid if shipping method is Select the shipping method to apply on orders to force the validation
Force order to valid if customer group is Select the customer group to apply on orders to force the validation
Don’t consider stock for invalid order Automatic stock reservation and availability status impact will be disable for not valid order. (Since ERP 2.9.3)
Exclude order with status Allow you to define the orders states which the status is set to X.. . This is useful for example to define as invalid the orders with suspected fraud status.
Exclude orders with status .... Here, you can select statuses that make order invalid.
Update is_valid for all orders If you change one of the criteria above, after saving, click on this button to refresh orders status.

5. Mass stock editor

See also

In the menu ERP > stock management > mass stock editor

This page allow you to edit quickly the products stock and it’s  ” mini ” quantity, in fact the minimum qty in stock where under this value, a supply needs will be created.

_images/a03f13c0c09a35e488367ac74a9e320a.png

To edit the quantity or minimum quantity mini, this the matching box and modify the values, the ” Location ” column display the physical location of the product in your warehouse.

Once the modification made click on the button “save” to apply.

6. Pending sales orders

See also

In the menu ERP > stock management > Product > select a product > tab Pending sales history

This tab allows you to see the current customer orders not yet shipped for this product. Once an order is fully shipped, you will only find it in the tab “Sales history”.

This list enables you to check the reserved qty for theses orders.

Note

It is here you can move reservations from a customer order to another customer order. You just have to press “release” on one order and then to press quickly “Reserve” on another order, and if the stock avalaible is enougth, it’s done !!!

7. Sales history

The ERP can maintain product sales statistics to assist you in setting reorder points and other decision relating to historical sales :

These statistics are available in the ERP product view and the product popup is accessible in the supply needs view and purchase order.

By default this functionality, is not activate, to allow it, go in system > configuration > advanced stock > sales history

_images/cb14228ffb274e09ec3a3655aad3ff17.png
  • Enable auto update : if yes, ERP will update the sales statistics  for each products every Sunday night.
  • Nb of week for period X : enter the week number (in number of week previous of the current week) to define 3 sales period.
  • If you type 5, 15, 30, ERP will up to date the statistics for the last 5 weeks, last 15 weeks, and 30 last weeks.
  • Update now : allow to force manually the sales statistics.

Note

The sales history reflects only products invoiced and shipped.

8. Stock take / Inventory

0. Overview

See also

ERP > Stock management > Stock Take (or Inventory on some version)

With this feature, you can easily do a partial or complete stock take on your inventory to confirm or adjust the stock levels.Here is the process to do a stock take :

  • Create a new stock take based on a warehouse
  • Take a stock snapshot
  • Scan all products by location
  • Check the differences between scanned products and stock snapshot
  • Apply the difference to adjust the stock levels

1. New stock take

See also

ERP > Stock management > Stock Take (or Inventory on some version)

and click on the “new” button

_images/new_stock_take.png

in the next screen, select the warehouse and give a name to the new stock take

_images/new_stock_take_2.png

Warning

Once new stock take is created, you must create the stock snapshot (see next section)

2. Stock snapshot

Once the new stock take is created, you must take a stock snapshot : ERP will store the current product stock levels in the database to be able to easily compare the stock levels and the quantity you will scanned.

To create the snapshot, click on the button “Update stock picture”.

Once the snapshot is created, you can view all stock levels in tab “Stock picture” :

_images/50698d2c8fdc5e1d21c1fcbb8560afd4.png

3. Scan products

Now, you are ready to scan the products.

The feature is designed to process scan location by location : if you want to see what locations must be processed, go in the “Missed locations” tab :

_images/99a8fe7bc4635c8d99e7b592dc0c9290.png

Once you know what location you are going to process, click on the “Scan products” button : Then the systems asks for the location. Scan the location barcode (or type the value if you don’t have barcode for location) :

_images/f9965fd8341025f9bab3b6340fcda9a4.png

Once you have selected the location, the system displays all expected products :

_images/02de9155b83b8abd788bce49c25836a6.png

You can then scan the products barcode, each time you scan a product, the quantity is updated. If you made a mistake, you can rollback the current location using the “Cancel” button.

You can edit the quantity by :

  • scanning a barcode
  • hitting +/ - button (option ERP -> Advanced Stock -> Stock -> take -> Display buttons to update quantity)
  • editing the quantity field (since ERP 2.9.3)

Once you have scanned all products, click on the “Commit” button to store the values. (Note : the stocks are not updated at this step)

When you commit the scans, you can continue with another location or go back in the stock take view. Each time you scan & commit, the products scanned are visible in the “Scanned products” tab.

4. Apply inventory

Once you have scanned all the products, you have to apply the inventory : applying the inventory will create stock movements for all products to adjust the stock levels according to the quantity you scanned.

Warning

If you do not scan entirely your stock, the stock for products not scanned will be 0 if you have not set the option Apply only for scanned location to yes

Before you apply the inventory, ERP gives you a few tools to check what you did :

  • Scanned products tab : contain all the products you scanned, with the scanned quantity
  • Missed locations : this is the locations you didn’t scanned. If you miss a location, the product stock levels in this location will NOT be update (partial stock take)
  • Differences : contains the stock level discrepancies between what is stored in the system and what you scanned

Once you are ready to commit the stock take, select the “Apply inventory” tab :

_images/ad48c3e8027f976a650a1d733ee54901.png

From this tab, you can :

  • Stock movement label : applying a stock take will create stock movements to update product stock levels based on what you scanned. you can set here the stock movement caption
  • Simulation mode : if you enable it, you’ll see a summary of the stock movements the system would create if you apply the stock take with simulation mode disabled
  • Apply only for scanned location : if you missed locations, the system will not update the product stock levels for these locations. If you choose to apply for all location, ERP will reset the stock level for the product being in the missed locations.
  • Apply now will create the stock movement and close the stock take (change the status)

Since ERP 2.9.3 there is option to prevent stock take edit once it’s closed (option in system > configuration > advanced stock > stock take)

5. I have no barcodes, how to use the stock takes

The stock takes functionality is based on the fact to have shelf location and barcodes.

The software will invite you to do your inventory based on the fact to scan each product present for each shelf location of your warehouse.

We recommend you to get at minimum the shelf location filled in the system.

For this please use for example :

http://documentation.boostmyshop.com/embedded_erp/4_stock_management.html#levels-of-stocks

Then if you have no barcode, after you type the location with the keyboard and press enter, the system will ask you to scan a barcode

Just press “enter” and you will be able to fill the product quantity you have for each product in your shelf location.

9. Stock Transfer

See also

ERP > Stock management > Stock transfer

GOAL

Give the ability to move partially or totally a warehouse stock to another one, in one step.

LOGIC

  1. Open a new stock transfer between 2 warehouses
  2. Select the product you want to move, set the quantity you want to transfer
  3. Save
  4. Apply the transfer

It will generate a list of stock movements with the label name you have defined.

To find all stocks movement that you have made with the stock transfer, you have to go in ERP > Stock Management > Stocks Movement and make a search in Description field with label of your Stock transfer.

10. Mass Stock Editor

See also

ERP > Stock management -> Mass Stock editor

GOAL

Give the ability to update many products

  • stock levels
  • warning stock levels
  • ideal stock levels
  • shelf location

on many warehouse in one grid view.

LOGIC

Just use the filter to select the product you want to update

Update the values, then click on save

11. Barcodes

1. Overview

Using barcode in ERP require some initial work and may require to ask your self some questions :

Do my products have Barcodes ?

CASE A)

The manufacturer of the product provide it and the barcode exists on the product I receive from my supplier

If yes, you need to import in ERP the barcodes. (You will need to have this list of barcode in a Excel file for example)

CASE B)

You are the manufacturer of the products OR the products does not have barcode.

If yes, you need to generate them int he System. For that, you may need

http://www.boostmyshop.com/english/barcode-label.html

Then, you need to print them and stock them on all the products you receive. ERP provides some adapted functionality for that on the Purchase Order delivery screen.

I need a barcode scanner

Use barcode scanner in ERP to

  • Receive good faster (using Purchase Order delivery screen)
  • Ship good faster (using packing Screen)
  • Do inventory faster (using Stock stake screen)
  • Print Barcode label by product, for the products I receive etc ..

2. Where to scan barcodes in ERP

Depending of the type a scanner there are different menus entries :

Windows CE embedded scanner device

See also

 ERP > Scanner

The ERP’s Scanner tool is an Embedded ERP extension to use a handle barcode scanner to process : * Inventories

  • Picking for order preparation
  • Create purchase order deliveries
  • Barcode comparison

Note

This menu entry has a specific theme optimized for a 240x320 pixels screen.

Simple Barcode scanner (without integrated screen)

In other ERP menus :

you can use it in 3 different ways

  1. ERP -> Order Preparation -> Prepare Order Then on the top of the screen click on “5.Packing”. This allow you to scan a product before packing it.More details at : http://documentation.boostmyshop.com/embedded_erp/7_order_preparation.html#packing
  2. ERP -> Purchasing -> Purchase Order Then click on an order which is not shipped. Now on the top right on the screen you have Scanner Delivery which allow you to scan the barcode of the deliveryMore details at : http://documentation.boostmyshop.com/embedded_erp/6_purchase.html#products-arrival-purchase-order-delivery
  3. ERP -> Stock Management -> Stock TakeThe click on a Stock Take opened. Now on the top right on the screen you have Scan Product which allow you to scan the barcode of any product and manage his stock levelMore details at : http://documentation.boostmyshop.com/embedded_erp/4_stock_management.html#scan-products

4. Where to print barcodes in ERP

  • You can print barcode by product here

http://documentation.boostmyshop.com/embedded_erp/4_stock_management.html#barcode-label

  • You can print barcode when you receive a purchase delivery

http://documentation.boostmyshop.com/embedded_erp/6_purchase.html#products-arrival-purchase-order-delivery

  • Option to customize how to print barcodes

http://documentation.boostmyshop.com/embedded_erp/4_stock_management.html#barcode-label

Important

ERP is a magento extension and Magento is a web software.

So, ERP provide barcodes as PDF files. So the barcodes generated are printable with a printer that print PDF (a normal desktop printer).

Regarding that, we recommend to purchase a classic printer and some adhesive label paper to use it after having define correct margin options in ERP configuration.

5. Import barcodes

See also

System > Import/Export > Advanced Profile > Import product barcode

  • Source file is a csv file using ”;” separator
  • File must be titled “product_barcodes.csv” and upload in magento var/import  directory
  • File must contain 2 columns named “sku” et “barcode”
  • “sku” column contains product’s sku
  • “barcode” column contains product barcode

Select “run profile tab” and click on “run in popup button”

File sample :

"sku";"barcode"
"nokia3210";"1234567891234"
"iphone4";"9263749761524"

To export Product barcode :

Case a :

If you haven’t linked any attribute to the barcode settings of erp, it mean you are using the “mode multiple barcode of erp”. In this case, the only way you have to export the barcodes is to get them in SQL (the table is purchase_product_barcode ) from your database using PhpMyAdmin.

To achieve that, the rigth process is to run that SQL request

SELECT sku,ppb_barcode FROM purchase_product_barcodes INNER JOIN catalog_product_entity ON ppb_product_id = entity_id

Then in the bottom, you have a bouton export. Then choose format CSV.

Case B : If you have link it to a product attribute, you have to use the product export of Magento including this attribute in the config of the export.

12. Import stock levels

Import using magento profiles and csv file

See also

System > Import/Export -> Advanced Profile -> Import product warehouse Stock level

With this profile, you can update product stock level for each every warehouse

  • Source file is a csv file using ”;” separator
  • File must be titled “product_warehouse_stock_level.csv” and upload in magento var/import  directory

To update stock levels :

  • File must contain at minimum 3 columns named “sku”,”qty”,”stock_code”
  • “sku” column contains product sku
  • “qty” column contains product stock level
  • “stock_code” column contains warehouse code (can be set in ERP > Stocks > Warehouse >[select warehouse] > code )

Note

It will update the qty, not increase from the existing once

 Once file is uploaded in , go in var/import  directory**System > Import/Export -> Advanced Profile -> Import product warehouse Stock level ** select “run profile tab” and click on “run in popup button”

File sample :

"sku";"qty";"stock_code"
"nokia3210";"43";"default"
"iphone4";"0";"default"

In addition, you can also import the following data :

  • notify_stock_qty : stock level alert (this is the warning stock level) (Values possible are 1 to X)
  • use_config_notify_stock_qty  : set to 1 if you want to use a custom notify_stock value (this is the warning stock level check box) (Values possibles a 0 (Disabled) or 1 (Enabled))
  • ideal_stock_level  : ideal stock level (Values possible are 1 to X)
  • use_config_ideal_stock_level  : set to 1 if you want to use a custom ideal stock level (this is the ideal stock level check box)(Values possibles a 0 (Disabled) or 1 (Enabled))
  • shelf_location  : physical location code of the product in the warehouse (Free text)
  • is_favorite_warehouse  : used for stock reservation router only if teh option is activated (Values possibles a 0 (Disabled) or 1 (Enabled))
  • erp_exclude_automatic_warning_stock_level_update : (since ERP 2.5.9.0) if it is define to 1, the ideal stock level auto calculation by cron will not update ideal stock level and warning stock level

If you want to update other fields the ones above, in fact only the fields “sku” and “stock_code” are mandatory since ERP 2.9.2

ex : file sample to update ideal stock levels

"sku";"stock_code";"use_config_ideal_stock_level";"ideal_stock_level"
"nokia3210";"default";"0";"10"
"iphone4";"default";"0";"8"
"iphone5";"default";"0";"40"

ex : file sample to update warning stock levels

"sku";"stock_code";"use_config_notify_stock_qty";"notify_stock_qty"
"nokia3210";"default";"0";"5"
"iphone4";"default";"0";"2"
"iphone5";"default";"0";"2"

ex : file sample to set shelf location codes

"sku";"stock_code";"shelf_location"
"nokia3210";"default";"A-1"
"iphone4";"default";"A-12"
"iphone5";"default";"B-55"

Import for a specific warehouse

See also

ERP > Stock > Warehouse > [Select warehouse] > Import tab

Please check the Manage warehouse section to get more details about this import feature.

Reset stock levels

If you want to reset all stock levels to 0, follow these steps :

Run those sql queries (if you use a prefix for tables, add it before the table names) :

truncate table stock_movement;
update cataloginventory_stock_item set qty = 0,  stock_reserved_qty = 0;
update erp_sales_flat_order_item set reserved_qty = 0;

Once you have ran those sql queries :

  • Go in menu ERP > Order Preparation and click on the “Distribute” orders in tab button
  • Go in menu ERP > Tools > Product availability statuses and click on button “Refresh all”

13. Shelf locations

1. Displays of shelf locations

1- In Erp product view

_images/92dd6d290a7842f30c7119a88a92f08a.png

2- In Erp mass stock editor

_images/cd20875c769e6a12b47e0ce9f32c1b3f.png

3- In Erp picking list merged

_images/35a91954e8c6bd7748db7568fc8587ad.png

4- In Erp picking list order by order

_images/122033c893e0608690fb049a223d5d98.png

5- In Erp stock take

_images/623046f781c8691de61444936ce4411d.png

6- In Erp purchase order reception

_images/df8d2e33502f527cf322d538c023e316.png

7- In Erp stock transfer by printing

_images/2a7adbb79e71f32b2b87afcd0653bba4.png

2. Update shelf locations

  1. In ERP product view : Stock Management > Level of stocks
  2. In warehouse : do an import (since ERP 2.9.5.0) : Stock Management > Import
  3. Use the mass stock editor : Stock Management > MAss Stock Editor
  4. import shelf location (since ERP 2.9.5.0)

In System > Import/export > Dataflow Advanced profiles > import product shelf location

_images/c3619ce489b502e481b8b97109e208c0.png

You have to put your file in your FTP into folder : var/import

Your file name must be : product_location.csv

Your file must be built like :

sku;stock_id;location
nokia3210;1;D-U1C

e.g : stock_id = warehouseId

Once done you have to run the import by playing the button “Run profile in popup” in Run profile tab :

_images/da7d44ed0334625df2df49542d0a0c76.png