You are on page 1of 13

Openbravos solution for retail

Openbravos solution for retail Summary Introduction Openbravos vision Licensing Highlights Architecture Multi-organization. Multi-store Topology Web based point of sales window Components Server side technology POS Hardware management Administration and security Deployment and updating System requirements Openbravo server Point of sale terminals Point of sale hardware Compatibility and coexistence Point of sales functionality Log-in window Sales functionality Payment functionality Cash management Other point of sales functionality Retail functionality Returns Retail reports Retail configuration and master data Extended functionality

Summary

1 / 13

Introduction
This document describes the development plan of a fully featured web based POS window for the retail market.This development plan includes a point of sales window designed with web technology and oriented to mobile devices like android tablets or iPad. This plan includes also a complete set of functionalities for retail business built around the web base POS window. These functionalities will be part of the Openbravos solution for retail as a new deployment option, along with the current java based Openbravo POS application. Openbravos solution for retail targets mid-market retailers, i.e. companies with annual sales 250 M , 10 - 250 employees and 5 or more retail stores. Retail market segments will include: Clothing Consumer electronics Furniture Hardware Jewelry Sporting goods Supermarkets

Openbravos vision
Openbravo will leverage our experience in the development of Openbravo 3 and Openbravo POS, as well as our retail implementation experience to improve the Openbravos solution for retail with new functionality that is easy, powerful, extensible and integrated. Intended for multistore retail businesses, modular, and providing a full list of advanced functionalities, to cover all the requirements needed from the point of sale, store management, to the central head quarters.

Licensing
In the long term we will offer the basic functionality of the web based POS window and the retail functionality described in this document as an open source module and the advanced functionality as commercial. But in the short term, while the number of functionalities is limited, we will offer everything commercially.

Highlights
Openbravos point of sale terminal. It is the application intended to run in a point of sale machine Agile, flow oriented, best of breed web user interface oriented to tablets and touch screen systems.

2 / 13

Wide support of POS hardware: receipt printers, barcode scanners, customer displays, cash drawers, scales, etc. All these POS hardware will be used from the tablet or computer that runs the point of sale application. Fully integrated with most recent card payment options: Chip and pin devices, PCI compliant, EMV standards. Modular. Data model driven design. Easy to customize and to add new functionalities using the modular capabilities of Openbravo Offline mode. If the tablet or computer that runs the point of sale application loses its connection to the Openbravo server it will continue to perform sales operations without any loss of functionality of the sales flow. As soon as the device has connection again, the sales performed while there was no connection will be sent to the Openbravo server. The offline mode will be only available to perform sales. Retail functionality. Intended to provide a full set of functionality oriented to support the retail operations: Sales management. Pricing, discounts, promotions. Replenishment rules. Quotations. Reports of orders, shipments,invoices. Warehouse management. Personalized product attributes. (Color, size, ). Lot and serial numbers. Movement among warehouses. Physical inventory. Inventory planning. Continuous inventory. Picking and packaging. Reports of movements, tracking, stock. Loyalty management. Integrated with ERP. Intended to provide enterprise functionality for all stores. Master Data management. Products and components. Business partners. Accounting Solution. Receivables and Payables. Assets definition, amortization plans. Internationalization. Support for multi-schema. Support for international bank account numbers.

Architecture
Multi-organization. Multi-store
One logical data model. There is only one data model shared across all clients and point of sale terminals. No need to duplicate data and business logic. Based on the Client / Organization structure. Each warehouse, store or even each POS terminal will follow the Client / Organization tree structure. This way the consistency of data will be assured across all stores. Flexible. The Client / Organization tree structure Openbravo provides, allows to match this data model structure closely with the real organizational structure. Scalable. Openbravos design will allow retail business to increase the number of stores, and point of sale terminals efficiently without affecting the performance of the day

3 / 13

by day operations. Easy to maintain. Openbravo provides the tools to have full control of stores and POS terminals making this a very simple task. Integrated with other applications. Openbravo is a good neighbour. It offers SOAP, REST and JSON web services that exposes the whole enterprise model to easily integrate data and business logic with other packages like Accounting, CRM, ... using standard tools.

Topology
This new deployment proposes new topologies: Single stores.

This options includes to run Openbravos point of sale terminals and Openbravo server in the same location. This is a simple deployment that will allow a centralized management of all systems. Multiple stores.

