View source | Discuss this page | Page history | Printable version   
Main Page
Upload file
What links here
Recent changes

PDF Books
Add page
Show collection (0 pages)
Collections help


MobiSales User Guide

Back to main page



The MobiSales graphical user interface (GUI) is the main component of CloudERP for Retail. It is used in stores to assist shop floor staff in client-side selling and enables the checkout process.

Launching MobiSales

CloudERP for Retail uses two GUIs: MobiSales and the CloudERP back office. Both run in a web browser and both can be launched independently.

View larger

It is recommended to run MobiSales in full screen mode, this way MobiSales takes full control of the screen and all other distracting elements disappear from the screen making the cashier to focus only in sales operations.

Note - iPad users: During the MobiSales login the browser will ask you: "Increase Database Size? Do you want to allow [application] to use up to 50 MB of storage on your device?". VERY IMPORTANT: You need to approve this to be able to use the off-line capabilities of MobiSales.

MobiSales GUI overview

Main layout

The MobiSales uses an adaptible layout. The layout will adapt itself automatically depending on the resolution of the device it's being used in. This means that it will look slightly different in a desktop computer than in a smartphone, for example.

In the most common scenario, the MobiSales will display a two column layout, which contains the main menu and the ticket area in the left side, and the tab area on the right side.

View larger

In smartphones and devices with small screens, the MobiSales automatically switches to a one-column layout. A switching button which can be used to switch back and forth between the left and right columns is added to the button toolbar.

View larger
View larger

Users can also swipe the screen to switch between toolbars. Some actions will also automatically switch to the appropriate column when necessary.

Ticket area

One half of the screen is occupied by the ticket area. Here all products that are added to the active ticket are shown in a list view. It serves as a preview of the final ticket that the customer will receive after successful payment. Items in the list view can be selected and subsequently edited.

View larger

Message area

The message area on the other side of the screen shows the time and date and informs the user about actions and events.

Numerical pad

The on-screen keypad is used by touch screen users to enter product codes, quantities and other numerical data.

View larger

The discount key can be configured:


The tab buttons at the top of the screen give access to the four main POS activities: scan, browse, search and edit. The first three activities are used to find and add products to a ticket, the edit activity applies to the last or user-selected product.

The menu

The menu is the main way to open most of the advanced features of the MobiSales. Apart from the functionalities which will be explained in detail in subsequent sections, the menu contains some basic features also present in other CloudERP mobile applications.

The main ones are:

Bulbgraph.png   Note: Approval can be configured for log out if there are open tickets. To do so there is a preference called MobiSales Remove Receipts Approval

Please take into account that the menu is scrollable, and that you can easily scroll through the available options by dragging the menu options themselves.


Shortcuts to navigate back/forward in the browser have been blocked to avoid an involuntary navigation.

When using a keyboard you may use the following shortcuts:

Main Flows

CloudERP MobiSales supports the following main flows:


In order to enable the new Terminal Authentication Security (Enhance Terminal Authentication) exists a Preference: Terminal Authentication enabled. By default, this preference has 'N' value, put 'Y' to enable Authentication security.

In this case, we navigate directly to login page and we can enter our user and password.

We will navigate to Terminal selecting window (Only the first time we access to MobiSales. After first access, selected terminal is saved and we will access directly to login page) in order to link this physical device to a POS Terminal Configuration.


Note: Cleaning device cache will delete this info and you need to link again the physical device to corresponding configuration.

Enter POS Terminal configuration Terminal Key Identifier, username and password. The configuration can be linked only to one physical device and the user who is linking the device must has access to this terminal and a role which has access to MobiSales form.

After filling Terminal selection Login page will be open with the selected POS Terminal Configuration. Since we select the terminal, this info is saved in local Storage and the physical device will open directly the login page with the corresponding Terminal configuration.

In the login process and before sending data to backend, we will check if Terminal Authentication Security configuration has been changed. If someone in the ERP change the value of Terminal Authentication enabled preference or unlink the device of the terminal configuration we are working with, a modal will be shown advising us of this and forcing to login or selecting terminal again.



Using a barcode scanner, products can be added to the ticket by scanning their barcodes. The barcode scanner works as a human-input-device (HID) similar to a keyboard and generates a numerical string followed by a carriage return. The user will see the numerical string appear in the field that sits in the numerical pad. Barcode scans are registered when the MobiSales is in Scan or Edit mode.

