Mobile Inventory App for Android - BETA


Tired of dragging your laptop into the warehouse or the shop floor or the loading dock? With the xTuple mobile inventory app, you can now use any Android device to perform the most common inventory transactions. The app is a new commercial offering from xTuple's professional services group. It comes standard with a core set of robust features. It can also be extended and/or customized to meet the needs of your business.

The app is currently being made available in beta mode. This means two things: First, the app may not be feature complete. As new features become available, they will be pushed out to all beta participants. Second, because this is a beta, early adopters will receive a 50% discount off the anticipated list price.

Note: If you would like to learn how to obtain your beta copy of the xTuple inventory app for Android, please reach out to your xTuple sales representative.

Here's an overview of the topics we will be covering in this article:

  1. Getting Started
  2. Home Screen and Basic Navigation
  3. Preferences and Settings
  4. Inventory Features Currently Supported
  5. Offline Mode
  6. Road Map

We should stress from the outset that the Android inventory app has been designed intentionally with a narrow scope. Only the most common inventory transactions are supported here. For the full range of inventory screens, you should continue to use the xTuple Desktop application.

Getting Started

Once you join the xTuple mobile inventory beta program, you will be given access to download the needed files. The two files you will need are listed below. For compatibility purposes, they should both be at the same version number (e.g., xtuplemobile-2.3.0.apk).

  • xtuplemobile-version.apk
  • xtmobile-version.gz

The APK file, which stands for Android Package Kit, is the main Android client app file. You cannot find the app on Google's Play Store. Instead, it is distributed directly from xTuple. Because of this, you will need to manually install the file on your device(s) using a process called sideloading. If you've never manually installed an app on an Android device before, it's easy to do and is fairly common. One of the simplest ways to sideload an APK file is to share it with the target device as an attachment to a text or email message. You can also download an APK file onto the device using a browser. There are plenty of tutorials and documents available on the Internet to explain how to sideload APK files. The process may vary depending on which version of Android you are running.

The .gz file is an extension package for loading into an xTuple ERP database. You should load this .gz file into the same database you want to connect your Android client to. To load the package into the database, use the xTuple Updater application. You can read more about using the Updater in the Updater Guide.

For the purposes of this article, we'll assume you've already installed the xTuple mobile inventory app on an Android device, as well as the corresponding extension package into an xTuple ERP database. The screenshots used here were taken on a Motorola smart phone running Android "Oreo" (i.e., version 8.0). However, the software should run on any Android device. For industrial settings, we are currently recommending the Zebra TC20 mobile computer. The TC20 is a reliable, relatively low-cost solution with built-in barcode scanning support.

Once installed, the xTuple mobile inventory app will appear on your device like any other app, as shown below:

Inv App 1

Launch app from device desktop

Keep in mind that the Android app is just one more client you can use to interact with your xTuple ERP database. All the same rules regarding users and logins and permissions still apply—just as they do, for example, when you are using the xTuple Desktop client.

Note: Before you connect, make sure your system administrator has installed the xtmobile package into the xTuple ERP database. If the package is not installed or is at the wrong version, your Android client will be prevented from connecting.

To launch the Android client, tap on the icon for the app. You will be presented with the following Login screen.

Inv App 2

Log in screen

Notice how the Login screens asks you for the same information you supply when logging in with the Desktop client:

  • User
  • Password
  • Server
  • Port
  • Database

You will also notice a "Use SSL" option on the Login screen. This feature will force encryption on the database connection, assuming the database server is configured to accept SSL connection. The option is selected by default.

Home Screen and Basic Navigation

After logging in, you will be brought to the app's Home screen. The features available on the Home screen may vary from user to user, depending on the permission level of each user. For example, if a user in the ERP does not have access to physical inventory, then that same user will not see count slips on their Android inventory Home screen.

Inv app 3

Home screen with Light theme

Users may choose their preferred theme. Currently, the two theme choices include Light or Dark. The theme impacts the entire look-and-feel of the app. In the screenshot above, the Home screen is shown with the Light theme enabled. The Dark theme is illustrated in the screenshot below:

Inv App 4

Home screen with Dark theme

Along the top of the home screen you will notice two primary navigational elements: the HAMBURGER button and the MORE OPTIONS button. Tapping on the HAMBURGER button will open the Main menu. You can also reach the Main menu by sliding the screen from the left side of the Home screen. The MORE OPTIONS button will give you access to several options, including settings and preferences.

Inv App 5

Basic navigation elements

You will find other navigational elements at the top of screens, depending on the context of the screen you are looking at. For example, you will find a FILTER button on screens which are presenting a list. The following screenshot shows the Item List screen, with the FILTER button included in the top navigation:

Inv App 6

Organize lists with additional filters

Filters help you drill down to the information you are really looking for. This is especially helpful when dealing with long lists of data.

