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

PDF Books
Show collection (0 pages)
Collections help


Retail:Web POS User Guide

Back to main page



The Openbravo Web POS is one of the key components of the Openbravo Commerce Suite. It is used in stores to assist shop floor staff in client-side selling and enables the checkout process.

Evaluating Openbravo Web POS

In order to optimize the time you invest in discovering the Openbravo Web POS, we recommend that you follow the following approach.

Start experiencing the Openbravo Web POS by accessing our demonstration environments. Start with the Product Tour to get a first impression through a guided and interactive tour and continue with the Online Trial on your own to go into more detail with the product exploration. For the Product Tour, select the "Openbravo Commerce Suite" as a product and go to the Web POS guided tour or the Retail Backoffice guided tour.

Launching Web POS

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

View larger

It is recommended to run Web POS in full screen mode, this way Web POS 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 Web POS 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 Web POS.

Web POS GUI overview

Login Page

The login page shows the list of users which can access this particular Web POS terminal. Each user shows an icon, whose color describes if the user currently has a session open in this terminal:

View larger

Main layout

The Web POS 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 Web POS 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 Web POS 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 Web POS. Apart from the functionalities which will be explained in detail in subsequent sections, the menu contains some basic features also present in other Openbravo 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 Web POS 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

Openbravo Web POS supports the following main flows:


In order to activate the new Terminal Authentication Security (Enhance Terminal Authentication) a preference should be enabled. Check this topic to activate the preference called <<Terminal Authentication enabled>>. By default, this preference has 'N' value, put 'Y' to enable Authentication security.

Bulbgraph.png   Note: Starting from 3.0RR16Q1 it will be enabled by default

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 Web POS. 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.

linking the device


Above window should be filled in order to link the device with the POS terminal:

Terminal key identifier.jpg

Remember that a POS Terminal can be just linked to one physical device.

After link the device with the terminal, the login page will be open with the selected POS Terminal Configuration. As explained above, this login page will be automatically shown in the future unless the terminal is unliked or the browser cache of the device is removed.

In the login process and before sending data to backend, the system will check if the terminal is still authenticated. If someone (from ERP ) changes the value of Terminal Authentication enabled preference or if the POS terminal is unliked then a modal will be shown explaining the situation. The system will force to the user to link the terminal again.

Bulbgraph.png   Note: One device should be used with one unique terminal. If a device is used with more than one terminal, previously, the cache should be cleaned in the device, and important data could be lost

Setting a new password

If configuration in Client has been set (Client), Users will be forced to renew their passwords once they have reached their limit "Days To Password Expiration".

During login, the process will check if the user has reached the limit date for the password, in this case, the interface will force the user to renew the password, and the new limit date will be updated once the new password is saved.


The new password must be different from the previous password, otherwise a message is shown.


Also password could be renewed from the backend before expiration date has been reached, in User windows, using password field to change the password.

Bulbgraph.png   The field "Days To Password expiration" configurable in Client, and the related behaviour is available from 16Q2 version.


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 Web POS 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 Web POS 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.


Now a Web POS user can scan products through an RFID reader.

Add Product

With everything configured properly products can be added to the ticket using the reader. To do so, one just need to bring closer an RFID tag to the reader and it will beep.

Also while standing in Return this receipt products can be added. In this case they will be added with negative quantity as it proceeds.

Under some circumstances the reader can beep but the product will not be added. If that happens it means that the tag is either in Hardware Manager's buffer, or in the current ticket.

Also if the reader does not beep it means that the tag is already in the reader's buffer.

All buffers will be cleaned each time Web POS gets refreshed.

Remove Product

Each time a line which has been added to the ticket using an RFID reader is removed it will also be removed from the Hardware Manager's buffer and theoretically from the device's buffer (this has not been possible for EmbiPOS due to its API)

This affects to:

Disable/Enable RFID Reader

Any user of a terminal with Use RFID and Web POS action Disable / Enable RFID Reader can disable and enable the RFID reader through a new button placed in the main menu.

This will also be reflect in a new icon next to the SCAN label in the main toolbar. This icon has 3 states:


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.

Since RR15Q2: If product images are not being used, they can be hidden from search and browse tab using the preference "Hide Product Images in search and browse tabs". It will give more space to product description.

