Warehouse Management

Time to read: 11 minutes

Warehouse management in PepperShop

The PepperShop has a warehouse management system with which you can manage the stock per article. In addition, there are many other peripheral systems that work together with warehouse management.

Configuration of warehouse management

Stock settings are configured in the shop administration in the menu Article → Stock management.

In the PepperShop default setting, warehouse management is switched off. To switch it on and to be able to make further settings for warehouse management, you have to switch to the administration menu and go to the Warehouse management section.

Figure 1: Administration of PepperShop Warehouse Management

  • unrestricted availability: These articles are considered to be available at very short notice.
  • reorderable: article can be procured again at the agreed delivery times
  • not reorderable: discontinued items / unique items – cannot be reordered

You can see the following setting options in the warehouse management screen:

Enable / disable warehouse management

With the first setting ‘warehouse management’ the warehouse management can be switched on or off. If Warehouse Management is turned off, all created inventory levels and minimum inventory levels of an item are ignored. The articles can be ordered without restrictions regardless of their stock and the stocks are not updated when orders are placed.

Inventory update

With stock update you can control when the PepperShop subtracts the stock of an item by the ordered number. Here you can choose between two possibilities:

  • When the order is completed: As soon as a customer successfully completes an order, the stock is corrected directly by the shop.
  • manual: The shop does not correct the stock levels for incoming orders. This behavior is usually desired when external systems, e.g. an ERP, manages the warehouse stocks and delivers changes via shop synchronization.

Notification when the minimum stock level is not reached

This setting controls how the warning is forwarded to the shop operator (administrator) if the minimum stock level of an article is not reached.

If you decide to manually, there is no notification of the administrator(!). This can be desirable if the complete inventory management is carried out, for example, via an external ERP application. You can also have the undershooting report sent to you by e-mail. An e-mail will be sent to the address configured in Shop Settings → General Settings. If you prefer to receive a passive notification, the PepperShop can also create a log entry for each underrun message. We will describe later how to open and analyze log files.

Customer sees inventory

The configuration item Customer sees warehouse stock controls whether the customer can see the current warehouse stocks or not. This involves the stock display, which is displayed as standard above the number of pieces. There are three possible configurations here:

  • Exact stock levels: Often used in closed B2B shops to provide shoppers with accurate information. By means of a short text display the stock of articles is displayed. If the minimum stock level is not reached and the configuration is reorderable or not reorderable, the system will additionally display only X pieces in stock. It also shows when an article should be available again (if reorderable, source: available in field).

In the article detail view and with single-level article representation:

available without restrictions can be reordered This is not a reorder.
Stock > Minimum stock level … Items in stock … Items in stock … Items in stock
Stock <= Minimum stock Only … Items in stock Only … Items in stock Only 1 item in stock – Unique item; Only … Items in stock
Stock <= 0 Article is not in stock (available in …) Article is not in stock (available in …) (Article is not shown in the shop)

The following views do not distinguish between the storage behaviour:

  • Two-level article display, single-column:… slice
  • Two-level article display, multi-column: Warehouse:… slice
  • Shopping cart and order overview:Stock:… slice

Traffic light system (red, yellow, green): This is the most common form of display in the end customer business. One would like to inform roughly about the availability, but not immediately disclose the stock levels. The status yellow is used if an article falls below the minimum stock quantity and a storage behaviour reorderable or not reorderable has been configured. In the following example, you can see a traffic light display for a parent/subarticle:

Overbooking of not orderable articles

Here you control the overbooking protection of the shop: If this setting is set to yes and protection is deactivated, the article may be overbooked. This is explicitly desired by some shop operators. By default, however, the PepperShop prevents overbooking of items that cannot be ordered with the configuration selection: No.

Overbooking protection is based on a reservation system: if overbooking is prevented, the PepperShop decrements a virtual article stock each time a customer places an article in his shopping basket. In this way, overbooking can no longer occur, as items reserved in this way are no longer available for purchase. If the customer does not complete the purchase later, however, the virtually reserved stock quantity will be released for purchase again after the end of the session. The session runtime is usually one hour. Especially with unique items it can happen that articles do not appear in the shop at short notice and are then displayed again.

As a shop owner, you have to decide for yourself whether you want to take an overbooking risk or prevent it and accept that a customer willing to buy may not be able to buy the item because it is currently reserved.

Inventory – Show all items

View stock levels: In the warehouse management you will find some text links below, which visualize the current warehouse situation in the shop.

Figure 2: Extract from an inventory display - here all stocks are still unused and therefore = 0.

For an inventory, the purchase prices are often also displayed and added up, so that the value of the warehouse at the time of display can easily be determined for accounting. This is also possible in the PepperShop, see appendix.

Analyze log files

The log file of the warehouse management is called lager.log and is located in the directory {shopdir}/shop/Admin/log/. In order not to have to view the file via FTP / Shell, the PepperShop Professional version created a log viewer display module. This viewer allows you to view, download and delete various log files. PepperShop Basic users must download the file via FTP and then review it via the editor.

Installation of the Log Viewer

First you click in the shop administration on the left bottom on modules. Here you can see the item Module management - please click on it.

Figure 3: Menu of the external PepperShop modules

We now install the Log Viewer module, which is included with every PepperShop Professional and Enterprise and only needs to be activated:

Figure 4: Left window of the module administration with modules to be installed

We click on Log Viewer in the left window and click on Install below and then confirm the successful installation. The Log Viewer should now be listed in the right window of the installed modules. We are now leaving the module administration.

Figure 5: In this case a lager.log is available, we can e.g. view it or download and delete it