Bulbgraph.png   Note: If your keyboard mapping doesn't match with the mapping used internally by the barcode scanner, some characters could be changed by others when the barcode is read. Please try to avoid this kind of characters ('-','/') in the barcode.
View larger

You can test barcode scanning in the MobiSales demo environment using the example barcode sheet displayed.

By default products are marked as grouped products, it means that when a product which is already in the ticket is scanned the quantity of this line will increase. Having a product marked as "Not grouped" a new line with quantity 1 will be created once a barcode is scanned.

Manual entry

Sometimes barcodes are missing or cannot be read by the scanner and need to be entered manually. For this, you need to be in Scan or Edit mode. The UPC/EAN code is entered using the on-screen or physical keyboard and by tapping the Enter or UPC/EAN key the code is submitted to the system. It will then search for a product match and once the product is found, it is added to the ticket.


View larger

Products can be browsed by category. Selecting a category in the category list will refresh the product list view. Adding a product to a ticket is done by tapping the desired product. If the product is marked as Generic, Search tab is going to be opened filtering by tapped product children. The item that was last added to the ticket is selected by default.

By default products are marked as grouped products, it means that when a product which is already in the ticket is tapped the quantity of this line will increase. Having the product marked as "Not grouped" a new line with quantity 1 will be created.


View larger
View larger
View larger

The search functionality is used to perform keyword searches. If necessary, the user can set a product category filter to reduce the amount of results or search by product characteristics.

The clear button (marked with an X symbol) is used to remove the current keyword filter and product characteristic filters too. In some browsers, such as Chrome, a microphone icon is shown inside the text field. Tapping it will let you enter the keyword by using human speech.

In the left side product characteristics are shown. Product Characteristics are values(Color:Red,Blue...; Size:40,42...) of a product to create(explode) different product from a Generic one.

Brand is going to be the first button always because it is a field of the Product and we can fill it whenever we want.

The remaining button will be characteristics owned by the product we have in our Assortment. Pressing in one of them, a modal will be shown with values linked to this characteristic.

The Characteristic modal show us all the values we are able to choose (values of the selected characteristic) and you can select more than one. Some of these values could have children. These children will be the same value as its parent but more detailded(Parent:Green, Child:Light Green). We can see a value's children tapping on the green triangle at the value line. If we are watching children we can go back to parent level tapping in the top left Back button. Selecting a value with children will filter by this value and all its descendants(all values in the tree below it).

When a value's tick icon is in light green means that some of its descendants is selected. Finally, when all values to filter are selected we must press Done button. Now, the characteristic buttons we used to filter are in yellow to know which are filtering and which not.

How to manage Product Characteristic is well explained in the following link:

By default products are marked as grouped products, it means that when a product which is already in the ticket is tapped the quantity of this line will increase. Having the product marked as "Not grouped" a new line with quantity 1 will be created.

Using the scales

Products that are sold by unit of weight are placed on the scales before adding it to the ticket. When adding it to the ticket (either via scan, search, browse or UPC/EAN input), the total price is calculated as follows: weight x price per kilogram. For more information on how to configure products for weighing, see further down in this document.

Opening the drawer

View larger

The drawer is opened automatically when tickets are paid.

Since RMP29 we have also included a menu entry to do it. This menu entry can be hidden using a preference (OBPOS_retail.opendrawerfrommenu).

Bulbgraph.png   Note: Approval can be configured to open drawer. To do so there is a preference called MobiSales Open drawer form menu

Also in RMP29 if the configuration is correct, the cash drawer is opened automatically in these cases:


View larger

The Edit mode is entered by tapping the Edit tab. By default the last product that was added is selected but tapping any other row in the ticket, selects it and brings up the edit mode for that item. The following can be edited:

The tap order to edit one of the above is as follows:

The quantity can also be changed using the + or - buttons.

Bulbgraph.png   Note: Approval can be configured for changing the price. To do so there is a preference called MobiSales action Change price

Viewing and printing paid tickets

View larger

This functionality lets the user find old (paid) tickets and print them. The flow of this functionality is simple. Paid tickets can be filtered by date and tapping one, shows the details in the ticket area.

Customer management and assigning to a ticket

View larger
View larger
View larger