Since RR16Q3: Is possible to load product categories structured as a tree (hierarchical).

View larger

If the category has children, there is a expand [+] / collapse [-] icon button in the right.

Behavior of the tree


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.

Since RR15Q2: If product characteristics are not being used, Search by characteristics tools can be hidden using the preference "Hide Product Characteristics from search tab"

Since RR15Q2: If product images are not being used, they can be hidden from search and browse tab using the preference "Hide Product Images in search and browse tabs". It will give more space to product description.

Since RR15Q4: You can hide the filtering button of some product characteristics by unchecking Filter on WebPOS field on Product Characteristics window.

View larger

Since RR16Q3: Is possible to load product categories structured as a tree (hierarchical).

View larger

Push on categories combobox to open a modal dialog with category tree selector. If the category has children, there is a expand [+] / collapse [-] icon button in the right.

Behavior of the tree

Best Seller

Any product may be configured as a 'Best Seller' product. To configure them, go to "Master Data Management || Product Setup || Assorment" window. For each product list products can be configured setting its "BestSeller" property as selected.


All products with the "Best Seller" property selected are shown in Web POS as Best Seller products. These products are distinguished for having a highlight icon near to its name in BROWSER and SEARCH panels.

This image is located in array which allow to introduce different images, and its position is resized depending on the quantity.

Browser panel:


In browser panel is also a new category called 'Best Seller' with all best seller products included. Each of this products has the highlight icon, and they also have it in ther correspondign category.


Search panel:


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 Web POS 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 Web POS 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.

Note: Receipts which contain products which are not included in the assortment anymore couldn't be loaded in old versions of the Web POS. This capability exists in RR16Q1 and subsequent versions. Similarly, it was not possible to load receipts for customers which are not loaded in the Web POS masterdata. This capability was added in RR16Q2.

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, by search key (from 15Q4) 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.

Bulbgraph.png   Starting from RR15Q2 below functionality is available

Custormers defined On Hold on the backend are brought to WebPOS but they are not allow to be selected.

View larger

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 has 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.

Bulbgraph.png   Starting from RR16Q2 it is possible to decide stock from which warehouses it is wanted to show in Other Stores Stock button. These warehouses are named as Cross Channel Warehouses. Check how to configure it here

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.


Bulbgraph.png   Note: Starting from 15Q4 below functionality is available

Reservations are taken into account on stock's popups. The Quantity shown will be the Stock - Reservations.

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. Once the ticket is created, you can add products by tapping on any product button in either the Browse or Search tabs.

If you selected a product which doesn't exist in the current ticket, a new line for this product will be created. If there is a line for this product already, a new unit will be added to this line instead, except if the product has been configured as "grouped" (in this case a new line will be added).

Bulbgraph.png   Note: Starting from RR16Q2 it is possible to have both positive and negative lines containing the same product.

Editing ticket properties

View larger
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. Other way to change or view the receipt property is clicking on the Document Number of the active ticket:

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 Web POS 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 Web POS 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.

Split a line

When selecting a line with more than one unit a new button (Split) will be available in Edit panel.

This option will not be available if line has related service/s or related complementary product/s.

View larger

Split line dialog

Split line operation can not be undone once applied.

First line of the dialog adds some summary fields:

Splitline 2.png

The default proposal always split line into two lines. You can modify default proposal by changing Number of Lines field. Keyboard can as well be used to increase or decrease number of lines pressing "+" or "-".

To be able to apply a line split proposal user needs to make sure difference is set to zero, which means all available quantity has been allocated in the proposed lines.

For example: Having a line of 8 units: Suppose we want to split it into 4 lines with quantities: 2, 2, 1 and 4. The sum is greater than 8, so Difference set to -1. The button Apply is disabled and dialog displays a warning message. When last quantity changes from 4 to 3 units the Apply button is enabled again and changes can be done.

Splitline 3.png

Use the button "x" to remove a line. When a line is removed Number of Lines is adjusted automatically.

Split lines

Once changes are applied, split lines will be marked in order to work as "not grouped" products. If the product is added to the ticket again (through BROWSE or SEARCH) , it will be added as a new line, if you add the same product several times those will be grouped in the new line.


