E-commerce Development

Openbravo ERP e-commerce integration focus on integrating with Business-to-consumer systems. Openbravo ERP acts as back-end for all the customer, product and financial information and the e-commerce system is the user interface that makes the transactions possible.

 

Overview

Purpose

The purpose of this project is to enable companies to extend their business processes allowing customers to do real-time transactions through an on-line shopping front-end and use Openbravo ERP as a back-end.

Scope

The scope of this project is restricted to extend the current Openbravo web services to integrate Openbravo ERP with ecommerce’s solutions and develop a connector for the Magento e-commerce platform as an example of this integration.

References

Open source e-commerce systems

This a list of open source e-commerce systems that potential can be integrated using this approach:

Additional resources

Design Considerations

Assumptions

  • Openbravo ERP as version 2.50 has no support available for Verisign PayFlowPro, PayPal or similar payment systems. We recommend the integration with payment systems to be accomplished at the e-commerce front-end level.
  • All the customer, billing, warehouse and product information is stored in Openbravo ERP.

Dependencies

Constraints

  • Preserve consistency with existing Openbravo ERP web services.

Glossary

Functional Requirements

User roles & profiles

  • The system administrator. The person that installs Openbravo ERP, the e-commerce platform and the Openbravo ERP / e-commerce connector. Additionally, this person also setups Openbravo ERP and the e-commerce systems for their operation.
  • The customer. The person that connects to the on-line e-commerce front-end and browses the product catalog or places an order.
  • The sales manager. The person is the company that looks after the sales orders and ensures that all the sales operations work correctly.

Business process definition

  • Search the product catalog.
  • Browse the product catalog.
  • Making an order using an on-line front-end.
  • Notifying the customer that is not enough stock.
  • Generate an invoice for an order that has been completed.

User stories

Story 1. A customer connects to the e-commerce front-end looking for a product:

  1. The customer starts at the e-commerce front-end main page.
  2. The customer searches in the products catalog for a specific product.
  3. The customer gets information about the product.
  4. The customer decides if she wants to proceed with an order.

Story 2. A customer connects to the e-commerce front-end for browsing the products catalog:

  1. The customer starts at the e-commerce front-end main page.
  2. The customer browser hierarchically the products catalog.
  3. The customer gets information about the product.
  4. The customer decides if she wants to proceed with an order.

Story 3. A customer places successfully an order into the system:

  1. The customer registers or logins into the system.
  2. The customer places an order within the system.
  3. System checks that there is enough stock.
  4. Completes the order successfully.
  5. Decides if she wants an invoice send by mail or shown to her.

Story 4. A customer tries to place an order into the system but the product is out of stock:

  1. The customer registers or logins into the system.
  2. The customer places an order within the system.
  3. System checks that there is enough stock.
  4. The user is informed of the shortage of stock.

Story 5. A customer tracks the status of her orders:

  1. The customer logins into the system.
  2. Browses her historical list of sales orders.
  3. Selects the order for which wants more detail and its status.
  4. Detail of the order is shown.

Functional requirements based on business processes

Customer management

It’s a common scenario that a new user registers using the e-commerce front-end to be able to perform a commercial transaction later. It should be possible to:

  • Check if a customer already exists in Openbravo ERP.
  • Create new customers in Openbravo ERP.
  • Modify the information of a customer in Openbravo ERP.

Product catalog

A product catalog contains all the products that a user can view.

General considerations:

  • Openbravo ERP supports multiple languages for the product name.
  • All the information about the products in the catalog is stored in Openbravo ERP.

It should be possible for a user to perform the following actions:

  • Browse the product catalog hierarchically sorted by alphabetically by product name.
  • Browse the product catalog hierarchically by product category.
  • Search the product catalog.
  • Get all the details of a product.

Every product object can contain at least the following details:

  • Product name.
  • Product description.
  • Product category.
  • Product attributes (weight, color, size, etc).
  • Product price and tax.

It should be possible for users to query product’s inventory availability. This can be displayed when the user is viewing the product information.

Sales order

It should be possible for a user to:

  • Perform a full sales order.
  • Modify or cancel an order once it has been created in the system.
  • Get a list of the products that has bought.
  • Track the status of his orders pending to be send.

Invoicing

It should be possible for the e-commerce system:

  • Get access to the full invoice object to render an invoice by itself.
  • Get a PDF version of an invoice using the default server report.

User Interface Mockups

Technical Requirements

Web services allows applications to be integrated more rapidly and easily. Integration focuses on the XML messages that define the services rather than the protocol used to relay these messages. These characteristics are ideal for connecting business functions across heterogeneous systems.

The integration requirements are:

  • The e-commerce system makes calls to the Openbravo ERP web service whenever it requires a synchronization.
  • The definition of these web services should not change from version to version to guarantee the integration with different Openbravo ERP versions.

Non-Functional Requirements

These are general requirements that impact in the technical decisions:

  • The final system should scale correctly to support high traffic loads.
  • Security is key since we are performing commercial translations and dealing with confidential data.
  • It is important that all process within Openbravo ERP are automatic (e.g.: see blocking issue 4322)

Open Discussion Items

  • Which e-commerce platform is better to do the example integration?

Closed Discussion Items