New tickets by default have an anonymous customer assigned to them. This can be changed by tapping the customer name button at the top of the ticket which launches a customer picker dialogue where a known customer can be selected.

In this modal window we are able to search customers by name, filling the input text and pressing the magnifying glass button. Choosing Advanced search will launch a more extensive search panel. (This panel can also can be accessed via the Customers option in the main menu)

Tapping a customer opens a more detailed view, which is read only at first. Using the Edit button, the form can be modified. The Assign to ticket button, uses the selected customer to assign it to the actual ticket.

To create a new customer, there are two ways:


Don't forget to configure the defaults values for customer creation.

In case something is misconfigured, the customer will not be saved correctly. Try to find it in Business Partner window. If it has been an error go to Errors while importing POS data window.

Customer address management and assigning to a ticket

View larger
View larger
View larger

Once customer is selected, system will automatically fetch default address and assigning it to ticket. If customer have multiple address, this can be changed by tapping the customer address button at the top of the ticket (next to customer name) which launches a address picker dialogue where a required address can be selected.

In this modal window, customer address are loaded automatically, which is read only at first. Tapping a address will get assigned to actual ticket. If customer have too many address, we can able to search customer address by name, filling the input text and pressing the magnifying glass button. Choosing New Address, new address can be added. Using the Edit Address, the address can be modified. The Assign to receipt button in New Address, Edit Address which helps us to assign customer and address automatically to receipt after add new or edit address, without returning back to address menu.

To create a new customer address from menu:

Cross store window for a product

OBPOS view cross store.png
OBPOS other store stock.png
OBPOS store stock detail.png

To enable this utility, the products must be properly configured.

After that configuration Cross Store window will be opened when a product is going to be added to the ticket for the first time.

When product is added to the ticket this window is closed and quantity of the product can be changed in a standard manner using product´s catalog or numeric pad. In case it is required to open the Cross Store window again - select corresponding line in the ticket and press on the Check Stock button.

Bulbgraph.png   Starting from RMP32 below functionality is available
Bulbgraph.png   This functionality is disabled by default. To enable it, the preference Allow to select a warehouse for a specific line order must be set to 'Y'

If Cross store is enabled it is possible to select from which warehouse the product will be shipped (only store warehouses can be selected). The store stock popup shows details about the units stored for that specific product in each warehouse. If there is not enough stock on the selected warehouse the remaining stock will be shipped from another warehouse taking into account the priority order.

OBPOS store stock clickable.png

Prior to adding the product to the ticket it is possible to change the warehouse. To do so click Store stock button again and select a new warehouse. For adding the product to the receipt click Add to receipt button. The line is now associated with the warehouse and that information can be checked in the details of the line.

OBPOS warehouse line.png

When the line is created it is not possible to modify the warehouse, for changing the warehouse the line needs to be deleted and recreated.

Creating a new ticket

New tickets can be started at any time, even when another ticket is still pending. A new ticket is created by tapping the * button in the top left of the main navigation.

Editing ticket properties

View larger
View larger

To change or review a receipt property (Description, if it needs to be printed, its sales representative) go to the main menu and select Receipt Properties.

Here the value of properties such as Description or Sales Representative can be changed.

Description Description is used for notes, references or other user generated meta data to the sales order.

Print This checkbox conveys whether the receipt is going to be printed or not after ticket completion.

Sales Representative In order to show this field we must active the Preference MobiSales Sales Representative in Receipt properties window. Done this sales representatives will be shown in a dropdown list. In case of having lots of Sales Representatives, there is another preference MobiSales Use Modal instead of dropdown in Sales Reprentative that allows to show sales representative using a modal window with the corresponding benefits such as performance and usability. The user's role must be Manual if you want the Preferences to be taken into account.

Line Description

View larger
View larger

A Line Description is a part of Line Properties. It can be considered meta data and is used for notes, references or exceptions specific to the ticket line. To add, modify or view a line description, select a ticket line, tap the EDIT tab and tap the Description button.

Parking and selecting pending tickets

View larger

Multiple tickets can be kept at the same time and new tickets can be started while a current ticket was not closed yet. If this is the case, the ticket that was edited last, while move to the background and a number (or a+1 increment of the current number) while appear in the top right folded corner of the ticket. These parked tickets can be re-activated by tapping the number in the folder corner. The user can now pick a pending ticket from the modal dialogue that was invoked.