It would order:

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 Web POS 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 Web POS Delete Line Approval
Bulbgraph.png   Note: Approval can be configured for deleting a ticket. To do so there is a preference called Web POS Remove Receipts Approval

Starting from RR16Q2, if the Web POS Save Removed Tickets preference is configured, removed tickets ad ticket lines will be stored in backend.

This preference will consider the following scenarios

If this preference is granted, the application will create Orders following the Web POS sequence:

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. Starting 16Q2 version, this can also be configured at Pos Terminal Type level.

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 Web POS 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
Bulbgraph.png   Starting from RR15Q2 We are able to do not allow returning more than sold. Two columns are shown:
  • Tot. Qty: Quantity of the original order line
  • Rem. Qty: Remaining quantity is the units we can return. Sold quantity - Returned quantity

In case we have sold all units of the line, we will continue showing the line but we won't be able to select it.

Bulbgraph.png   Starting from RR15Q2 Lines of the order to be returned can be splitted in shipment lines if the shipment of the original order has more than one shipment line. In order to enable this functionality we need to activate Split Lines in Shipments when Returning preference.
Bulbgraph.png   Note: Receipts which contain products which are no longer part of the assortment can only be returned in RR16Q1 and subsequent versions.

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 Web POS action Return receipt
Bulbgraph.png   Note: Since 15Q4 It will NOT be possible to have positive lines in return tickets.

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.

Bulbgraph.png   Note: Starting from RR15Q2, layaways can be managed at organization level

Creating a New Layaway

View larger

Finding an Existing Layaway

View larger

Complete a Layaway

View larger

Voiding a Layaway

View larger

Starting from RR16Q4, it is possible to configure the store to allow/deny the layaways' cancellation process if these have some associated payments. Navigate to the Organization window and check Allow partially paid layaways to be voided.

Anonymous Layaways

View larger

Starting from '16Q2 it wll be possible to configure if it is allowed to create layaways for the Anonymous Customer as explained here.

When the store is configured to deny creating anonymous layaways, an error popup will be raised when the user tries to lay away the receipt.

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, Web POS 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, Web POS 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 Web POS.


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.

Payment method hierarchy

View larger
View larger
View larger

Starting from RR15Q2 there will be the option of grouping different payment methods in one category. To do so:


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.

A payment method can be configured to allow overpayments or not, therefore an overpayment limit can be defined. In case that overpayment limit is exceeded then "Overpayment exceeded limit" message will be shown.

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

Taxes in Web POS can be configured to calculate the tax information following a document based criteria. This means to calculate the rate of taxes based on the total nets of the document. Or can be configured to calculate taxes following a line based criteria. This means that it computes the taxes for each line, and then aggregates them to calculate the total tax amount.
For more information about how to configure Web POS taxes calculation see Tax Rate window.

Bulbgraph.png   Starting from RR16Q2 Taxes can be calculated following a document based criteria or line based criteria. Previous versions only allow line based criteria, and in order for the system to work correctly Document Tax Amount Calculation should be set to Line base amount by rate.

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.

Bulbgraph.png   Note: When receipt is paid using credit, automatically a invoice will be created related to this receipt. So, it will not be included in the invoice generated by cashup

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 Web POS 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 Web POS 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 Web POS 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 Web POS 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 Openbravo ERP, POS Terminal window has a tab "Cash up History". Here we can see all the cash ups done and in progress by the selected terminal (User, date ... ). Selecting a cash up, we will be able to see two Buttons:

It has two subtabs "Cashup Tax Info" and "Payment Method Status Cashup".

When cashup information changes (a sale, a return, etc) and there is connectivity with the server, this information is synchronized automatically and creates/updates the records in this window.

Cash Up Tax Info
View larger

I shows the amount for each tax registered in the cashup process.

Payment Method Status Cashup
View larger

It shows the cashup information for each of the payment methods of the cashup. Here we can find fields like Starting cash for a given payment method, Total Sales Amounts, Total Returns, Total Deposits or Total drops.

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.

Bulbgraph.png   Starting from RR15Q3 below functionality is available

The cash up steps only appears if you have to do something on them. e.g.- If there are no Receipts pending to be closed that step will not appear.

Shared Payment Devices

