Warehouse Management System

SHARK Cloud is a hosted WMS solution supporting both static storage like shelving and pallets, as well as automation equipment for example vertical lifts and conveyors.

The software is subscribed as a cloud service. The number of users and options are flexible from 1 user and upwards and covering a broad range of applications.

SHARK is designed from the idea that huge saving in cost  and time can be achieved by optimising the performance of  the warehouse by minimising the manual work that has to be done, this by finding optimal storage locations for each article, by controlling the sequence of orders to pick and by supporting advanced equipment that improves the speed. To achieve this, SHARK is based on advanced algorithms that optimise location usages, picking speed and space utilisation, all hidden for the normal user but still working to improve the working speed.

Another important issue is the quality of the warehouse operations, it is expensive to pick the wrong article and therefore SHARK supports control  functions, like barcodes, pick-to-light systems and other techniques that ensures the right article at the right place.

The system is easy to use for the normal operator, fast to learn and with intuitive functionality, so new operators can be trained to the system with a short introduction.

Supported work processes in the warehouse:

  • Goods Reception.
  • Pick and put-away in shelves using PDA terminals.
  • Pick and put-away in automats.
  • Consolidation and shipment.
  • Stock counting.
  • Internal replenishment.
  • General administration.

SHARK is special suitable for control of automated storage like vertical lifts (automats), where built-in functions optimises the picking speed, storage utilisation and support of advanced functions. SHARKs batch picking (picking more than one order á time), improves picking speed dramatically, because waiting time can be reduced to a minimum or even completely removed. This because SHARK optimises the sequence of order lines and orders, so the  equipment can be operated as fast as possibly. All equipment are operating in parallel, so while the operator picks in one automat, the other machines are busy retrieving the next articles. 

Article Master Data

The master data for all articles are stored in the Article Master Database. Master Data is all the information that defines the article, like bar codes, dimensions, weight, etc. SHARK can work with very little information, the article number is actually enough, but more information makes it possible to automate more functions. The data can be edited directly in SHARK, using the Article Browser or can be maintained by the Host System.

Article Master Data: Article number, alternative article number, description, dimensions, weight, preferred location types, EAN code, storage strategy (fixed, floating, FIFO), ABC (picking rate information),  article groups.

Owner: Multiple article owners supported for third-part logistics. Articles with the same article number, but different owners will be kept separated.

Search function: Search for article by number, alternative number, description or EAN code.

Functions: Create new, delete, search, and change.

Batch number: Articles can be saved and retrieved with batch (lot) numbers. A date is also assigned to the batch number.

Serial numbers: Registration of serial numbers when picked and stored. 

Replenishment Information: For each article, it can be specified in what location types the article should go, the quantity that fits on each location type  and in which zones the article should be stored. Quantities can be calculated from the physical dimensions. For each zone minimum stock, replenishment quantity and maximum can be specified.

Package Size Information: Support for different package  sizes.

Location Management

Location management is how SHARK manages the physical space of the warehouse.

Strategy: Fixed, floating (chaotic), FIFO (First-In First-out). A default value is set for the system, but the strategy can be set individually for each article.

Finding locations: Can either be automatically controlled where SHARK finds the optimal location or user controlled.

Barcodes: Barcodes can be used on locations, articles, etc.

Put-away (floating): SHARK suggest a new location at put-away. The operator may override the suggestion or split the operations on more than one location if required.

Put-away (fixed location): SHARK will always suggest the same location, this can be overridden by the operator.

Put-away (FIFO): SHARK will always suggest a new location to avoid mixing articles from different batches on the same  location.

Zones: Multiple zones supported.

Location naming: max 7 levels.

  1. Zone name - automat - tray - location on tray (row,  col).
  2. Zone name - aisle - section - shelf - location on shelf (row, col) Formatting rules can be defined to set the exact location address format. Example: A3-15-D3 (Zone A, Automat 3, tray 15, location in tray:  D3).

Layout editor: A graphical environment/configuration tool makes it easy to define the warehouse layout.

Tray layout (vertical lifts): Default tray types are created using s graphical editor. This makes it easy to create even complex layouts.