Bulbgraph.png   Note: In order to print automatically a parking/suspended ticket there is a preference called MobiSales Print suspended order

Deleting a ticket

The current ticket can be deleted by tapping the bin button in the main navigation. This action cannot be undone.

Bulbgraph.png   Note: Approval can be configured for deleting a ticket line. To do so there is a preference called MobiSales Delete Line Approval
Bulbgraph.png   Note: Approval can be configured for deleting a ticket. To do so there is a preference called MobiSales Remove Receipts Approval

Printing a receipt

Tickets can be printed at any time using two menu options. As it happens with all menu entries these can be deactivated using a preference

Very interesting menu option Print last Receipt that allows to print the last receipt paid

It is possible to define whether a ticket should be printed twice automatically per payment method. In order to do so go to Pos Terminal Type > Payment Method. There is a flag named Print twice

Returning products

There are two ways of returning products:

Bulbgraph.png   Note: Approval can be configured for returns. To do so there is a preference called MobiSales Returns Approval

From original receipt

View larger
View larger
View larger
Bulbgraph.png   Note: This is a module
Bulbgraph.png   Note: This menu option can be hidden using the preference Return receipt menu option

Blind Receipt: Return the whole receipt

View larger
Bulbgraph.png   Note: If there are already return lines in the receipt this action cannot be performed and the option in the menu will be hidden
Bulbgraph.png   Note: This menu option can be hidden using the preference MobiSales action Return receipt

Blind Receipt: Return a line

View larger
Bulbgraph.png   Note: This button can be hidden using the preference Enable switch from positive line to return line

Ability to have sales lines and return lines in the same ticket

Can only get this scenario using:

Once return lines are entered or switched from positive to return the user can keep entering sales lines

Bulbgraph.png   Note: When a receipt has positive and negative lines then the document is created in the backend as a regular sales order
Bulbgraph.png   Note: There is a preference to prevent having sales and returns in the same receipt. The preference is Not Allow Sales With Return
Bulbgraph.png   Note: This kind of orders cannot work as layaway
Bulbgraph.png   Note: This kind of orders cannot be paid through "Pay Open Tickets"
View larger

Creating an invoice

View larger

On customer´s request, an invoice can be produced for a ticket following this sequence:


Layaway is an agreement in which the seller reserves an item for a consumer until the consumer completes all the payments necessary to pay for that item.

Creating a New Layaway

View larger

Finding an Existing Layaway

View larger

Complete a Layaway

View larger

Voiding a Layaway

View larger

Paying a ticket

View larger

The payment flow is initiated by tapping the total amount in the main navigation. This enables the payment panel on the right hand side where the expected (remaining) amount is shown. Multiple payments can be used at once, using the payment method buttons on the left hand side of the numerical pad. The sequence of taps is as follows. First, the payment method is selected, e.g. card, tapping the Card button. Second, the amount is entered, e.g. 100. Finally, the Enter button is tapped to confirm the amount. The paid amount is shown in the top panel and can be removed by tapping the clear (X) button. Once the expected amount is exceeded, a message indicating the change to be given to the customer appears.

If the option Open drawer before closing ticket is checked in the POS Terminal Type window in the backoffice, an Open button will be displayed as soon as the amount paid exceeds the amount expected. Tapping it opens the cash drawer and a Done button will appear next. Tapping the Done button confirms the sale and prints the receipt.

If the option Open drawer before closing ticket is not checked, the Done button will be displayed directly (and the Open button will not appear). Tapping it confirms the sale, prints the receipt and pops the cash drawer.

In case something is misconfigured, the order will not be saved correctly. Try to find it in Saler Order window. If it has been an error go to Errors while importing POS data window.

In the backend, the payment methods used to pay the ticket are stored in Sales Order > Payment plan > payment details

Pay using percentages

Percentages can be used to pay an order. To take advantage of this feature just select the payment method and then insert the quantity followed by percentage symbol. The percentage is calculated based on the pending quantity to pay.

In this video you can check how it works.

Multicurrency feature

View larger

Change in another currency will create a negative transaction in this payment method financial account. In case of the selected method is not a "cash" type (we cannot give change with no-cash payments), the change is going to give back in the POS terminal currency.