If a Terminal Hierarchy has been created and there are some Payment Devices shared you will notice that the Cash Up process does not show any data from the shared Payment Device for the Slave Cash Up and it shows the total of the amount on the Cash Up of the Master Terminal.

A hierarchy of POS terminals can only do the cash up while being online. The reason for this is that information needs to be synchronized between the terminals in order to do the cash up for shared payment devices.

View larger

In general, it is needed to do Slave Cash Up first in order to do the Master Cash Up. However, starting 16Q2, it's not mandatory to do the cashup in the slave terminals if there wasn't any payment activity in them.

View larger

The Cash Up Process will not create the Invoices and the Reconciliations until the Master Cash Up is done.

Limit for approvals for count differences in initial cash count and cash up

Initial Count

When are doing the initial count before opening the store if difference exceed initial count difference limit for Cash payment method, you are asked for approval as shown the following figure:

View larger

Select a user to approve cash difference. Next you are asked for approval reason as shown in following figure:

View larger

In main menu select option Cash Up to open Cash Up window. Complete a count process and if a difference exceed Count Difference Limit you are asked for the approval reason. As shown in following figure:

View larger

Hide Cash Up Information to the Cashier

The preference that allows to hide some critical information of the cash up to the user is OBPOS_HideCashUpInfoToCashier. By default, this preference is set to ‘N’, in this state, the WebPOS works as usual.

Once the preference is activated (Value to ‘Y’), some fields from the cash up are hidden to the user. The information is shown as indicated:

View larger
View larger
View larger

Even if the preference is active, all the information is visible in the physically printed cash up.

To configure the preference, follow this link

Cash Up Partial

The Cash Up Partial process is very similar to the Cash Up process but it just prints the Cash Up report, it does not executes the Cash Up process in the server side. The report printed is the same as the Cash Up report but with a message to diferenciate when the backend Cash Up process is executed.


The Openbravo Web POS 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.

Bulbgraph.png   Starting from RR15Q4 when a quotation is reactivated, a new one will be created with a new documentNo. The original quotation is marked as rejected

Printing a Sales Quotation

From the 2015Q1 release onwards it is possible to print a quotation from the menu. Select the 'Print this Receipt' with an opened quotation.

View larger

Reject Quotation

From the 2015Q4 release onwards it is possible to reject a quotation from the menu. Select the 'Reject Quotation' with an opened quotation. The application will ask for a reason that it is defined in the ERP in window 'Reject Reason'

View larger
View larger
View larger

Multi Price List

From the RR15Q4 release it is possible to use multi price in Web POS.

View larger
View larger
View larger
View larger

Before it, it was not possible to have several price lists in Web POS. There was only one price list that was defined at a store level (Standard price list). The aim of this feature is to retrieve not only that price list but the ones explicitly defined for each business partner. If a business partner has no price list defined, the system will get the standard one.

There are two preferences related to this functionality:

A client can be related to a price list different to the default one.

When these preferences are active select a customer who has a different Price list defined in the backend: the Price List changes and products appear with prices from it.


Multiple Selection in Tickets

From the RR16Q2 release it is possible to use multi selection in tickets in Web POS.

Select multiples lines

To select multiple lines of the ticket, select a line normally or press the EDIT button. A "pin" button is displayed in the upper right part of the ticket (marked with a red circle in the figure below).

View larger

Click on "pin" button, to toggle selection mode to "multiple selection", a "pin" button turn to orange and show "Select All" button. See figure below.

View larger

From now:

Delete multiples lines

To delete multiples lines:

1. Select a line and press the EDIT button

2. Press "pin" button

3. Select other lines to delete

4. In EDIT window press "Delete" button

Most of the operations performed on the ticket can be undone, when working with multiple selected lines work as usual, in the SCAN window operations performed are displayed and has the "Undo" button to undo the changes. See figure below.

View larger

Return multiples lines

To return multiples lines:

1. Select a line and press the EDIT button

2. Press "pin" button

3. Select other lines to delete

4. In EDIT window press "Return Line" button

Change quantity to multiples lines

To change quantity to multiples lines:

1. Select a line and press the EDIT button

2. Press "pin" button

3. Select other lines

4. In EDIT window (Keypad) enter the new quatity do you want and press the button QUANTITY.

Change price to multiples lines

To change price to multiples lines:

1. Select a line and press the EDIT button