4 / 13

This option allows to run several stores, all connected with the Openbravo server located at the company headquarters. This deployment allows to run the solution in a distributed environment with all data consolidated in a central location. No synchronization of data will be required and all locations will share the data. No need to duplicate data across locations. But in case of connection lost, POS terminals located in each store will be able to continue performing sales due its offline capabilities that allows POS terminals to cache all data needed and store the sales performed until there is connection again. At that moment, sales stored locally will be sent to the central Openbravo server.

Web based point of sales window


This section covers the architecture and capabilities of the of the mobile / touch screen web based POS window based on the current prototypes.

Components
The components that are part of the sales window must be organized according to a layout designed by the developer. This list is based on the current Openbravo POS sales window: Status bar: Section that displays the status of the POS sales window. Here it will appear for example the online/offline indicator, details of the POS terminal, notifications like stock levels of some products, totals of the day, ... Header fields: Fields related to the header of the order: Document number, Business partner (customer), total taxes, net total, gross total, ... Header actions: New order, delete order, open receipts selector, ... Custom actions: Print current order, open drawer, apply discount, Line fields: The list of the lines of the order organized in a table. Line actions: Delete order line, open line editor, open attributes editor Onscreen touchpad: Numeric + shortcut actions to add products typing the barcode to add or change the quantity, ... Products catalog: Selector of products to add new lines. This selector is organized by

5 / 13

product category and each button shows the product image, name, price, ... Receipts selector: Dialog that shows the list of orders not processed. Business partner selector: Dialog to search a business partner to assign to the order Products selector: Dialog to search a product to add a new order line Line editor: Dialog to edit the field values of the selected order line. Attributes editor: Dialog to edit the attributes of the product of the selected order line. Payment editor: Dialog to process the order and edit the payments for the order. The total of the order can be split into different payment types. Cash, Bank card, Credit note,

Server side technology


Offline operations. The sales windows will have the capability to run in on line mode or offline. The user will not notice any difference between online or offline when editing and processing orders. But he will not be able to execute other operations while offline, like closing the cash, running reports, etc. Design considerations: Static resources like html, javascript, images, will be available offline using the HTML5 manifest capabilities. Sales operations will be buffered in the client side while offline and sent to the Openbravo server as soon as the client side becomes online again. All the master data needed to edit an order will be cached in the client side like products, clients, taxes, etc. A system must be created to invalidate the local cache of master data (when a modification in the back office is detected), and then refresh the local cache the cache. All the processes required to create an order need to be also executed in the client side like the calculation of taxes, discounts or sequences for document numbers. The logic must be exactly the same in the front end and back end. Consider implementation of this business logic in javascript. Validation of data to be sent to the back end needs to be validated client side, and cannot be rejected by the back end if it breaks database constraints (line unique indexes, ) . If the data sent to the back end breaks database constraints it will be saved, but marked as to be reviewed or with a warning that indicates that the data breaks a constraint that needs to be fixed. Processing orders. Orders created on the client side will be sent to be processed to the server side in a single request that contains all the data. This makes it easier to buffer sales orders in the client side and to create and process orders in a single transaction. The order data that goes in the request will be complete and preprocessed. All taxes, discounts etc will be already calculated in the client side. The current process that processes orders (C_ORDER_POST1) will no longer be executed The new process will be a reduced version that does not execute all the business logic included in the current process. It will just fill in the data for orders, shipments, invoices, stock movements, etc.

POS Hardware management

6 / 13

Receipt printer, customer display, cash drawer, scale, payment devices. This functionality allows use of POS hardware from the web browser, which may be installed on the same local machine, or from another browser on the same local network. The architecture is to create a web application that runs in the local machine where the POS hardware is connected, and that exposes access to the hardware as webservices, e.g. JSON / JSONP web services. So, the POS browser-based application will have a connection to the Openbravo web server for data / presentation services and to the POS hardware web server for POS hardware control and management.

A typical deployment would be:

Barcode scanner USB / Bluetooth device connected to the POS machine, or tablet where the browser is running.

7 / 13

Administration and security