Please take attention to the configuration, remember that it is necessary to configure both directions of conversion rate. For example:

USD -> EUR: 0.680272

EUR -> USD: 1.47

Paying several tickets at once

It is the availability to pay more than one Order at the same time. This functionallity has a preference for security settings.

Selecting orders to pay

View larger

First, we have to tap in the 'Pay Open Tickets' menu option. A modal will be opened where we will be able to filter(by text and date) orders that are pending to be finished(Layaways) and orders opened in the terminal in that moment(Except Returns, Paid Receipts and Quotations). Choose order to load and press Done.

New "Multiorder" View

View larger

On the left side we will see orders with its total and pending to pay amounts. Each order has a Delete button (with a X), this button will delete the order from the list of order to be paid. In the toolbar there is another Delete button (with a X too) and it will close this "Multiorder" view and will navigate to the normal one order view.

Layaway a order

View larger

In case of want to layaway some of these orders, we need to click on the order and in the modal shown, enter the amount to be layaway. If we do not want to pay anything of this order, just write 0 and it will be layaway without payments. To remove the amount to be layaway, we could open again the modal clicking on the order and do not enter anything and press Done. The order will become a normal order and we will pay the total amount. The amount to pay will change.

Finally, we should enter payments and finish the process as same as with one order.

Payment methods

The following payment methods are supported by default:


Different cash currencies are considered different cash payment types. If multiple currencies are used, MobiSales will use one currency as the terminal currency and the other currencies as payment currencies.

View larger

The conversion between different currencies is done automatically. In the Payment Panel, the amount is showed in one currency and the conversion is shown in the other currency in parentheses. Using the Exact Amount button, MobiSales will calculate the amount in the first currency and will show the conversion in the second. Prices of products and total to paid will be always in terminal currency.

View larger

The same occurs in the Cash Management dialogue. The amounts are shown in the terminal currency and the conversion in the alternative currency is shown in parentheses.

View larger
View larger

Similar to the the previous display, in the Cash Up process, bills and coins in the alternative currency are counted and are entered in that currency. This amount is then converted and added to the terminal currency.

In the Post, Print and Close step and on the final ticket, amounts will be shown in both currencies.

Credit card

Depending on the integration with external payment providers, different credit card types can be used directly from MobiSales.


Vouchers are defined in the back office by store and financial account.

Other payment methods

Other payment methods can be set for the terminal in the back office, that will use additional buttons in the payment panel. Additional payment methods can be also available by installing, additional modules like Gift Cards and Gift Vouchers.

In case that more than the available buttons are needed, a "More..." button will appear. By clicking this button a new pop-up will appear with the rest of payment methods.


View larger

An overpayment is a situation where the amount paid by the customer exceeds the expected amount and the difference cannot be given back fully in cash to the customer. This situation typically occurs when payment methods other than cash are used such as vouchers or a combination of cash and voucher. An example:

When there is an overpayments situation, it will be shown in the message area. In the Cash Up process the report shows overpayments in case they are greater than zero. Cash, by definition, cannot have overpayments. In case more cash is available than was registered, there will be a cash difference situation, that is also registered in the Cash Up process. An overpayment in the back office shows a summed lines amount in the Payment In Plan than the total gross amount in the header.

Using the Cash Pad

View larger

To quickly enter bills and coins denominations the bills & coins pad can be used. It shows localized cuts that represent commonly used localized cuts. This can save the operator time by reducing the amount of tap / clicks and reduces human error. For a customer that hands over one 100 and one 50 bill, the shop assistant only needs to tap to buttons before change can be given and there is no need for mental arithmetic. You can switch between the regular numerical pad and the bills & coins tap by tapping the bottom left toggle button that shows currency symbols.

Tax calculation

View larger

The way the MobiSales calculates the tax information is by following a line-based tax computation criteria. This means that it computes the taxes for each line, and then aggregates them to calculate the total tax amount.
In order for the system to work correctly Document Tax Amount Calculation should be set to Line base amount by rate (see Tax Rate window for more information).

Credit Sales

This functionality allows to complete orders leaving an amount without paying, or what is the same, leave it as credit.

To enable it, the Pos Terminal Type must be configured.

Also, the Credit Line Limit of the Business Partner must be greater than zero or the customer balance of the Business Partner must be lower than zero.

View larger