2. Press "pin" button

3. Select other lines

4. In EDIT window (Keypad) enter the new price do you want and press the button PRICE.

Increment/Decrement quantity to multiples lines

To Increment/Decrement quantity to multiples lines:

1. Select a line and press the EDIT button

2. Press "pin" button

3. Select other lines

4. In EDIT window (Keypad) press the button "+" or "-".

Note that the keypad "+" and "-" buttons should be enabled ONLY in the case the quantity be the same for all selected lines.

Apply a discount to multiples lines

To apply a discount to multiples lines:

1. Select a line and press the EDIT button

2. Press "pin" button

3. Select other lines

4. In EDIT window (Keypad) enter the discount do you want and press the button DISCOUNT.

Note: The preference "WEB POS Open Discounts From Keyboard" will be disabled

Keyboard special case: Ctrl + click

The equivalent (and intuitive) action for multiple lines selection using the keyboard is keep pressed Ctrl key while clicking the desired lines. If press Ctrl key and clicks (while pressing it) a non-selected line, this line should be automatically added to the selection. If press Ctrl key and cliks a selected line, this line shuold be automatically removed from selection.

Note that the "pin" button visualization (status) has not been affected at any time due to the Ctrl key press, so it should not be affected neither when the user does Ctrl key-up.

Keyboard special case: Shift + click

The equivalent (and intuitive) action for multiple lines range selection using the keyboard is keep pressed Shift key while clicking the desired lines that limit the range.

Note that the "pin" button visualization (status) has not been affected at any time due to the Shift key press, so it should not be affected neither when the user does Shift key-up.

Product Services

From the RR16Q2 release it will be possible to configure and sell in Web POS services (products with certain product type defined) related to products and product categories.

All the related information can be found on the Product Services project

Cancel and Replace / Cancel Layaway

Bulbgraph.png   Starting from RR16Q4 below functionality is available

From the RR16Q4 release it is possible to do a Cancel and Replace of a ticket or Layaway and Cancel of a Layaway.

Cancel and Replace

The principal goal of this development is to allow users to modify already paid or reserved tickets. Instead of directly modifying the completed tickets what this process does is to cancel the original order and create a new one with all the goods present in the original order in draft status ready to be modified. This process at the same time creates a cancellation order copy of the original order but with negative quantities.

Check Openbravo ERP Cancel and Replace User Guide for more information related to data generated in backend for Cancel and Replace process

This process has the restriction that delivered products cannot be removed from the ticket, so in paid orders the ticket can only be modified to add new products, instead in reservations the user can add or remove (non delivered) products.

There is a button on the menu named “Cancel and Replace” visible for layaways and paid orders:

View larger

If the ticket has been already cancelled/replaced a popup is shown telling that a cancelled order cannot be cancelled/replaced.

View larger

If the ticket was not cancelled a new ticket is created copying the order and referencing it. As soon as the new order remains loaded at the terminal (not necessarily being the active one) the original order will not be able to be loaded to avoid situations in which the user adds payments which won’t be added to the new order too.

View larger

If new lines are added to the new ticket, or quantities are increased, the total amount of the ticket will be increased, and as for normal tickets. it will be necessary to pay completely the ticket, if it is not a layaway. This process takes into account what it was previously paid in Original ticket.

Cancel and Replace preferences:

Cancel Layaway

The main difference between "Cancel & Replace" and "Cancel Layaway" is that the cancel layaway process only cancels the ticket, so no new ticket is generated to replace the original. This implies that only a new inverse order is generated to cancel it.

Other important difference is in the inverse order. In cancel and replace process the inverse order was an exact clone of the original, and then the customer selects the payment method used to pay/return the difference generated by modifying the new order. In cancel layaway instead, the customer selects which will be the payment method used to negate the original order, if it previously had any payment. As happens with returns, an overpayment situation can be generated. The system controls that situations generating G/L item payments for those payments.

View larger

If the layaway was not already cancelled the Web POS treats the cancellation as a return, and the user must add payments until the partially paid amount is returned. The quantity amount to return may be returned in a different payment method than was paid before. The ticket shows also a label which indicates that is a layaway cancellation.

View larger

Cancel Layaway preferences:

Working with the back office