Location concept: Each article type (SKU) on unique location. Each article type can be put on more than one location. In case batch/lot numbers are used, there can be stored none or one batch number per location. Mixed locations with multiple SKUs on individually locations is possible, but space management must then be handled manually.

Configuration of locations with graphical editor for tray layouts.

Manual Transactions

Functions for pick and put-away without orders and stock adjustment. This are all transactions performed without control from a host system.

Search: Find an article from number, description or location.

Pick: Simple picking without  orders.

Search free location: Find a free location of the requested  type.

Put-away: Articles can be stored based on existing locations or on new   locations.

Stock Adjustment: The article count for a specific location can be   adjusted.

Order attachment: It is possibly to perform manual pick and put operations and assign them an existing order or create a new (PC  only).


The Manual Transaction Window for the PC client showing a location in a vertical lift tray.


The Manual Transaction Window for the PDA Browser Client. 


Transaction Log

All transactions and operations that influence the stock location or quantity are logged in the transaction log.

Sorting: The log is shown in chronological  order.

Searching: It is possibly to search in time intervals, for a specific article number, order number, location, transport box or by operator  name.

Filter: See only one order, article or  location.

Transaction types logged: All (pick, store, adjust in various   types).

System Log

The system log is used for maintenance. For example will all errors from automated storage equipment be logged, files imported, etc.

Log: All SHARK modules use the same log, it is thereby easy to search for specific events and correlate events at different  locations.

Sorting: The log is shown in chronological  order.

Searching: Search for error source, error type, error number and in specific time intervals.



Language: English, German, Spanish, Danish, Norwegian,  Russian, Swedish.

Changing language: Program must be restarted after language is changed.

Language set by PC/PDA: Yes


Order Pick and Put­-away

Picking and storing goods by orders.

Batch picking: Batch picking is supported where several orders are picked in parallel. The batch is floating meaning that new orders can be added and removed at any time. This ensures that the batch always contains a high number of lines for optimal   speed.

Sequence Optimisation: The pick lines are sorted for optimal picking speed. For automats, picks from the same tray is picked together, then to minimise waiting time, automats are selected in sequence depending on when the trays are ready. The orders of trays are selected to minimize the time used to retrieve the trays. The location sequence can be set independent of the location address by a sequence number.

Confirmation: The selected method for pick confirmation can be selected freely. Supported are (one or more): by the enter key, article number, location code, order number, transport box number.

Order Creation: Orders are typical received from an external Host System, but they can also be created directly in  SHARK.

Batch put-away: Articles can be put-away in a batch job with similar advantages as with batch picking.

Put-away Orders: A put-away order is used to define what to store. The order can be imported from an ERP system by SHARK  link.

Finding new locations: SHARK has a number of methods to find the optimal location for the article. This might depend on picking frequency, relation to   othe articles, size, etc.

Confirmation: The selected method for confirmation of a transaction, can be selected freely. Supported are (one or more): by the enter key, article number, location code, order number, transport box number, batch  number.

Labels: A label can be printed either automatically or by request at pick or put-away. The layout can be  customized.


Pick Carts

Integrated support for pick carts (trolleys). A pick cart is typical a standard trolley with a number of positions, each with a box, but it can also be a pallet on a truck or similar methods of batching (grouping) orders use to move the goods around in the warehouse.


Number of pick carts:  Unlimited. 

Number of positions on the pick cart:  Unlimited.

Boxes: Each position may contain one or more boxes. Each box contains one order. An order may be picked in one or more  boxes.

Assignment of orders to a pick cart: Automatically based on order priority and release state. Manually selected by operator. Filter function for order type (only  one order type, on one trolley).

Pick-by-light: Smart pick carts with pick-by-light functionality are supported. SHARK controls light indicators on the pick carts and confirmation is done using a push button. Thereby barcode scanning can be  avoided.


User Management

Authentication: Users must logon to the system by user name and password (can be empty). 

Authentication Levels: Operator, Administrator,  System. Different operator groups possible, with individual access rights.

Login with Barcode: The system may print a special barcode supporting fast login without password. The barcode allows immediate user change without leaving the current function or previous logout.

