On Hand™ BT Inventory Software

Latest released version: 3.0

Purchase a copy of the software

On Hand™ BT from Stevens Creek Software provides a fast and easy way to collect barcodes, perform inventory counts, "pick and pack" operations, or restocking counts all focused on two questions: what have you got, and how many of them do you have or how many do you (or your customer) need? The software can keep track of this information at multiple locations simultaneously, further enhancing its utility.

Version 3.x of On Hand BT can scan all types of one-dimensional (1D) barcodes when using a handheld cordless Bluetooth scanner, and can "scan" and recognize three types of barcodes using the built-in camera of an iPhone, iPod Touch, or iPad: UPC-A, EAN-13 (including BOOKLAND), and CODE128. More barcode types may be added in the future to the barcodes recognized by the built-in camera, but these are the three most common barcode types in use, and should handle most needs. You can also enter a barcode using the keyboard, so in that mode barcode types are unlimited.

This manual also serves as a manual for our SCS Scan™ BT software. SCS Scan BT is identical to On Hand BT with one major exception – it does not provide any capability to output the data which you collect with the software. SCS Scan BT is primarily designed to let potential users of On Hand BT know if the scanning capability built into the software is sufficient for their needs, and/or if the software is compatible with a particular model of Bluetooth barcode scanner they wish to use.

Registering Your Copy of the Software

