View source | View content page | Page history | Printable version   




The purpose of this document is to describe an integration between Openbravo ERP and a business intelligence server for the purpose of providing business intelligence dashboards and reports based on Openbravo ERP content.


The scope of this project is to pilot the integration and therefore it focuses on a limited set of functional content rather than providing an exhaustive coverage of the business functionality. In particular the objectives of the project are:

  1. Determining the best integration architecture
  2. Determining the most suitable technology: JasperSoft or Pentaho
  3. Validating that it is possible to embed BI artifacts (dashboards and reports) within Openbravo ERP

The selected functional scope for this pilot is a Financial Analysis dashboard based on accounting information that provides intelligence of revenue and expenses.

The expected deliverables from this project are:

  1. A prototype that illustrates the connection between Openbravo ERP and a BI Dashboard with the functionality described here. The prototype shall be comprised of:
    • A design for the most appropriate data warehouse schema (facts and dimensions) to support the functional requirement.
    • A BI server with schema and meta-data to support the dashboard and the reports.
    • A set of ETL scripts to move the data from the Openbravo ERP repository to the BI server. (Note: Openbravo ERP engineering can provide skills on the Openbravo ERP data model)
    • An embeddable UI that can be invoked from the Openbravo ERP. (possibly a stand-alone servlet rendering the dashboards)
  2. A documentation of the architecture.
  3. A recommendation for the most suitable BI technology.
  4. A document that explains how to add additional content and to the BI server and how to build additional dashboards.


The following terms will be used throughout this document.

Functional Requirement

User roles & profiles

The target users for this application are:

User stories

Functional requirements based on business processes

Dashboard Parameters

Num Requirement Importance Status
1 Users should be able to set the following parameters to filter the data on the dashboard:
  • Organization
  • Accounting schema
  • Period (day, week, month, quarter, year, fiscal period, fiscal year)
  • Compare Period (previous period, previous year)
Must have Done
2 Monetary data should be rendered in the functional currency (the currency associated with the organization and accounting schema).

Additionally, user should be able the select a different currency of representation through a currency parameter.

Nice to have Done
3 The organization parameter should allow user to pick the organization from a widget that represent the organization hierarchy. For example:

Big Bazaar Corp.

Big Bazaar EMEA

Big Bazaar Spain

Big Bazaar Products S.L.

Big Bazaar Services S.L.

Big Bazaar France S.A.

Big Bazaar Italy SpA

Big Bazaar North America

Big Bazaar USA

Big Bazaar Canada

When an organization is selected, the dashboard should aggregate data for that organization and all the organizations below it. For example, the revenue for organization Big Bazaar EMEA should be the aggregate revenue for Spain, France and Italy.

Nice to have Not included

Key Performance Indicators

Num Requirement Importance Status
4 Out of the box, the dashboard should be configured to contain the following key performance indicators and users should be able to compare their value with the value in the compare period:
  • Revenue
  • Expenses
  • Operating Margin (Revenue - Expenses)
  • Operating Margin % (Operating Margin / Revenue * 100)
Must have Done


Num Requirement Importance Status
5 Out of the box, the dashboard should be configured to contain a revenue by product category bar chart. Must have Done
6 Out of the box, the dashboard should be configured to contain a revenue by period bar chart. Must have Done
7 Out of the box, the dashboard should be configured to contain an expense by period bar chart. Must have Done

Ad hoc Reports

Num Requirement Importance Status
8 From the dashboard, it should be possible to navigate to a page that allows to define ad hoc reports based on the accounting data Must have Done

Navigation from Openbravo ERP

Num Requirement Importance Status
9 It should be possible to access the dashboard from the Openbravo ERP menu Must have Done
10 The dashboard should be rendered within the right pan of the Openbravo ERP UI, similarly to a native Openbravo ERP window Should have Done
11 Users having a role that contains the dashboard, should automatically navigate to it upon login. In other words, upon login these users, instead of the Openbravo splash screen, should be presented with the left menu collapsed and the dashboard open.Other users should continue to be presented with the splash screen. Nice to have Not implemented

User Interface Mockups

Below is a mock up of the dashboard.


Technical Requirements

The following picture illustrates the suggested architecture


Data Requirements

Openbravo Accounting Dimensions

Num Requirement Importance Status
12 The data warehouse schema in the in the ETL server should contain the following data elements, to be designed in the most efficient set of facts and dimensions.
  • Client
  • Organization
  • Accounting schema
  • Accounting date
  • Week
  • Month
  • Quarter
  • Year
  • Fiscal Period
  • Fiscal Year
  • Natural Account
  • Type of account (Revenue or expense)
  • Document Type
  • Document Reference
  • Business partner
  • Product
  • Product category
  • Region
  • Sales person
  • Project
  • User-defined dimension 1
  • User-defined dimension 2
  • Currency
  • Amount
Must have Done

Non-Functional Requirements

Security Considerations

Num Requirement Importance Status
13 Users should be restricted to only see data for organizations to which they have access. For example, a user having access to only organization Big Bazaar Spain should not be able to see data for Big Bazaar Italy, Big Bazaar EMEA or Big Bazaar USA. Nice to have In progress

Integration with External Data Sources

Num Requirement Importance Status
14 On an implementation project, it should be possible to extend the system by integrating in the data warehouse external data sources that could be used for custom KPIs and reports.For example, it should be possible to import revenue forecast information from an external system and compare it to the actual revenue coming from Openbravo.

While these integrations are custom extension, the proposed architecture should be such that building them is not too expensive and disruptive of the standard product. In particular, it should be possible to ship maintenance updates (patches) for the standard functionality without loosing the custom extensions.

Should have Not started


Num Requirement Importance Status
15 It should be possible to extract all the translatable labels in an external file for independent translation purposes Must have In progress
16 The external file format should be PO (Portable Objects) or it should be possible to convert the external file to PO format Must have Not started
17 It should be possible to have multiple translations installed in the same instance and drive the UI language by the user's preferences Must have Not started

Performance Considerations

Num Requirement Importance Status
18 With the out of the box configuration, the dashboard should render in 2 seconds or less, independently on data volumes. Must have Not started

Retrieved from ""

This page has been accessed 53,961 times. This page was last modified on 8 June 2012, at 05:26. Content is available under Creative Commons Attribution-ShareAlike 2.5 Spain License.