Back in the menu of the external PepperShop modules we see a new button labeled Log Viewer. We click on it and find ourselves in the Log Viewer. There’s usually no logs here. If there are any, they are listed here. Example:

Finally, an example view of a message reported via log (underrun of the minimum stock quantity of an article).

Figure 6: Example display of an underrun message

Application of warehouse management

Condition: Warehouse management can only be used if it is switched on.

Stock settings of an article

An article can have the following warehouse settings:

  • Maximum order quantity: Defines the maximum number of items a customer can place in the shopping cart per order (regardless of stock → only for items marked as will not be reordered).
  • Minimum order quantity: Here you can specify how many articles must be ordered at a time.
  • Minimum stock quantity: Minimum number of items in stock before a notification is sent.
  • Stock: Number of items in stock
  • Available in: Freely selectable text, e.g. ‘KW 21’, ‘3 days’, …
  • Storage behavior: What should happen to the item when it reaches stock level 0?

Short Lookup Storage Types:

  • unlimited availability - the item is available regardless of stock level and a specified delivery period
  • reorderable - the article is reordered. Customers can order more items than are in stock.
  • will not be reordered - Customers can only order as many items as are in stock. When the stock level reaches 0, the article is hidden and can no longer be ordered Change the warehouse settings of an article

There are three ways of influencing the warehouse settings of an article. This means changing the warehouse relevant data for the individual articles:

  1. per article via article processing mask: Article → Edit existing article - at the bottom: Figure 7: Stock settings of an article
  2. via the import/export tool of the PepperShop:
    • If you go to the Import/Export-Tool section in the administration menu, you can import and export existing articles in CSV format.
    • Export: Click on Export article master and select fields.
    • Import: Enter file name and click on Upload
    • A section of an exported file looks like this: Figure 8: Extract from a CSV file (Excel compatible)
    • The format of the four bearing settings is as follows:
      • Maximum order quantity: [Integer] 0 = deactivated
      • Minimum order quantity: [Integer] 0 = deactivated
      • Minimum stock quantity:[integer]
      • Stock: [Integer or floating point value]Stock: [Floating point value][integer] [Floating point value][floating point value] [Floating point value].
      • Available in: Character string - max. 255 characters]
      • Storage behaviour: [always_orderable | not_reorderable | reorderable]
      • Attention: Please note that one dot must be used as decimal point!
    • PepperShop Enterprise versions import the stock data via set_articles_incremental imports. Details about the structure can be found here: PepperShop Enterprise API
  3. about the articles mass mutations
    • If you don’t work with data imports, the articles mass mutations are the easiest way to mutate all stock-relevant data of the articles quickly and clearly. All possible settings are offered. Figure 9: Article mass mutations overview
    • The articles mass mutations can be found under the navigation point articles in the shop administration. Figure 10: Article mass mutations
  4. about the warehouse management Figure 11: Mask for stock postings Stock postings can be made here. These can be provided with a note. If the account assignment module is available, a debit account can also be selected.

Note ‘negative stocks’

If the stock of an item is in the negative range after an order and the notification is switched on, a notification will be made in any case.

Caution: If Parent-/Subarticles1 are used in the shop, negative stock levels of subarticles should be avoided as far as possible, as this may lead to an incorrect stock availability display in the article list (the system calculates with the sum of the subarticle stock levels).

Goods receipt / goods issue

Via ‘Shop-Administration’ → ‘Warehouse management’ → ‘Recording incoming goods’ the shop provides a simple mask with which incoming goods can be recorded quickly. You enter the item number and the number to be added and the shop adds the item to the corresponding stock on hand. You can also enter negative numerical values in this way, which corresponds to goods issues.

Manual acquisition

Figure 12: Manual entry of goods receipts and goods issues Mask

Capture via barcode scanner

In the PepperShop you can also enter incoming and outgoing goods well with a barcode scanner. A standard barcode scanner is operated in keyboard wedge mode for this purpose.

Figure 13: Recording goods receipts and issues via barcode scanner Mask

With some knowledge of PHP you can adapt the barcode scanner mask to your own requirements, there are extensive configuration possibilities:

Configuration of the Barcode Scanner Mask: File: {shop_directory/shop/Admin/shop_lager.php in the Display == 3 area.

The default closing character of the barcode scanner with keyboard emulation is an enter key (key code = 13). In addition to the article number, the article code field of the manufacturer module can also be used as a scanable field, e.g. to store EAN (GTID) or other barcodes.

Current configuration:

scan_number_of_lines : 1
scan_feldgr_article_no : 15
scan_art_ident_db_field : Article_Nr
scan_art_field_label : Article-No.
scan_default_quantity : 1
scan_err_field_fill : false
scan_char_to_send_form : 13
show_char_debugging : false
scan_next_field_set : false
scan_show_back_btn : true
scan_show_infotext : true
scan_show_config_info : true


Show EP prices in inventory

To do this, the EP prices must be delivered in an article additional field that is not visible for the customer and this field must be defined as the EP price field for the inventory display. This requires FTP access and PHP knowledge:

File: {shop_directory}/shop/Admin/shop_lager.php Area display == 2:

// Database field names for inventory: EP price (e.g. additional_field_1)
// If this field is used, one must e.g. use the article
// Mass mutations in the corresponding article additional field, which can be found here
// given as $ep_presi_fieldname the article EP-prices will be entered
// give.

$ep_preis_feldname = '';
$ep_preis_label = 'EP-Preis';
$datatables_aktiv = false; // Details, see http://datatables.net/

The detailed instructions with the positions to be adjusted can be found in the PepperShop forum linked: EP-Prices in Warehouse Management from PepperShop

  1. Instructions and explanations for parent and subarticles (variants as articles): Link ↩︎