Openbravos solution for retail is an enterprise application with the tools and configuration options to reduce the administration and maintenance effort to the minimum and to keep the best operational and performance levels. Disaster recovery. Automated backups. Database will be configured to automatically create backups of the data. This way in case of a disaster, the database will be restored easily and quickly to put it again to work. High availability, clustering. Openbravo server can be deployed in a group of computers creating a fail-over cluster to reduce to the minimum the down-time. This cluster will be implemented at application server level (Tomcat) and/or database level (PostgreSQL). System and application updates. All the software stack and the Openbravo application will be kept updated to prevent security issues and software issues. Firewall. It will be used to prevent and monitor unauthorized access to the server Openbravo is deployed. Data traffic encryption. Data transfers between clients and the Openbravo server may need to be secured and encrypted in order to prevent possible attacks. To implement this it can be useful to configure ssh tunnels for database connections between Openbravo server and the database server. And also it will be needed to configure HTTPS for web access from point of sales terminals and desktop clients. Storage encryption. Data and configuration options stored in disk may need to be encrypted to secure direct access to the computers Openbravo is deployed. Point of sale terminals authentication. The preferred ways to authenticate users in point of sale terminals are: Using the classic user/password schema. Using a card each user must own. License administration. The Openbravo server will be responsible of managing the license and users accessing the system. It will be responsible also of the number of point of sale terminals connected and configured. Administration tools. An administration console customized to perform all required set-up and maintenance tasks including scheduled back-ups, system updates, SSL certificate upload, firewall configuration,

Deployment and updating


Openbravo server. Openbravo has built-in technology to be deployed and updated easily. The administration and module management panel can be operated locally in the store or remotely to update the Openbravo stack, the core Openbravo module or other modules installed. Point of sale terminals. Point of sales terminals like any other web application will not need any installation or update. Just the hardware management component will be

8 / 13

required to be updated. But it will be required to update it rarely. This component is too small and contains only the functionality to manage the hardware. Point of sale hardware. The Point of sale hardware will be managed by an small, self contained, web application with the drivers for the hardware and configuration options. The installation will be a one-click executable package that will not require to be updated because of changes of functionality or business logic.

System requirements
Openbravo runs wherever the Java works. This currently means: Operating systems: Windows, any Linux distribution, FreeBSD, Mac OSX, Solaris and more. Architectures: x86, x86_64, IA64, Sparc, PowerPC, AIX.

Detailed system requirements, with minimum and recommended versions supported of each software stack component and hardware configuration examples are published in the System Requirements document published in the Openbravos wiki pages. Openbravo also distributes the Openbravo Sizing Tool. This tool helps to measure the number of concurrent users to be supported by Openbravo servers.

Openbravo server
Here are installed the server components of Openbravos solution for retail. The software stack needed is: Java 2SE PostgreSQL (with UUID support enabled) or Oracle database. Apache Tomcat Apache Ant Apache HTTP Server. (Optional but recommended) Apache mod_jk connector. (Optional but recommended) Apache Tomcat Native. (Optional but recommended) The hardware needed depends basically on the concurrent clients that needs to be supported. Clients can be point of sale terminals, users accessing using a web browser or other servers connected. As a rule of thumb: the more CPU speed and the faster the disk is, the more concurrent users you will be able to support additionally it should be considered at least of 2GB of RAM for 32bit systems and 3GB of RAM for 64bit systems.

Point of sale terminals


Here is executed the Web POS window. Tablets. iPad, Android 2.3, or more with a screen of about 10. Desktop computer with 1GB of RAM and 1.5Ghz CPU. Touch screen. With a minimum resolution of 1024x768.

9 / 13

Point of sale hardware


Hardware devices connected to the point of sale terminals supported are: Receipt printers. (Optional but recommended) (Must have) Support of printing graphics. (Must have) Support of Arabic characters (RTL), Chinese characteres, etc. (Should have) Text based customer displays. (Optional but recommended) (Must have) Support of Arabic characters (RTL), Chinese characteres, etc. (Should have) Graphical customer displays. (Should have) Cash drawers. (Optional but recommended) (Must have) Bluetooth barcode scanners. (Optional but recommended) (Must have) Scales. (Should have) Fiscal printers. For countries that need this integration by law. (Should have) Coin dispensers support. (Nice to have) Report printers. (Nice to have) The point of sale hardware needs to be connected to a computer to manage the hardware. It is recommended to use a headless box only dedicated to the hardware management. The minimum requirements for this hardware are: 1GB of RAM and 8Gb of hard disk that can be an SD card.

Compatibility and coexistence


