JFire is an ERP and CRM system, which was released in January 2006 as free software under the LGPL.

Features and Functions

The system is completely written in Java and is based on the technologies JavaEE 5 (formerly J2EE), JDO 2 and Eclipse RCP 3 This means that both client and server are easily expandable and the system is relatively little work to specialized industries or company needs to be tailored.

Since November 2009 there is a stable version with many modules, for example, user and rights management, account management ( billing), warehouse management, direct online trading with other companies or end customers (eg via Webshop ) and an editor for interactive 2D graphics. A reporting module based on BIRT is available, which allows both the presentation and editing of reports and similar documents ( eg invoices).

Although it is the main objective of the project is to enable a robust and flexible framework, the simple design of industry-specific applications, it already contains generic modules for the "by - the - shelf" for use in small and medium-sized companies.

By using JDO as a persistence layer JFire is independent of the database system used, saving developers the error-prone to write SQL. Further characterized other DBMS types (eg object databases ) are possible. According to the project page JFire is supplied with the JDO2 reference implementation JPOX which only supports db4o numerous relational databases.

Although JavaEE, JDO and the Eclipse RCP offer many advantages, but they also present a higher barrier to entry for developers is as older technologies ( eg direct SQL), as each already requires some familiarization time for yourself.


The history of JFire began in 2003 when the company NightLabs decided to develop a new ticketing system. Because they wanted to build the new software on an ERP within an integrated application ( instead of several separate programs ), began the developers to look for a suitable framework. After some research and evaluations, the decision to start even such ERP Framework project began. To put it as simply as possible to make other projects to build on this, it was decided to make use of new technologies such as JDO and the Eclipse RCP.

After the first release in January 2006, the project quickly attracted the attention of the Eclipse community at: The German -speaking Eclipse Magazine, in a May article about JFire and it was invited to the EclipseCon 2006. In December of the same year the Eclipse Magazine published an article in India. In April 2007 JFire was invited to the Eclipse Forum Europe and impressed there the BIRT team with its graphical workflow builder parameters.


The main objective of the project is to facilitate as a framework other developers to build industry-specific ERP systems. Thus, it is significantly different from many other ERP projects that aim as "by - the - shelf" solution directly to end users.

The JFire project team believes that the ERP area represents such diverse requirements that an ERP solution has the disadvantage either to confront the user with too much configuration and complexity or to provide too little flexibility.

Most of the numerous JFire modules therefore are mainly used as the basis for extensions and are without these for the end user does not or only partly usable.


First of all, there is JFire of a server and various clients. The most comprehensive client is a rich client. In addition, a web client is available. However, the latter has so far only some of the features (such as an online store ). Some JFire -based applications also use other types of clients (eg mobile devices in Yak, an access control system ). Since JFire allows the direct collaboration of various companies or organizations, including the servers act as clients to one another. Every organization in this case has its own JDO datastore, causing a great deal is to protect your privacy.

Following the Framework thoughts JFire is very modular, with the client OSGi plug-ins are based on the Eclipse Rich Client Platform (RCP ) and the server JavaEE EAR modules are used. Due to its modularity JFire is also used as a basis for non- ERP software, which relies only on a small number of modules (eg only for user, rights and organizational management ).


JFire has numerous modules which provide the following features available:

Order Management

Both contracts for the purchase of goods and the selling will be created. The individual items can thereby differ significantly in their characteristics, because looks like a product that is defined by a concrete implementation. There are currently the following product types:

  • Non- Specialised Product Description Fixed & fixed price: This is a classic product, how it offers in an online shop to purchase.
  • Not Specialized product with dynamic description & price dynamic: The description of the product and its price will be determined only during the sale. This is well suited for the management of services whose description is usually individually.
  • Voucher: Vouchers can be provided with a graphical layout and printed on a regular printer during the sale. The redemption during a (different ) sales process is possible with the help of a barcode reader.


JFire managed revenue and expense accounts, accounts receivable and accounts payable, accounts voucher etc.; there are some reports this:

  • Booked article: List of all posted articles and associated payments.
  • Invoice List: List of all posted invoices during a specific time period for one / multiple users.
  • Sales Report: summation of all Verkaufs-/Kaufs-Transaktionen per product type.
  • Payment list: listing of all payments over a given period for one / multiple users.

The automated creation of accounts / financial statements is not yet possible.

Customer Management (CRM )

  • The data structure of a "person" can be extended without programming in JFire by the user. It there are numerous data types available - from simple text field using selection lists to HTML (with WYSIWYG HTML editor ).
  • It is recognized that customer has bought what when. This data may e.g. be used for the display of recommendations to buy in a shop.
  • About a PBX interface module customers ( or others ) can be called directly from the application. Since telephone systems from different manufacturers can be addressed but not through a standard interface, JFire requires a specific driver module for each PBX. Currently, there are such exclusively for Asterisk.

Issue tracking

  • Tasks can be captured and assigned to employees.
  • The time required for a task can be recorded by staff.
  • Tasks not only support file attachments, but all JFire objects can be linked primarily by a task. Interface exists so far for the following: Person ( customer, vendor, employee )
  • Order
  • Offer
  • Account
  • Delivery note
  • ( Eg to mark a " duplicate" as such, or to capture dependencies between tasks ) task.

Warehouse Management

In the backend inventory management is largely complete. The system knows at all times at which storage location (eg storage rack in warehouse ) is to find which product. The user interface for inventory management is still quite rudimentary.