This blog is part of my blog series about Business Apps.
—work in progress / stay tuned / will tweet @ekkescorner —
Overview Goods Receipt APP
Goods Receipt APP (Intermarkt Thielen) (c) 2015 by ekke (BlackBerry Elite Developer)
This app is running at a german Plants Wholesale company. Plants are delivered via Trucks to stores. Before the goods are going out there’s a check if quantity and content is the same as ordered and packed. If all is OK, data will be send via EDI from Plants Wholesale company to Plants Store to avoid the time consuming work of Goods Receipt at arrival of the truck.
The challenge was to develop a mobile app to make this work of checking the goods easy, fast and avoid errors. Plants are collected as single plants or in containers, Euro Pallets etc. All Plants have a barcode (EAN13) and also the Customer’s Sales Price printed on a label. All the Goods belonging to one order can be collected on some carts / trailers where it must be possible to start the check before the complete order was packed.
So this is the workflow: Scan the barcode from the order, get quantities and units of packed data from server, cache on device, then scan all goods. If ready get expexted (packed) data again from server and compare. Show positions and mark correct data, too much or less / missing. Correct, add or remove data, add all the containers / Euro Pallets and send quantities and units back to server.
Server is connected via REST services. All work on the mobile device is cached on the device to allow working while offline.
The mobile App must be robust and easy to handle with large fonts and big buttons. The device will be placed inside a arm bag and all the navigation and data entry must work by tapping on the device without getting the virtual keyboard where keys are too small. Barcode Scanner will be placed on the index finger to be able to work hands-free.
So this is the Hardware:
- Fulltouch Device: BlackBerry Leap
- LXE 8650 Honeywell Ring Scanner
- Custom – made arm bag for the Leap
Image of the Arm bag will follow – it’s just in-production. The bag must work inside and outside in the sun, so must be glare-free. Wasn’t easy to find the right one so finally we decided to produce a custom made bag.
The mobile APP (Screenshots)
At startup the APP automatically switches Bluetooth ON and at the end Bluetooth will be switched OFF.
There’s no other Bluetooth APP on these devices, so it’s a good idea to be energy efficient.
After switching Bluetooth ON, the APP is searching for the last connected Scanner.
If no one found you can manage all the Bluetooth stuff without any tech knowledge from inside the app (see below at the end of this article)
Bluetooth is ON and Scanner is connected: you’re ready to start work for Goods Receipt.
Now scan the Order number from the Picking List you want to check.
Picking List with informations on Customer and Positions will be downloaded from server via REST service and cached inside your secure app sandbox.
Scanning the same Order number again will load the data from cache – so it’s easy to switch.
All Pages are using large fonts and designed to make it easy to read, understand and to tap on.
As soon as one of the Picking Lists (Orders) is active you can start to scan EAN13 Barcodes from the packed goods.
If a Barcode was not found inside the active Order, the APP is looking at other cached and not yet completed lists. If Barcode was found inside another Order, you’ll get the info using a Custom Dialog.
Then it’s easy to switchto another Order by a single Tap or cancel if the wrong article was scanned.
Each Order Position knows allowed Barcodes, so from scanned EAN 13 Code the APP detects the Order Position and displays description, price, size, quantity and content.
You also see the amount of already scanned quantity (in the example below: 60) and you get an Icon at the right to know about the current state:
red arrow down: less scanned then packed
blue arrow up: more scanned then expected
green checkmark: all is OK – scanned quantity same as packed
Tapping on the Icon you’ll get a list of all single scans for this position.
From here you can tap on on Unit (Menge) or Content (Inhalt) to edit the value.
Tapping on the trash sets quantity to 0.
One of the great things from BlackBerry 10 OS is the “peek-back” functionality: you always know about the context by simply swipe the current Page to the right border.
Here peeking back from an Order Position to Order Header gives easy access to Order and Customer info:
Remember: the Device is inside an arms bag and it must be easy to enter data.
Key caps from virtual keyboard are too small, so I developed a numeric keypad occupying complete space from Device in Landscape orientation.
This numeric keyboard knows about the context and so it’s optimized to enter Quantity, Content, Prices, Order Numbers or EAN13 Codes.
The screenshot below shows entering Quantity (Menge):
Want to get Info about corresponding Position data ?
Simply peek back and go on without closing / opening pages – that’s the BlackBerry 10 FLOW:
Here a quantity of 4 Containers was entered where each one contains 6 Plants = Total (Summe) of 24 Plants:
If a Barcode (EAN13) is dirty and cannot be scanned it’s easy to enter the number manually.
The APP checks immediately if you entered exactly 13 digits and also validates if checksum is correct before searching the position.
Goal is always to make it as fast as possible and avoiding errors.
Sometimes it happens that inside an Order there are more then one positions found for a given Barcode:
in this case the employee can select if he/she’s scanning the position with a content of 6 or only 1 in each container:
All Lists, all Dialogs have custom big Buttons and large List Rows to make it easy to tap on.
If something went wrong, the Device does a vibration to alert the user.
While checking the scanned data before sending them to the Server a list with all the scanned or not scanned data is displayed.
Tapping on an entry shows the history and quantity or content values can be changed or removed.
If no scanned data was already entered for a specific position you can also enter data manually.
At first you must verify the Barcode – in some cases there can be more then one Barcode valid for a position, so you must select the right one:
As last step quantities of all Empty-Containers put on the Truck must be entered.
If all is done you can send data back to server. Then in the Office data can be varified again and if all is done, the Goods Receipt will be sent via EDI to Customers IT.
If more then one orders are active (stored in offline – cache) you can easy switch to another one:
The APP also provides all Bluetooth Management from inside the APP without going to Device Settings to make this an easy stuff.
After scanning for Bluetooth Devices nearby, found Devices are grouped by Type and Scanners can be edited.
Tapping on a row shows the details and allows to Pair / Unpair or Connect / Unconnect a Scanner:
There’s also a special testpage from where you can test if the Scanner works well.
Over all BlackBerry 10 OS and hands-free working makes following the workflow fun and also to be productive.
Running the Scanner in serial mode (SPP Profile) makes it very comfortable, because scans can always be done and not only while focused on entry fields as done in HID profile.
It’s some more work to implement serial connected Scanners, but Customers will thank you for this.
Here’s a short snapshot from the backend (ERP solution): Positions ordered (bestellt)….
… packed (Gepackt) and compared (Geprüft) from mobile Goods receipt APP.
The Barcode Icon at the very left shows the details of all scanned data.
Take a look at the Video to get a feeling how smooth this app is working. Then you understand why my first choice for Business Apps is always BlackBerry10 OS. More of my BlackBerry 10 Business Apps can be found here.