Note: To refresh a list, swipe downward on the screen anywhere near the top of the list. This is a common convention in mobile apps, and will ensure you are looking at the most current information.

Preferences and Settings

The Main menu is where you gain access to preferences and settings. As we mentioned above, you get to the Main menu either A) by tapping on the HAMBURGER button or B) by sliding the Home screen from left to right. Here's a screenshot showing the Main menu:

Inv App 8

Main menu

The Preferences screen contains options which affect the user's in-app experience. To set up or change your user preferences, tap on the Preferences menu option. The following screen will appear:

Inv App 9

User Preferences screen

When configuring your user preferences, you are presented with the following options:

  • Language: The app's default language is English. However, the user interface can be translated into other languages without much difficulty. Please contact your xTuple representative if you are interested in sponsoring a translation into another language.
  • Theme: Both the Light and Dark themese are available.
  • Preferred Site: Indicate the site you tend to use most often, if applicable.
  • Barcode Beep: Turn on to enable an audible beeping sound when barcodes are scanned. The barcode beep will not be heard if this option is disabled.
  • Keep Count Slip Open: Turn on to keep the Count Slip screen open between count slip entries. If disabled, the Count Slip screen will close after each entry.
  • Keep Receipt Open: Turn on to keep the Purchase Order (PO) Receipt screen open between count slip entries. If disabled, the PO Receipt screen will close after each entry.
  • Keep Issue and Ship Order Open: Turn on to keep the S/O Issue and Ship Order screens open after each transaction. If disabled, these screens will close after each transaction.

The options on the Settings screen are more administrative in nature.

Inv App 10

Settings screen

When navigating within the Settings screen, the following options are available:

  • Clear Cache: The app's connection to the ERP database is non-persistent. This means, for performance reasons, the app caches data locally on the device, only reconnecting when a new request is made. Selecting the CLEAR button will clear any accumulated cache. All locally-stored cache will expire every 24 hours, by default.
  • Check for Updates: This option checks for newer versions of the client software and is accesible to all users. When you select the UPDATE button, you will be given the option to upgrade the app client installed on your device, if newer versions are available.

Note: The app does provide support for an offline mode. To learn which features are currently supported in offline mode, please see below.

The Switch Users option is also available on the Main menu. This feature is designed to allow switching between user accounts. For example, you might want to switch users if a device is shared among multiple people. You will need to sign out of one user account before you can sign into another.

Inv App 11

Switching users

The About screen tells you which xTuple ERP edition you are licensed for. It will also tell you the version of the Android inventory app you are running.

Inv App 12

About screen

Please use the SUBMIT FEEDBACK button on the About screen to let us know your input on the Android inventory app. We value feedback from users. All submitted suggestions will be read.

Inventory Features Currently Supported

As we mentioned previously, the Android inventory app may not be feature complete during the beta phase. However, many features are currently supported and there are more to come. In this section, we will describe the currently supported features. To learn about what's coming next, please see the road map section.

Note: The app will consist of a core set of features. However, these core features can be customized to meet the needs of your business. Contact your xTuple representative to learn more about customization options.

The following features are currently supported in the app: Barcode Scanning, Inventory Adjustment, Count Slips, Inventory Expense Transaction, Document Search/Inquiry, Item List, Purchase Order List, Purchase Order Receipt, Purchcase Order Receipts, Relocate Inventory, Inventory Scrap, Issue Work Order Material, Return Work Order Material, Scrap Work Order Material, Issue to Sales Order, Ship Order, Quality.

For more details on each the supported features, please see below....

Barcode Scanning

One of the reasons we are recommending the Zebra TC20 mobile computer is because of its native barcode reading capabilities. Native barcode support is essential for industrial-strength, rapid-fire barcode reading. The TC20 comes with this support built-in, but so do many other devices you can find available on the market.

The xTuple mobile inventory app supports two modes of barcode scanning:

  1. Via key input: This mode uses the native, built-in scanning capabilites of your device. When you scan a barcode, the information will be entered into the selected field as keystrokes. This method is by far the most efficient and fastest option. NOTE: For this to work, you must enable keystroke output in the profile of your device.
  2. Camera based: On screens where camera scanning is supported (see example of camera icon below), you can use the device's camera to input barcodes. To use this method, select the camera icon. You will be presented with a list of fields you can scan barcodes into. Choose the field you want to scan into, and then use the device's camera to take a picture of the barcode. The barcode will be entered into the specified field.

Inv App 13

Example scanning options

Barcoded information can be scanned into any field in the app. To begin, select the field you want to scan into by tapping on it. Then scan the barcode—using either the native scanner or the camera—and the code will populate the field as keystrokes. While you can use the device's camera to scan barcodes, the performance of the native scanner will be much faster and more reliable.