The web based POS window will offer compatibility and coexistence with Openbravo POS using the POS synchronization web services module. (Must have) This includes all the synchronized data. Master data like products, customers, taxes, and transactional data like orders. Data, templates and resources stored only in the POS database will not be migrated or reused by the web based POS window.

Point of sales functionality


This section covers the functionality needed to include in the web based POS window.

Log-in window
User selector like the current Openbravo POS log-in window (Must have) Onscreen keyboard to type username and password. (Must have) Autologout / Lock terminal. (Must have) Ability to login using the employee card. This card id can be a barcode printed in the employee card or a swipe card. (Nice to have)

Sales functionality
Create a new receipt. (Must have)

10 / 13

Looking up receipts. Editing of more than one receipt. (Must have) Create new return orders based on a created order. (Must / should have) On customer request, create an invoice based on a created POS order. (Must have) Send the invoice by email. (Nice to have) Product search filtering by category, name and search key. (Must have) Search by attributes. (Nice to have) Discounts, promotions and advanced pricing capabilities. (Should have) Taxes calculation based in current Openbravo business logic. (Must have) Integration with 3rd party taxes engine. Avalara. (Must have in the US) Product attributes management. (Should have) Size and color management. (Should have) Catch weight processing. (Should have) Split receipts at customer request. (Nice to have)

Payment functionality
Creation of payments. More than one payment by sales order. (Must have) Credit / Debit cards. (Must have) Chip cards. Integration with chip and pin devices. (Must have) PCI compliant, EMV standards. (Must have) Google wallet, NFC. (Nice to have)

Cash management
Web POS user interface for cash management. (Must have) Partial close, daily close, shift change. (Must have) Orders consolidation. Ability to consolidate multiple receipts in a single document when closing the POS terminal at the end of the day. (Must have) Ability to register the amount difference when theoretic and amount in cash are not the same. (Must have) Support of cash counting. (Should have) Cash movement management of the cash drawer: put change in the drawer. (Nice to have)

Other point of sales functionality


Home delivery Self delivery. (Should / nice to have) Integration with UPS. (Should / nice to have in the US) Integration with Metapack. Should / nice to have in the EU) Social media integration. Twitter, Ubiquads. (Nice to have) Location based shopping. Integration with Retailigence. (Nice to have) Loyalty management. Integration with a third party loyalty management system like Sweet Tooth http://www.sweettoothrewards.com/ , Points.com http://www.points.com or with an existing Openbravo module that provides loyalty management functionalities

11 / 13

like Openbravo ERP Loyalty Management http://forge.openbravo.com/projects/erployalty (Should / nice to have) Integration with e-Learning. (Nice to have)

Retail functionality
Desktop based functionality required to provide a complete set of retail functionality. This functionality will be developed using the current development tools of Openbravo 3.

Retail configuration and master data


Store definition. (Must have) Store hierarchy. (Must have) License enforcement. (Nice to have) Price lists including and excluding taxes. (Must have) Price lists by store, customer, (Must have) Price region, area, (Must/ should have) Discounts, promotions, payment and cash configuration. (Should have) Role access properties. (Must have) Products catalog definition, product picture, use scale (Must have) Auxiliary products. (Nice to have) POS User picture, access card id. (Must have)

Returns
This functionality must be based on the current Returns module. We must reuse the Returns module as much as possible and also consider to add new retail functionality to the module. Web POS user interface for returns. (Should have) Track of items returned in POS orders. (Should have) Support refund using cash, credit card, credit notes, and other refund methods. (Should have) Support of payment gateways for refund. (Should have) Management of returned items: defectives, (Should have)

Retail reports
Openbravo Standard reports. Cash, payments, sales and agents. Cash reports by POS terminal and by dates. (Review) Average cart by store and by dates. (Review) Sales reports by POS terminal. (Review) Sales reports by agent. (Review) Inventory reports. (Review) Inventory rotation reports. Average time of products in the store. (Should have)

Extended functionality
12 / 13

Web POS Workspace with queries, widgets,... (Should have) Picking and packaging. Unpackaging. Booking allocation / Material reservations 3-way matching. In the purchase and sales cycles. Stock reporting. Counting, Valuation Available-to-Promise Unit of Measure. Conversions. Drop Shipment Replenishment rules Quotations Employee working time and shifts management. Layaway

13 / 13

You might also like