If these two conditions are satisfied, a button with label Use Credit will appear in payments section.

View larger

Tap the button if the pending amount is wanted to leave as a credit. This process will check against the backend the available credit of the business partner. This quantity would be the difference between Credit Limit and Credit Used. If this amount is greater than the pending quantity of the sales order a confirmation popup will be shown. Pressing "Yes, use credit", the order will be processed. Pressing "Cancel", this action will be canceled.

View larger

On the other hand, if the outstanding amount exceeds the available credit, an information popup will be shown giving the information of available credit of the business partner, and it will not allow completing the order.

Cash Management

View larger

In the course of the day, the store´s cash register accumulates cash and vouchers in the cash drawer. At certain points in time, it is recommended to do a cash withdrawal where an amount of cash (or vouchers) is removed from the cash drawer and placed in the safe or sent to the bank for deposit. Typically cash withdrawals are made in case of:

Cash withdrawals and deposits require a reason. Reasons are associated with financial accounts.

Deposits are the opposite of withdrawals. A deposit moves money from an external account to the cash register´s cash drawer. This is typically done in the morning before the store opens to make sure there is enough change in cash to serve customers. It is also common to keep a certain amount in cash in the cash drawer after the Cash Up process at the end of the day so there is a decent amount of cash available for the next business day. For more detail, see the next section about Cash Up.

You can configure account names and reasons in Cash Management Events.

Since RMP29 the cash drawer will be opened if the active payment method is marked as cash or it is configured to open the cash drawer.

Usage in smartphones

In smartphones and other devices with small screens, the MobiSales will automatically switch to a one column layout, exactly as it happens with the main window.

View larger
View larger

Users will be able to switch back and forth from one column to the other by using the switch button in the toolbar, or by swiping the screen.

Cash Up

The Cash Up process is used to review pending tickets, count cash and other monetary assets, register differences and print the Cash Up report. This process is usually executed at the end of the day or shift and is part of every store´s standard processes. It helps management get insight in daily sales, returns, cash movements and differences. The Cash Up process consists of four steps:

Review Pending tickets

View larger

In this step all pending tickets are shown. Here you can manually delete the pending tickets. In case a ticket still needs to be paid, e.g. via a quick cash method, you will need to cancel the cash up process, return to this ticket and close the payment against it.

Bulbgraph.png   Note: Approval can be configured for deleting pending tickets. To do so there is a preference called MobiSales Remove Receipts Approval in Cash Up

Cash counting

The second step requires you to count the cash and possibly other monetary assets.

View larger

For cash payment methods, you have to enter the counted amount entering the number of bank notes and coins for each denominations. This method helps the user that counts the money to avoid any mistake. To enter the number of bank notes or coins counted for each denomination you have two methods:

You have also actions to reset all quantities counted and start again, and to open the cash drawer.

View larger

For other payment methods, if the amount counted is different than the expected amount, you need to enter this amount as follows:

You can tap the green exact amount button (marked with a check mark) for counted amounts that match the expected amounts.

Since RMP29 the cash drawer will be opened when this screen is shown if one of the payments methods is defined as cash or it is configured to open the cash drawer.

Bulbgraph.png   Note: Approval can be configured to open drawer. To do so there is a preference called MobiSales Open Drawer approval Cash Up
Bulbgraph.png   Note: Approval can be configured for continuing with the process if there are differences between the expected amount and counted amount. To do so there is a preference called MobiSales Cash Up Differences Approval

Select cash to keep

View larger

The third step will ask you to decide on the amount of cash you want to keep in the cash drawer. This is a common practice for most stores to keep a certain amount to use as change the next day. You can configure this automatic deposit in the back office, see Cash Management Events.

In the case the payment method is configured to have only one option and the user does not have the possibility to decide the amount to keep the step will be ignored and it will be used automatically the only option available.

Print, close, post

View larger

In the final step a preview of the cash up report is shown for you to review before tapping the Post, Print & Close button that will withdraw, deposit and clear all payments, print the report and close the cash up process. A success message will pop up directly afterwards.

Cash Up History

View larger