For ease of use, you may want to consider mounting your device on a pistol grip or trigger handle. A trigger handle attachment is available for the Zebra TC20.

Inventory Adjustment

Miscellaneous adjustments are a simple and quick way to either increase or decrease the quantity on hand of an inventory item. As you can see from the screenshot, the feature fully supports lot/serial and also location control:

Inv App 14

Inventory Adjustment screen

To learn more, please review the inventory adjustments section in the xTuple ERP Reference Guide.

Count Slips

Count slips are the most basic unit in the physical inventory process. If you've counted inventory using xTuple ERP before, then you know that count slips collect detailed item information which is then transferred to and consolidated on parent count tags. Count slips are designed to capture not only quantity, but also lot/serial and location information. As you enter count slips, they get added to the Count Slip Edit list, which is shown in the following screenshot:

Inv App 15

Count Slip Edit List

As you can see in the screenshot, the Count Slip Edit List screen contains several "long press" options. To reveal these options, press a finger on a count slip record in the list. After pressing for a short time, the long press menu will appear. From this menu, you can perform actions like deleting the count slip or attaching a picture to it using your device's camera.

Note: Whenever you are looking at a list in the Android inventory app, you can long press on any row to reveal additional options related to the record.

Count slip numbers are generated automatically by the app. The numbers are generated sequentially and are prefixed with "CS-" (i.e., count slip). To create a new count slip, tap on the "+" button. This will open the Count Slip screen. As you can see in the following screenshot, detailed information about the item can be collected using the app:

Inv App 16

Count Slip

Please review the xTuple ERP Reference Guide to learn more about count slips and the Count Slip Edit List.

Inventory Expense Transaction

Inventory expense transactions allow you to associate an expense category with an inventory adjustment. If the inventory is lot/serial or location controlled, then you can also capture that detail when recording an expense transaction.

Inv App 17

Inventory expense transaction

To learn more, please review the expense transaction section in the xTuple ERP Reference Guide.

Document Search/Inquiry

With the document search feature, you can locate virtually any type of document in the ERP database. To locate a document, begin typing in the Search field and search results will begin to pile up. Because this is a form of list, you can long press on a row to find additional options for working with the record.

Inv App 18

Document search on Inquiry screen

Database-wide document search is not currently available in the ERP. So this represents a feature that today can only be found in the Android inventory app.

Item List

You can pull up your entire item list in the app. Because data is cached locally, performance should be quick, even when working with the entire list. You do have the filter option available on this screen, though. Using filters, you can easily drill down to the specific record(s) you are looking for. There is also a long press menu on the Item List screen.

Inv App 19

Item List with submenu

When you tap on an item record, you will be presented with detailed item nformation, as shown in the following screenshot:

Inv App 20

Item workbench information

Item information is presented in a workbench format, with tabs for inventory levels, as well as inventory history for the item. To reach different tabs of information, either swipe the screen in the direction you want to go or tap on the tab headers.

In the long press menu for the Item List screen, you may have noticed the "Print Label" option. When you select that option, the following screen will appear:

Inv App 21

Print Item Label screen

When printing item labels, you can choose from the available label and printer optins. These choices are both defined in the System module of the ERP.

  • Label: Go to System > Setup > Master Information > Forms to create an item label form definition. Be sure to indicate the form should be "keyed on" items. That will ensure the Android inventory app has access to it. To learn more, please review the creating forms section in the xTuple ERP Reference Guide.
  • Printer: Named printers are defined under System > Setup > Master Information > Printers. Any defined printers will be available to the inventory app. If no printer is specified, the default printer will be used. Note: Print jobs require xTuple Connect to be installed and running against the ERP database.

Purchase Order List

The Purchase Orders list shows all open purchase orders, with the option to also filter the list down to a smaller subset of data.

Inv App 22

Purchase orders list with submenu

To learn more, please review the open purchase orders section in the xTuple ERP Reference Guide.

Purchase Order Receipt

Receiving purchased inventory is accomplished using the PO Receipt screen. On this screen, begin typing the purchase order number you are wanting to receive against. Once you locate it, pick the line number you are receiving. Enter the item quantity received and also specify lot/serial information, if applicable. Use the "+" button here to add additional receipts for the line item. This would come into play, for example, if the line item quantity included multiple lot or serial controlled items.

When finished, save the receipt by tapping on the check button in the upper right corner of the screen. Once saved, the record will appear on the PO Receipts screen.

Inv App 23

Purchase order receipt

To learn more, please review the purchase order receipt section in the xTuple ERP Reference Guide.

Purchase Order Receipts

You can manage your purchase order receipts from the Receipts screen. By tapping on the "+" sign, you can start a new receipt. Long-pressing on a receipt brings up the option to post the receipt.

Inv App 24