Login with Card: By connecting a USB Card Reader, a standard card can be used for login. The card code must be registered. 


Order Management

An order in SHARK is a collection of orderlines. Each orderline is again split into one or more transactions that specify how to pick or put one orderline. More than one transaction can be needed to fulfill one orderline (for example if more than one location is needed to pick the total required quantity).

Order main types: Pick, put and adjustments. Internal transport orders (stocking moving) is a combination of a pick and put order.

Order subtypes: For each major order type, sub ordertypes can be defined with specific order type information, default priority, name,  etc.

Order priority: Each order has a default priority, an operator defined priority and a dynamic priority defined by the system. The later tries to collect orders that shares picking locations or trays to optimize the working  process.

Order information: Order number, delivery note, delivery information (customer, address, etc), notes, delivery/created/received/pickstart/pickend dates,  Misc fields 1-10, priority, shipment information, tour.

Basic order states: waiting, partly picked, cancelled, OK (finish), consolidated.

Order release: Orders must be released before they can be picked. This can be done automatically or manually. The order release functionality makes it possibly to arrange for an administrator what to dispose next (for example all orders that must go with a specific tour).


PDA Application for Static Storage

User interface: The recommended interface for picking in static storage are hand-held online terminals (PDAs/iPads) or truck  terminals.

Picking lists: Picking lists are supported. They are printed with a unique number (barcode) that later can be used for confirmation of the picking  list. Picking lists may contain one or more  orders.

Picking sequence: Optimised for shortest way and a minimum of operations.

Layout: The layout is zone, aisle, shelves,  trays, row/columns in tray. 

PDA functions: The PDA has a smaller screen than an ordinary PC and no keyboard, so the functionality is designed for this. The PDA software is web based and is running in an Internet browser, due to this no specific software has to be installed on the PC ensuring easy maintenancde The following functions are available on the PDA:

  • Order selection (batch pick).
  • Batch pick/put window.
  • Manual operations like pick/put and stock corrections.
    • Information: read a ordernumber, transport box number, article number or position number and the PDA shows known information about the item.
  • Basic goods reception.

Real-time update: All information is updated immediately in the system and reflected for all other users.

Number of users: There is no limit on the number of operators in the fixed storage zones.


The PDA main menu.


Goods Reception

In Goods Reception incoming goods are registered and the optimal locations are found before the goods are put on stock. Cross-docking, incoming inspection, serial and batch number registration are also handled here. Goods Reception is not always needed, but when more than one zone is used, it is in many cases practical with a goods reception function for splitting the goods to different areas of the warehouse.


  • Optimize the storing process.
  • When using automats, some of the work load can be removed from the automats, so it does not block for other  jobs.
  • Split the goods to the correct zone and thereby minimize the  work.
  • Organize and mark all goods to make the rest of the put-away process seamless.

Order registration: A purchase or put-away orders are received from an ERP system or created manually. When received the operator enters the order number, the article number or EAN number and select the right order from a list if more than one  matches the criterias.

Preparation: SHARK may find the locations for put-away automatically (by supplied replenishment information like zone, locationtype, package size) or the operator can select put-away zones manually. The articles can be put into a box with a barcode that later is used for fast identification in the put-away process.

Labels: Labels can be generated by SHARK for boxes and  pallets.

Cross-docking: If one or more picking orders exists that wait for the article that are received, the operator can decide to pick the orders immediately in the goods reception window and thereby avoid a time and work costly put-away-pick process.

Consolidation and Shipment

In the consolidation and shipment module, articles picked in different zones for the same order are collected and optional checked if they are picked correctly. Furthermore they can be packed and labels can be generated for the  packing.

The transport of goods from goods reception to the storage area and back again to consolidation are important to optimize. One simple solution is to use trolleys with boxes to organize and move the goods around. This is a fully supported strategy.

Paper: Delivery note or packing list. Address or box  label.

Merging of picking boxes: Collect orders picked in several boxes or  zones.

Integrated Inventorying

Module for continuous/cycle counting. Counting is done using orders either generated internally in SHARK or received from a Host.