In CloudERP ERP, POS Terminal window has a tab "Cash up History". Here we can see all the cash ups done by the selected terminal (User, date ... ). It has a subtab "Reconciliaton" where we can link to the reconcilations(and it's corresponding payment type) of the selected cash up. Selecting a cash up, we will be able to see the Cash up Report process button. Pressing this button, a pdf report will be created with the cash up information.

Usage in smartphones

As it happens in the main window and in the Cash Management window, the layout of this window changes in smartphones and other devices with small screens. In this case, the window changes to a one column layout, and the user can switch back and forth between the columns using the switch button in the toolbar, or by swiping the screen.


The CloudERP MobiSales allows the user to create Sales Quotations, to view previously created quotations, and to create Sales Orders from quotations. These options are all available in the main menu of the application, if the quotations document type and the quotation prefix have been configured correctly in the POS Terminal Type, and the POS Terminal windows (more information can be found here).

Creating a Sales Quotation

View larger

To create a sales quotation, the user needs to select the option "Create Quotation" from the main menu. This will create a Sales Quotation. After this, the user needs to indicate which lines should the quotation contain, exactly like how he does it in receipts: he can use the product browser to pick products, or the scan tab to scan products to add lines. Like in receipts, the price or the quantity can be changed in every line.

Once the quotation is complete, the user must tap on the "Total amount" button to save the quotation. Obviously, the quotation doesn't need to be paid: a sales order will probably be generated from it at some point, and that document is the one which is paid instead.

Loading previously created quotations

View larger

A user can load any previously created quotation by selecting the option "Quotations" from the main menu. This option will show a window which can be used to search for quotations. The quotations can be filtered by document number or business partner, and also by creation date.

Once the quotations are shown, the user can tap on the quotation he wants to load.

Creating a sales order form a quotation

View larger

Once a quotation is loaded, the user can create a sales order from it by selecting the "Create sales order from quotation" option from the main menu. This option will display a popup, with a single checkbox: "Firm quotation". If a sales order is created from a firm quotation, the prices of the products will not be updated to the newest values valid today. However, if the quotation is not firm, the order will be updated with the current prices of the products, and the final total price of the sales order may be different from the original quotation.

Once the sales order is created, it works like any receipt in the POS: lines can be created, edited or deleted, and the receipt itself should be paid.

Reactivating a quotation

A quotation which is still in status "Under evaluation" can be reactivated. This process allows the user to modify a previously created quotation as long as it has yet to be used to create a sales order. This option is available in the main menu, under the name "Reactivate Quotation".

Once a quotation has been reactivated, the user can edit it normally, and can re-save it by clicking on the "Total amount" button.

Working with the back office

CloudERP for Retail uses one single database that can be accessed via both front (e.g. MobiSales) and back end (e.g. CloudERP 3) user interfaces. In this section you will be shown how users can take advantage of this architecture. First of all, all information in the back office is accurate in real-time as transactions are processed as they occur (an exception to this is when a connectivity outage occurs, which can cause delay). Secondly, the back office is web based (as is the front office) which allows remote and mobile users view store performance from anywhere. Here is an overview of the most important back office views and how to use them:

Sales orders

View larger

This window gives a real-time view into the sales transactions in the stores. By default sales orders for all organizations (stores) are shown in the grid so the first thing you want to do is to filter the organization column for one or maybe a few specific stores. See the Column Filters section in the User Interface Introduction for CloudERP 3 for more detail on filtering. If you plan to use a certain view more often, you may want to save it. See the Saving Views documentation for more detail.

In the Lines child tab you can find the order lines and in the Payment Plan and payment details (child of payment plan) tabs you can view which payment method(s) were used to pay this ticket.

Note that you need to refresh the grid using the Refresh button in the toolbar to see the incoming orders appear.

Errors while importing POS data

View larger

This window gives a real-time view into the errors importing data from MobiSales. In case of something is wrongly configured, you can get an error loading data in CloudERP ERP. In this window, you can find information about these errors.

Sales Invoices

In a similar fashion as for the sales order window, you can view sales invoices in the back office that were generated via the MobiSales. Note that there will be much less invoices than orders because by default an individual POS sale does not generate an individual invoice, but instead after the Cash Up process, one grouped invoice for all sales orders will be created. On customer request though, an individual sales invoice can be created in the MobiSales GUI by marking the ticket as such. This is done by selecting Invoice this Receipt in the more menu in the navigation. The sales invoice will appear in the sales order window in the back office.


View larger

Each completed POS sales order creates one or more Payment In documents, depending on the number of payment methods used. If a ticket is paid using two different payment methods, then it will also create two different payments. The Payment In window in the back office provides insight in the different payment types used during a period of time, store or amount. Trying different columns filters and saving them as different views is an easy way to perform some basic sales analytics.

Goods shipments

Each completed POS sales order generates a Goods Shipment document for the products that were sold.

Return from Customer

View larger

Returns are common and are supported in CloudERP for Retail. Using the MobiSales GUI the flow for customer returns is as follows:

After having done the above, the back office now has generated the following documents:

Financial accounts

View larger

Financial accounts are defined by store and payment method. Then, there will be also one cash book for the store and one for the back office and the same for credit card and possibly other payment methods. All payments, deposits and withdrawals are registered here and the current balance for each account is shown in the header. Here, good practice is also to set column filters for the different stores, payment and periods and save the views.


CloudERP´s standard reports can be used for retail:

Offline Operations

How offline mode works

View larger

The MobiSales supports offline functionality. This means that if you lose connection to the server, you can still execute several common tasks, such as creating new receipts, doing cash management movements, or executing the cash up process. You can even log in the application using the normal login page.

Once the connection to the server is restored, all the created documents (receipts, cash management movements, cash ups) will be automatically synced with the backend if your session is still active, and if not, you will be prompted to log in again in the application so that everything can be synchronized.

This feature of the MobiSales relies on several HTML5 technologies such as the application cache and the WebSQL local database. The MobiSales uses these to store internally both the information that needs to run, and the information the user generates while being offline. Therefore, it's very dangerous to delete the browser cache, because some browsers and devices delete the local database when you do it, and in this case some of your data (tickets, cash ups, ...) may be lost. We will now explain a bit how the MobiSales uses the local database, and how to avoid mistakes.

The local database: how the MobiSales uses it and when it's safe to clear the browser cache

The MobiSales uses the local database to store all the information the user generates. Specifically, it stores receipts, new customers, cash management and cash up information. The MobiSales begins storing information here as soon as the user logs in the application, because it creates a new "till" every time the user logs in after the last cash up has been done.

The local database is part of the cache of the browser. You clear/delete the local database when you clear the browser cache. In combination with offline working: the browser cache should not be cleared in case the cash up has not yet been completed, even if all the tickets have been synchronized with the backend. If you clear the browser cache, deleting the local database then the cash up (and other not-yet-synchronized) information is lost.

This guideline is very important, because it means that payments will not be reconciled, even though they were saved correctly in the backend, if the local database is wiped out before the cash up is done. Just after doing a cash up, it is safe to delete the local database, before any other document is done (so, until a new receipt, customer, or cash management movement are created).

Login offline

In addition to the main basic features of the MobiSales, the login itself can also be done offline. However, it's important to understand that the MobiSales will only allow users which have already logged in online mode to log in offline mode. Therefore, if you need to provide offline log in mode for a given user, you need to ensure that this user logs in every terminal he will need to log in while this terminal is online.

Features supported in offline

The following list of features are supported in offline mode:

All the data generated by the user (receipts, customers, cash ups, ...) will be automatically synchronized with the backend when the connection comes back. Most of the times the user doesn't need to execute any additional action for this to happen. In some cases, the session which the user had may have expired in the backend when the connection comes back. In this rare cases, the user will be prompted to log in the application again to ensure that the session is valid, so that the data can be automatically synchronized.

Restrictions of functionality while offline

Most of the basic functionality in the MobiSales is supported while being offline. However, some actions (particularly those which need data which is not stored in the terminal) cannot be executed when the connection is down. A non-complete list of actions which do not work while being offline is:

Hardware restrictions of offline mode

The amount of data that can be processed while offline depends on the hardware and browser. The worst case is Safari on an iPad which has a physical database size limit of 50MB. At the rate of 4 orders with 10 lines per minute, it will take you three days to fill it. On the higher end of the spectrum, it will take more than two years to fill 10GB on a Samsung Galaxy Tab or more than four years to fill 25GB on a Asus Eee Slate EP121. Read more about offline operations in this blog post.

Retrieved from ""

This page has been accessed 5,894 times. This page was last modified on 22 July 2014, at 06:44. Content is available under Creative Commons Attribution-ShareAlike 2.5 Spain License.