Purchase order receipts with submenu

To learn more, please review the open purchase orders list section in the xTuple ERP Reference Guide.

Relocate Inventory

The Relocate Inventory screen makes it possible to move inventory between locations in a single item site. Indicate the site, item, and quantity you want to move, then choose your source and destination locations.

Inv App 25

Relocate Inventory screen

To learn more, please review the relocate inventory section in the xTuple ERP Reference Guide.

Inventory Scrap

Scrap transactions are handled by the Inventory scrap screen, as shown in the following screenshot:

Inv App 26

Inventory scrap transaction

To learn more, please review the scrap section in the xTuple ERP Reference Guide.

Issue Work Order Material

Issuing component item inventory to work orders is handled by the Issue Material screen. Issuing items in batch mode is not currently supported.

Inv App 27

Issue Work Order Material screen

To learn more, please review the work order material issue section in the xTuple ERP Reference Guide.

Return Work Order Material

Use the Return Material screen to return material that has been issued to work orders. The following screenshot illustrates this screen:

Inv App 28

Return material from work order

To learn more, please review the return work order material section in the xTuple ERP Reference Guide.

Scrap Work Order Material

To scrap inventory from a work order, use the Inventory Scrap screen, as shown below:

Inv App 29

Scrap work order material

To learn more, please review the scrap work order material section in the xTuple ERP Reference Guide.

Issue to Sales Order

You can issue individual sales order line item quantity to shipping using the S/O Issue screen.

Inv App 30

Issue sales order inventory to shipping

To learn more, please review the inventory adjustments section in the xTuple ERP Reference Guide.

Ship Order

When line item quantity has been issued to shipping, you can then ship the order using the Ship Order screen, as shown below:

Inv App 31

Ship sales order inventory

Review your line item quantities prior to shipping by switching to the the Lines tab on the Ship Order screen.

Inv App 32

Sales order shipment line items

To learn more, please review the issue to shipping section in the xTuple ERP Reference Guide.


The quality icon will appear on the Home screen whenever the xTuple Quality package is installed in the target database. The xTuple Quality package is a commercial extension to xTuple ERP. You can learn more about the xTuple Quality package here.

When you select to open the quality icon on the Home screen, you will be presented with the Quality Tests screen, as shown in the following screenshot:

Inv App 33

Listed quality tests

Select a quality test from the list of quality tests to open an individual test. You can see the Quality Test screen in the following screenshot:

Inv App 34

Quality Test screen

To learn more, please review the xTuple Quality Control Product Guide.

Offline Mode

As you may have noticed on the Main menu, the app supports an offline mode. In this mode, items you process will be stored locally on your device until such time as you re-establish your database connection. The app uses a SQL Lite database to store the offline data. Upon reconnecting, the data on your device can be synced up with the ERP database.

To enter offline mode, select the offline mode option from the Main menu. You will be asked to confirm that you want to disconnect from the database and go offline:

Inv App 35

Enter offline mode

When you are in offline mode, the Home screen will present you with the available options. If an option does not appear on the Home screen, that means it is not currently supported in offline mode.

Inv App 36

Desktop showing available offline options

At the present time, offline mode is supported for the following features:

  • Count slips

When you are ready to reconnect to the database, you can either tap on the WiFi icon or return to the Main menu. Notice on the Main menu that the Go Offline option has changed to read "Go Online." Select this option to re-establish your connection to the database:

Inv App 37

Go Online menu option

When going back online, you will be given the option to sync any offline data with the ERP database. The syncing of offline data does not happen automatically. You must specifically indicate you want to do that:

Inv App 38

Sync data message

If for some reason you decide to answer "No," you can always sync your locally-stored data at a later point. To do so, locate the Sync Data icon which appears on the Home screen.

Inv App 39

Sync Data option on Home screen

The Sync Offline Data screen not only enables you to sync your data, it also shows you what data is out of sync. For example, in the following example, we can see that three count slips have yet to be synced to the the ERP database:

Inv App 40

Snycing offline data

While offline support may be available for only a limited set of functions, remember that the app both caches ERP database information and maintains a non-persistent database connection in its online mode. Both features are designed to improve performance and provide adaptibility in the face of uncertain WiFi or cellular network coverage.

Road Map

As we mentioned previously, the Android inventory app is in beta mode and may not be feature complete. However, the app does have a road map, and the following features are projected to be included, in decscending priority order:

Note: If you are interested in mobile features which are not currently on the list for the Android inventory app, then please share your feedback with us. It's possible those features may fit better into another app or you may want to explore customization options with your xTuple representative.

Function Priority
Post Operation 1
Post Production 1
Transfer Order Issue to Shipping 2
Ship Transfer Order 2
Transfer Order Receipt 2
RMA Receipt 3
Purchase Order Return 4