Openbravo for Retail uses one single database that can be accessed via both front (e.g. Web POS) and back end (e.g. Openbravo 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 Openbravo 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.

Bulbgraph.png   Starting from RR15Q2 below functionality is available

If oBPOSNotInvoiceOnCashUp flag is set to Y the sales order won't be invoiced during Cash Up Process.

Backend Data Processing: Data Import Entries

Bulbgraph.png   Starting from RR15Q3 below functionality is available

View larger

All the transactions created in Web POS are send to the backend server for processing. These includes:

The transactions from Web POS go through a three step process:

This multi-step process ensures that the communication from WebPOS to the backend is fast and robust. Transactions are quickly stored in a fast table and processed in parallel based on server capacity. For a developer how-to see this page.

Data is mainly processed in parallel by type of data and organization, so different types of data of different organizations is processed in parallel. Each separate process is called a task. So orders of organization A and organization B are done in parallel, but also business partners of organization A and orders of organization A are done in parallel. There are internal checks done to ensure that data is processed in the correct order.

You can find the currently being processed data in the Data Import Entry table. Data which has been processed can be found in the Data Import Entry Archive table.

View larger

When you open the Data Import Entry tab then initially only Initial and Error records are shown (see the filter symbol on the far right).

The following fields are shown:

Bulbgraph.png   When an entry is in Error state you can let the system process it again by manually setting it back to Initial. Periodically the system will pick up Initial records and try to process them again. You can force the system to start processing right away by going to the 'Direct Process Import Entries' function in the menu and pressing the Done button. This function will also show the number of active and queued tasks.

View larger
Bulbgraph.png   When an error occurs in the detailed processing of a record then this error record can be found in the POS Import Error table. See the next section.

Errors while importing POS data

View larger

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

Bulbgraph.png   Note: Starting from RR15Q3, there is available a new process background Sync All Errors While Importing. It can be scheduled to try to sync periodically all records not synchronized of this window

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 Web POS. 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 Web POS 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 Openbravo for Retail. Using the Web POS 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.


Openbravo´s standard reports can be used for retail:


Added a new flag "Use on WebPOS" in the Characteristic definition to disable it in the WebPOS. If the flag is deactivated the characteristic and any of its values are not uploaded to the POS.

Some warning messages are shown, if the flag is unchecked and a discount or promotion is applied to the characteristic of a product, warning will say that discount will not apply to the products.

Offline Operations

Bulbgraph.png   Note: When one or more modules in your instance are set to be in-development then Openbravo disables offline mode. This to support developers working with Openbravo.

How offline mode works

View larger

The Web POS 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 Web POS relies on several HTML5 technologies such as the application cache and the WebSQL local database. The Web POS 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 Web POS uses the local database, and how to avoid mistakes.

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

The Web POS 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 Web POS 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).

Note when the Web POS is updated it is most of the time not needed to clean the cache.

Login offline

In addition to the main basic features of the Web POS, the login itself can also be done offline. However, it's important to understand that the Web POS 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

View larger
View larger
View larger

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.

Since RR15Q2: If there are transactions pending to be synchronized a red sign is shown in the top-left corner. While this symbol is present, a new menu entry is available to see pending to synchronize documents. When Web POS is synchronizing data, the sign is blue and rotates and it is still possible to see what is pending to synchronize with this information updated in real time.

Restrictions of functionality while offline

Most of the basic functionality in the Web POS 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.

Web POS Updates

Available in the 2015Q1 release and later: When the Web POS system is updated on the server side the client side will automatically detect this when data is synchronized or when the user logs in. The user is presented with a dialog below.

View larger

The application will automatically refresh after the user clicks 'OK'.

Available in the 2015Q2 release and later: Warning users when Web POS system is in development mode. This means that some functionalities, such as offline operation, are currently disabled. This mode is not intended to be used in production instances. The user is presented with a dialog below, pressing the red button in the right side.

View larger

Questions? Contact us. We can help you!

If you have further doubts, we are happy to answer all your questions and get you set up. Simply fill out the form here, or for immediate assistance, call us on the phone numbers there.

Retrieved from ""

This page has been accessed 120,559 times. This page was last modified on 27 September 2016, at 14:26. Content is available under Creative Commons Attribution-ShareAlike 2.5 Spain License.