On the Input/Output screen (accessed via the Folder icon on the bottom of the main screen) there is an Information "i" icon. Tapping this icon will give you an opportunity to register your copy of the software with Stevens Creek Software. Doing so entitles you to technical support on the software, and will help us to keep you posted about updates to the software. We hope you will take the time to do that so we can best support you (we get no information about our customers from Apple, so if you don't register, we have no way to know who you are).

Configuring the Software

The On Hand sections of the Settings application has three sections which let you configure and customize your copy of the software to match your needs:

As we go along in the manual, we'll refer to various options which you'll set with the Settings application. When you see the name of an option shown in Bold Italics, you'll know it's an option that you set with the Settings application.

The Main Screen

Elements of the Main Screen

The main screen that you see when you open the software, looks like this:

From the top, here's what you see:

Across the bottom are five buttons. From left to right, they are:

There are two Settings which allow you to configure the display on the main screen:

"Scanning" Barcodes with the Camera

When you activate the scanner, the camera screen will appear, the shutter will open, and you'll see something like this:

To effectively scan a barcode, position the red line across the barcode, with the barcode filling somewhere between half and three-quarters of the screen on an iPhone. The camera on an iPad is not designed to focus as closely as the camera on an iPhone, and if you use an iPad for scanning, you'll find that the barcode will need to occupy a smaller portion of the screen (i.e., the iPad has to be further away from the barcode) in order to get proper focus, as shown here:

A countdown on the right-end shows the time remaining before the software gives up (you set the amount of time with the Timeout setting). Note that you are not "taking a picture" of the barcode; instead, the software is continually examining the screen (in other words, it's looking at what you would be taking a picture of if you actually did take a picture, it just doesn't bother with that last step).

With a little practice, we find that most "full-size" UPC barcodes (measuring a little more than an inch or 3 cm wide) can be recognized in a second or less. Smaller barcodes with finer lines are definitely more challenging, and some are definitely well beyond the focus/resolution capability of the existing camera. We also find that autofocus seems to depend on the background color of the object on which the barcode appears, so a nice black barcode on a white background focuses quickly, but if it is in the middle of a large yellow box (for example), autofocus may be slower.

All scanning is performed with the iPhone or iPad in a portrait position.

UPC barcodes can be scanned "right-side up" or "upside-down"; all other barcodes can be scanned "right-side up" only at this time.

If the software can properly interpret the barcode, a bell will ring and you'll be returned to the main screen. What happens then will depend on the Scan Action and Unknown Codes settings. If the barcode is found in your database, that item will appear highlighted on screen, with its quantity incremented, decremented, or unchanged, based on the Scan Action. If the barcode is not found, and Unknown Codes is set to Ignore, a warning buzzer will sound. Otherwise, the new barcode will be added to the database and, if Unknown Codes is set to Add and Edit, the editing screen will appear to allow you to add a name and/or note to the item. Finally, the date and time that the item was added to the database (if that is the case) and the date and time that the item was last modified will be updated.

If the software cannot properly interpret the barcode in the time you have allowed (the Timeout setting), or if you tap the Cancel button before that happens, the manual entry screen will appear, allowing you to enter the barcode "by hand":

Since most barcodes are numeric, the screen starts with a large numeric keypad to make entry of the barcode easier, and, if your Default Barcode is not blank, the Default Barcode will be automatically filled in to start your barcode (something you might want if all your products are made by one company, which generally means the first digits — as many as 9 out of the 12 UPC-A digits — will be the same). Note that, while some barcode types (like CODE128) can have dashes in them, UPC barcodes, although they are frequently written with dashes to make them more intelligible to humans, actually contain only numbers.

If you do need to enter letters into the barcode (such as for some CODE128 barcodes, among others), just tap the Alphanumeric button, and the keyboard will change from the numeric keypad into a standard alphanumeric keyboard, with which you can enter both numbers and letters (and other characters as well).

Many barcodes are typically written with dashes in them. On Hand BT produces only numbers for such barcodes and does not include dashes. The only time On Hand BT will produce a dash as part of its output is if it scans a CODE128 barcode which includes a dash as an actual character in the barcode itself; it does not add dashes for "readability."

Scanning Barcodes with a Bluetooth Scanner

On Hand BT is designed not only to "scan" using the built-in camera, but also to accept scans from handheld cordless Bluetooth scanners. We believe that any such scanner which supports the "HID profile" (Human Interface Design) will work with the software, but the only one we have tested is the CHS 7C from Socket Mobile. You'll find details about configuring and using the scanner in conjunction with On Hand BT in an Appendix, but essentially, you simply scan the barcode by pressing the scan button on the scanner rather than using the Scan button on the bottom of the main screen.

Another option, tested by one of our users, is to use a low-cost Symbol LS2208, a fairly common scanner which many people already have, in conjunction with a Bluetooth adapter made specifically for that scanner (and several related models).

Modifying the Scanned Barcode

There are several ways in which you can modify the scanned barcode before it is used by the software, all of them configured using the Scanning section of the On Hand BT section of the iPhone Settings app:

Counting Items

When you successfully scan an item, its count will typically be incremented by one (it can also be decremented or left unchanged depending on the Scan Action setting). If you have more than one of the same item, there are several ways to continue to change the quantity. You could scan the item again if you really wanted to, but that would be unnecessarily time-consuming. The simplest way, if you only have a few of the item, is to tap the highlighted item on the screen. Each time you do so, the count will increment (or decrement if that was your setting). Indeed, if you find the item not by barcode scanning but by some other method (scrolling the database with your finger or using the Search feature), you can count items this way on any iOS-equipped device. Simply tap the item once to highlight it, then tap it repeatedly to increment the count.

What if you want to increment the count by a large number? Perhaps in addition to the 3 or 4 on the shelf there's a box of 50. Clearly you don't want to tap the item or scan it 50 times! Instead, tap the calculator button at the lower right and the Calculator screen will appear:

The highlighted item scrolls to the top, and you see a numeric keypad (supplemented by a decimal point, which allows you to use the software to track fractional quantities, e.g., a half bottle of liquor at the bar) and three additional buttons, +, , and =. To add a quantity to the quantity already counted, just enter the quantity and tap +, e.g., "5-0-+". To subtract a quantity, end with the minus sign (this allows you to decrement quantities even when your "standard" mode is incrementing). Finally, the equals sign lets you set the quantity to a particular amount, ignoring the current count. Maybe you scanned the item and got a count of one, but actually what you were scanning was a barcode on the outside of a box of 16. You could do the (incredibly complicated) math yourself, figure out that you need to add 15 more, and tap "15" and then +. Or, you can simply tap "16" and then the equals sign. Which is more appropriate in a given situation will be obvious to you.

There is no "Save" on this screen; as soon as you tap the +, , or = buttons the action will be performed and you'll return to the main screen. Of course you can tap Cancel if you change your mind and don't want to make any changes.

If you are using a Bluetooth scanner and an iPad, there is another way to change the count of an item. If you set Onscreen Barcodes to On, you will see on the bottom of the screen (if your iPad is in Portrait mode) or on the right (if your iPad is in Landscape mode) some onscreen numeric barcodes:

The onscreen codes include the digits 1 through 9, plus barcodes reading X10, X100, and UNDO. This allow you to use the scanner itself to change the counts, rather than having to use your finger (either by tapping on the item or via the calculator). To add a count of 1 through 9, simply scan the corresponding number. To add 10 through 90, first scan the X10 code and then the appropriate number, and similarly for X100. To add 43, you would need to scan X10, then 4, then 3. It takes a little practice to scan the onscreen codes, especially because the screen is quite reflective, but once you get the hang of it it is straightforward. However, if you make a mistake and scan the wrong digit, just scan UNDO to revert the count of the item to its previous count. If you choose to, you can also tap these barcodes with your finger and change the count, as an alternative to using the calculator.

It is also possible to change the count by scanning barcodes representing numbers on paper (rather than onscreen); you can do this either with a Bluetooth scanner or by "scanning" with the camera. Any CODE128 barcode of 4 digits or fewer will be recognized as a count, so you can scan numbers from 1 to 9999 to add to the count. You can also scan barcodes reading, as with the onscreen codes, X10 or X100, as well as UNDO. If you need to generate such codes to print out, here is one of several sites that will allow you to do that.

If you need to scan barcodes which are four digits are fewer, you need to turn off this feature, using the Number Scan setting.

Multi-location counting

If you are keeping track of the same item in multiple locations, the software maintains a separate quantity (and time stamps) for each location. Which location you are working with is governed by the Locations button on the upper-right of the screen. If it reads All Locations, and you change the quantity in one of the ways described above, then the "total quantity" will be changed but not the quantity at any one location (the software actually keeps track of an internal "location" called "UNSPECIFIED" for cases in which you haven't specified a particular location). If instead you use that button to select a location, let's say "Storeroom," now the quantities displayed in the table will be the quantities associated with that location only, and any changes to the quantity will be made both to the quantity at that location and to the overall quantity.

If the multi-location feature doesn't apply to you, just leave things set at All Locations.

Some users need to collect barcodes at just one location, but need to collect every barcode separate (rather than having the second and additional scans of an already-scanned barcode simply change the quantity of the existing barcode). To do this, turn Off the Search Database setting.

Searching for an Item Manually

In addition to finding an item in the database either by scanning its barcode or by scrolling the database, you can also use the Search Bar. At the left end of the bar are buttons which toggle between the two methods of searching — a "barcode" button to search by barcode, and an abc button which will search by name. Tap in the search box and a keyboard will popup, into which you can start to enter characters to perform your search. If your Default Barcode value is not an empty string, and if you are searching by barcode and not by name, those characters will be automatically filled in to start. As mentioned above, this is typically useful when all your products are made by one company, which generally means the first digits — as many as 9 out of the 12 UPC-A digits — will be the same. If the Default Barcode has a value, but the particular barcode doesn't start with those numbers, just hit the "X" which appears at the right end of the search bar to erase those digits and start from scratch.

As you are searching, if you enter characters which will result in no entries satisfying the search, you'll hear a "buzzer" and the last character you entered will be deleted. So for example if you enter "TH" and then "Z", if no items start with "THZ", the "Z" will be removed and you'll be back to a search for things starting with "TH".

Searches by name or barcode always search at the beginning of the name or barcode; there is no search for letters or numbers in the middle of the name or barcode.

Input and Output


With settings configured (which of course you only need to do once), tap the File icon (the folder) on the main screen of On Hand and you'll see the Input/Output screen, which allows you to import data into the software from a computer using a variety of input methods, and export data from the software to a computer, also using a variety of output methods.

On top is the toggle which shows whether we are configuring (and/or performing) input (downloading) into the software, or output (uploading) from the software back to your company website or desktop computer. In this picture it is shown set to Input. Also on the top line is the Information icon which will give you two choices - read this online manual, or register your copy of On Hand BT software with Stevens Creek Software.

On Download lets you specifiy whether to first clear out the old data (Replace), or you can simply add the new data into the existing data (Append).

The Include/Exclude table allows you to specify precisely what fields are present on each line of the input file, and in what order. To change whether an item is or is not included as part of the download file, just tap on that item, and it will toggle from the Include column to the Exclude column and back. To change the order of items on each line, use the reorder bars on the right side of each item to move the item up or down. In the example shown above, each line in the input file will consist of just two items, the barcode and then the name, separated by a tab. The order of the excluded items is irrelevant; you could drag the Quantity item down to the bottom, but it doesn't make any difference. If you tell the software you are going to import six items per line, but your file contains only four, the software will simply ignore your request to import the final two. However, it is up to you to make sure that the order of the items in your input file does correspond to the order specified by this table; if it does not, then information will end up in the wrong place in the software.

The Location item needs more explanation. If you are doing a multi-location inventory (multiple stores, multiple warehouses, multiple floors, etc.), you may have want to download a file which contains the starting quantity for each different location. In this case, you will have multiple lines containing the same item (name, barcode), but a different quantity and different location on each line. This is actually most typically useful in uploading data (output), so we'll give a specific example in a minute.

At the bottom are two special buttons - Clear all entries, and Zero all quantities. In both cases, the actions are "un-doable", so you will be asked to confirm the action before it is actually performed. Zero all quantities will zero the quantities at all locations if All Locations is specified on the main screen. If a particular location has been selected on the main screen, the Zero all quantities zeroes only quantities at that location.

Filename tells the software what file to download from the folder specified by the Input Base URL setting.

The large button shows the method you have chosen for input; tapping it will cause the software to read in a file. To choose the input method, tap the "disclosure icon" to the right of that button, which will display this screen on which you select the desired input method:

The four ways in which you can input (import) data into the software are:

No matter what method you use to download (or input or import, all different words for the same thing) a file of information into On Hand BT, the file must be a simple text file, not a Word file or an Excel file but a file composed of plain text. Each line in the file must consist of a number of fields, separated by a separator character, which can be either a Tab or a comma (CSV) depending on what you select here as the Separator (CSV is somewhat more complicated because if an individual field, perhaps the name of an item, contains a comma, then that field must be enclosed in quotes in addition to the comma separator; this is of course the standard when using CSV files).

Here are some examples, where -> represents the Tab character:

Example 1: Barcode and Name are in the "Include" column (in that order), and all other items are in the "Exclude" column, and you have specified a Tab separator

Clif Bar, Chocolate Chip->722252100900
Clif Bar, Blueberry Crisp->722252102607
Clif Shot, Mocha->722252176103
5-Hour Energy->719410500016

Example 2: Barcode and Name are in the "Include" column (in that order), and all other items are in the "Exclude" column, and you have specified a Comma separator

"Clif Bar, Chocolate Chip",722252100900
"Clif Bar, Blueberry Crisp",722252102607
"Clif Shot, Mocha",722252176103
5-Hour Energy,719410500016

Note that in example 2, it would be acceptable to enclose "5-Hour Energy" in quotes, but fields which contain commas (like the first three lines) must be enclosed in quotes.

If the file contains no accented characters and no fancy punctuation like smart quotes (curly quotes) or long dashes (em- or en-dashes), the file will be a simple ASCII text file. If it does contain special characters, it must be a UTF-8 encoded file. More details on this are found in an Appendix. Again, however, this isn't something you'll need to worry about if your file contains only regular letters and numbers and simple punctuation like commas, periods, and plain quotation marks or apostrophes.


When you select Output, the screen you see is almost identical:

As on the Input screen, tapping the disclosure button next to the button which triggers the output (upload, export) action shows a screen giving you five choices for methods of output:

The five ways in which you can output (export, upload) data from the software are:

Filename is the name of the file that will be output by the software. If you set Auto Filename to "On", the filename will be automatically generated, or you can leave that off and enter whatever filename you choose. Even with Auto Filename set to On, you can still override the name by entering a different name, although if you leave the File screen and then return to it, the automatically generated filename will reappear.

The options for uploading the data are threefold: upload All the data, only the >0 data (only items with non-zero quantities), or only the Modified data (data which has been modified since your last upload or download). The first of these three choices will change depending on your selection of Location on the main screen. If All Locations is selected on the main screen, then the first button will read All Locations and the output file will include data from each location, plus the overall totals. If a particular location, say "Storeroom," is selected on the main screen, then the first button will read "Storeroom" and the output file will contain only the totals for the Storeroom.

As with Input, the Output Include/Exclude Table lets you specify precisely what pieces of information will be exported for each item in the file, and in what order. In the example shown here, the output file will contain all seven pieces of information per line. Note that, if you return to the Input screen and configure the Include/Exclude Table identically, you'll be able to download the exact same file you uploaded, with no changes (which may or may not be what you want to do or need to do). To the extent that the two tables are configured differently, either in terms of which items are included or excluded and in terms of their order, you will need to download a completely different file into the software. Of course you can change these formats, so that if your "normal" download consists of only Barcode and Name, as in the example above, you can do that, but if one day you need to download a complete file that you recently uploaded, you can simply reconfigure the Input Include/Exclude Table and then download it.

Internally, the software tracks all changes by date and time. When you export (or import) information from the software, you can specify the Date,Time Format to include both date and time or the date only, as you prefer.

No matter what method you use for output, you can specify the Line Ending to be either a "CR" ("Carriage Return"), which is appropriate if you will be reading the file on a Mac, "CRLF" ("Carriage Return/Line Feed"), which is appropriate if you will be reading the file on a Windows computer, or "LF" ("Line Feed"), appropriate for Unix (Linux). On Input, the software can handle all three equally, so you need not concern yourself with that.

As noted above under Input, all files output by the software will be "UTF-8 encoded" (read more about that in the Appendix). Files which contain only "plain" characters (simple letters and numbers and basic punctuation) will be identical to "ASCII" files and you will have no problem reading them with any software. Files which contain "special" characters (accented characters, characters in non-Roman alphabets, "smart" punctuation) will require that you read them with software capable of reading UTF-8 files. Again, consult the Appendix for details.

Special Operations

Shipping ("Pick and Pack")

Here's how to use the software to help in packing orders for shipment:

1. Prepare a file containing the items (barcodes, names, and quantities) to be shipped. This file can contain information about multiple orders (using customer name, Order#, or other identifying information). For one order, the file might look like this (as above, -> represents the Tab character):

12->Clif Bar, Chocolate Chip->722252100900
24->Clif Bar, Blueberry Crisp->722252102607
12->Clif Shot, Mocha->722252176103
40->5-Hour Energy->719410500016

To put two orders in the same file, you'll need to add the Order# (or customer ID or whatever), like this, where 72567 and 72568 represent two orders for two customers:

12->Clif Bar, Chocolate Chip->722252100900->72567
24->Clif Bar, Blueberry Crisp->722252102607->72567
12->Clif Shot, Mocha->722252176103->72567
40->5-Hour Energy->719410500016->72567
36->Clif Bar, Chocolate Chip->722252100900->72567
36->Clif Bar, Blueberry Crisp->722252102607->72567
48->Clif Shot, Mocha->722252176103->72567
20->5-Hour Energy->719410500016->72567

2. On the Input screen, set the "Include" column to include the appropriate items in the appropriate order – Quantity, Name, and Barcode in the first example, and Quantity, Name, Barcode, and Location in the second (remember, "Location" is just a way to identify a subset of items – it can be an actual location, or it can be something else, like a customer or order# in this case). Input the file.

3. In the Settings app, in the Scanning section of the On Hand BT settings, make sure Scan Action is set to Decrement Count.

4. In On Hand BT, set the display mode on the upper-left of the screen to >0.

5. Set the location to the first order (72567 in this example), either by selecting it from a list of existing locations, creating it as a new "location," or scanning a CODE128 barcode reading LOC_72567.

6. The screen should display a list of the items and quantities needed for the first order. As each item is packed, scan it and the count will decrement. When the appropriate number of items has been packed, the count will reach zero and the item will disappear from the screen. When all items have disappeared from the screen, the order is complete.

7. Repeat steps 5 and 6 for each order in succession.


Here's how to use the software to help in creating restocking orders:

1. Prepare a files containing the items which should be stocked, along with their appropriate stocking levels, for one or more customers. Those files will look identical to the examples above in the Shipping section.

2. On the Input screen, set the "Include" column to include the appropriate items in the appropriate order – Quantity, Name, and Barcode in the first example, and Quantity, Name, Barcode, and Location in the second (remember, "Location" is just a way to identify a subset of items – it can be an actual location, or it can be something else, like a customer or order# in this case). Input the file.

3. In the Settings app, in the Scanning section of the On Hand BT settings, make sure Scan Action is set to Decrement Count.

4. Set the location to the first order (72567 in this example), either by selecting it from a list of existing locations, creating it as a new "location," or scanning a CODE128 barcode reading LOC_72567.

5. The screen should display a list of the items and quantities which represent how many of each item should be on the shelf. Scan an item, and then continue to scan (or tap the screen) to decrement the count, one for each item on hand. Since the number started at the desired number, the number that remains will be number that needs to be reordered to bring the stock level up to the desired level. If an item does not appear on the shelves at all, that's fine. You won't be able to scan it, and the number will remain as it is in the file, that is, the restocking amount.

6. Repeat steps 5 and 6 for each order in succession.

7. Output the file, which will now contain exactly the quantities of each item to be reordered to bring the stock levels up to the desired amount.

Visit the Stevens Creek Software Home Page

Visit the Stevens Creek Software iPhone Software Support Page

© 2010-2 Stevens Creek Software