Counting orders: An unlimited number of counting orders can be  generated.

Counting with paper lists: Counting lists can be printed, optional with a barcode. The barcode can later be used to fast report back the result.

Counting directly on screen: Counting can be done directly on the screen, where the location can be shown and for automats, the tray can be retrieved automatically.

Re-counting: An unlimited number of recounts can be  performed.

User administration: Normal users have no access to update the actual stock level.

Stock update: The actual stock update is done under administrator control and first when the counting has been approved. 

Reports: Difference reports can be  generated.

ERP commitment: The final stock can be reported back to the Host System.

Location management: The inventory system keeps track of last access time, store time and inventory time for each  location.

No blocking: Locations are not blocked while counting. This means picking and counting in parallel.

Reports and Statistics

A number of reports can be generated by the  system.

Stock: Lists of all articles in the system.

Tray statistic: Shows information about tray utilisation and picking rates .

System log: Log of all system events.

Transaction log: All transactions that influence the stock are logges and can be printed.

Pick statistics: Picks/puts per day/month/year/zone/user. Graphical displayed.

Printer: Reports can be printed to a Windows printer.

Export: Reports can be exported as CVS or Excel files.

Customed Reports: User specific reports can be  designed.

Host  Link

External ERP and other Host Systems can be interfaced by files, using a shared folder or by FTP for file transfer.

File format: XML files in SHARK XML format or ASCII files in fixed length, CSV formats (using scripts). See the SHARK link documentation for further  description.

XSLT: XSLT stylesheets is supported for easy integration with external XML formats.

Confirmation types: When order is completed, line-by-line, transaction-by-transaction, when order is consolidated.

Inventory: Stock counting lists can be imported from an external system (an ERP system can for example decide what to count). Stock status can be exported to an external system.

Synchronization: Selectable import delay, default 15 seconds, minimum is 5 seconds. Typical synchronization time is less than 30  seconds.


Customisation like special functionality, reports, etc. can be made on request. Fully customised software is also possible, Groovy scripting is supported in certain areas.


Hosting: The server is hosted in the cloud. Data is stored on a  mirrored MicroSoft SQL Server with automatic fail over. 

Security: All Internet communication is through an encrypted connection (HTTPS). 

Backup: Data are stored on several locations. On request a copy of the database can be provided.

Migration: On request the installation can be moved to a local server (on-premise). 

  Even SHARK is a cloud based solution, it supports control of and interface to hardware by using one or more local PC's as a device server. This technology allows all clients, both Windows and Browser based, to access the hardware. It supports interface to label printers, scanners, pick-by-light, ERP/Host systems using shared folders, automation hardware like vertical lifts, conveyors, etc.


System Requirements

Network Connection

A good Internet connection is required.

PC Clients

Client PC: The PC running the SHARK Client software must have Windows 10/8/7, Windows Server 2003/2008/2012 installed. Minimum memory is 2 GBytes of RAM and the screen resolution must as a minimum be 1024x768 (1280x1024 recommended). 

The client is started from a web page, it is downloaded and cached in user space and automatic updated when a new version is available. 


Terminal can  be iPads, Android devices or classical terminals from for example Motorola or Intermec. Windows tables or labtops works also fine.

Internet Browser: Minimum HTML5 browser supporter.

WiFi: Wireless network support is required.

Barcode Scanning: If barcodes are used, the terminal must support barcode scanners, either a built-in scanner or an external bluetooth scanner.

Barcode Equipment

Most installations use barcodes.

Label Printers

  • Most label printers are supported for printing barcodes, order labels, pick labels, etc. SHARK is delivered with predefined labels written in the ZPL language for Zebra label printers and compatibles. SHARK is tested with Zebra GX420.
  • Label printers are controlled in their native language and not using the Windows Printer Drivers for formatting, This provide high quality level with maximum speed.
  • Other printer types are supported by using external software for label design.

Barcode Scanners

  • Barcode scanners must be connected to the PC or terminal.
  • Wireless recommended.
  • Must be configured to send a newline after the scanned code.
  • Most be able to scan barcodes including the characters "#-+". 
  • Tested with: Zebra .., Intermec SG20B