28 January 2020

1. Introduction to OFBiz

Welcome to Apache OFBiz! A powerful top level Apache software project. OFBiz is an Enterprise Resource Planning (ERP) System written in Java and houses a large set of libraries, entities, services and features to run all aspects of your business.

This manual will describe all aspects of this powerful ERP system. The manual starts with the basics of what OFBiz is and how it works, and describes high level concepts like the entity engine, service engine, widget system and so on. In addition the manual explains the core application of this framework like the Party Manager, Order Manager, Accounting system, and others.

If you wish to contribute to OFBiz and help make it better, you may wish to read the "Apache OFBiz Developer Manual" for a deeper understanding of the architectural concepts of the framework.

1.1. What is Apache OFBiz

It is hard to define OFBiz because it offers many different solutions targeted at different levels of interests (users, developers, business owners). At a low level it may considered a web framework, at another level, it may considered a full fledged ERP system, and yet it can also be considered a business automation suite.

1.2. The main parts of Apache OFBiz

Perhaps to better understand what OFBiz is, it may be necessary to understand its main parts and the purpose that each part plays. Thus the main parts or sub-systems are summarized below.

1.2.1. Web MVC Framework

The lowest or most foundational part of Apache OFBiz is a classical web MVC (Model View Controller) framework. This part of the system is designed for basic routing of web requests and may be considered as the infrastructure or plumbing where everything is wired together.

1.2.2. Entity Engine

The entity engine allows OFBiz users to define entities, data, and queries in a database-independent domain specific language (DSL) based on XML. Thus, without learning any SQL users can create and interact with databases in a platform-independent manner and Apache OFBiz would make the translations under the hood to each database system.

1.2.3. Service Engine

Apache OFBiz is designed specifically around a Service Oriented Architecture (SOA). Services are units of business logic that take a set of input values and produces a set of output values.

Services are programming-language-independent. It does not matter whether a service is implemented using Java, Groovy, Jython, or something else because services are an abstraction away from the underlying technology. This provides maximum flexibility for designing business logic without worrying about interoperability between different languages.

1.2.4. Widget System

Whether the output is HTML, CSV, PDF, or something else, Apache OFBiz provides a system for creating user interface that is independent of the actual implementation. This makes it possible to publish the same widget to HTML, PDF, CSV or some other output format.

However, the widget system allows users, if needed, to drop down to any platform-specific code and mix it with widget designs, thus providing a mix between ease of use, platform independence and customizability.

1.2.5. Data Model Library

Apache OFBiz is heavily inspired by a book called the "The Data Model Resource Book". This book provides a "A Library of Universal Data Models for All Enterprises". These models cover things like parties, orders, invoices, payments, general ledgers, quotes and much more.

By using OFBiz, adopters start with a full pre-designed data model that covers common and universal business requirements. Hundreds of entities are defined which save many hours of thinking, designing, and testing such models.

It is important to note that the data model library does not only cover entities, but also the data that comes with these entities. Data is further categorized by function (seed, demo, etc …​)

1.2.6. Service Library

Having a rich and powerful data model is not very useful on its own without services that apply business logic on this data model. That is where the services defined in Apache OFBiz come into play.

OFBiz provides, out-of-the-box, thousands of services to create, retrieve, update, delete, search, and do many other operations on the data model.

1.2.7. Core Applications

The core applications in Apache OFBiz are web applications that serve common business needs found in most enterprises such as accounting, order management, party management and so on.

These core applications are built on top of the data model and service library earlier described. The core applications are further described in the relevant section.

1.2.8. Plugins

OFBiz extends any basic functionality through plugins. Plugins are very similar to the core applications in design and structure, but are not shipped with OFBiz by default. Thus to install a plugin a user must add it to the framework first.

Unresolved directive in <stdin> - include::../../README.adoc[tags=quickstart]

2. Core Business Applications

Most businesses share universal needs. They require accounting functionality, managing customers, placing orders, book-keeping, invoicing and so on.

OFBiz is designed so that such basic universal business needs are available through a set of core business applications. These applications all share a unified data-model with a set of unified services to implement this functionality.

This section of the manual will describe each core business application starting with a high level overview of design and purpose down to the details of how to achieve common tasks.

2.1. Accounting

The OFBiz accounting system is a core application component and has most of the modern features you would expect in a general purpose double-entry accounting system. However, OFBiz goes beyond that by and seamlessly integrates with other OFBiz applications such as Inventory, Purchasing and Manufacturing to give your business a complete ERP solution. This makes the system as a whole robust and integrated to provide more value than a plain accounting system.

2.1.1. About Accounting

The Accounting system is organised according to generally accepted principles such as double-entry accounting, a General Ledger with hierarchical accounts, journals and posting of transactions and corresponding entries.

The structure is primary based on the OMG GL standard and the work that was done on an AR/AP extension of the OMG GL standard. This correlates well with other standards such as ebXML and OAGIS.

The Accounting entities are structured such that accounts for multiple organisations can be managed. The multiple organisations could be multiple companies, or departments or other organisations within a company. Each organisation can have various GL Accounts associated with it so that it can operate with its own subset of the Master Chart of Accounts.

Each organisation can also have its own set of Journals for flexibility, even though the use of Journals should be as minimal as possible in favour of allowing the system to automatically create and post transactions based on business events triggered by standard procedures and documents such as purchase and sales orders, invoices, inventory transfers, payments, receipts, and so on.

Accounting Features
  • General Ledger

  • Accounts Receivable

  • Accounts Payable

  • Agreements

  • Multi-currency Support

  • Billing Accounts

  • Fixed Asset Accounting

OFBiz accounting can be configured to handle multiple organisations including an unlimited number of companies, subsidiaries and departments.

2.1.2. Agreements

An “agreement” is a way of recording a business arrangement or contract that your business makes with other companies or individuals. Some common examples of agreements include Payment Terms (where you allow a customer up to 30 days to pay you) or Prompt Payment Discounts (where you offer a reduction on the amount owing if your customer pays you before a certain date)

At the time of writing, OFBiz allows you to create the following type of agreements

  • Product

  • Purchase

  • Sales

  • Employee

  • Commission

  • End User Licence

The most common agreements you will use will be Sales Agreements (for your Customers), Purchase Agreements (for your Suppliers) and Commission Agreements (for your Sales Representatives).

Sales Agreement

A “Sales Agreement” is an agreement between you and your customers. A customer can also be another business. You can create a range of conditions for your customer including giving them such as payment discounts or special payment terms and credit limits.

If you have installed OFBiz with the demo data then there are already examples of Sales Agreements created for you.

Purchase Agreement

A “Purchase Agreement” is an agreement between your business and a supplier. You may have negotiated special conditions such as delivery, volume pricing and invoice terms.

If you have installed OFBiz with the demo data then there are already examples of Purchase Agreements created for you.

Commission Agreement

A “Commission Agreement” is an agreement that is used to calculate how much money a Sales Representative will get when products they have promoted or marketed are sold to customers. The rate paid to the Sales Representative is can be based on a fixed or variable on a percentage of each sale they make. These amounts can be quite small amounts so it can be easier to consolidate multiple commission payments into one large payment that is paid monthly.

If you have installed OFBiz with the demo data then there are already two example Commission Agreements created for you.

2.1.3. Financial Accounts

A "Financial Account" is a tool (similar to bank account statement) that is used for monitoring monetary transactions. Normally it will be linked to a party and the various transactions details (e.g. payments or receipts) will be shown as entries.

At the time of writing, OFBiz allows you to create the following type of financial accounts

  • Bank Account

  • Credit Card Account

  • Deposit Account

  • Equity Line Account

  • Gift Certificate

  • Investment Account

  • Loan Account

  • Replenish Account

  • Service Credit Account

  • Store Credit Account

Bank Account

A "Bank Account" is a financial account between a bank and their customer. By default this type of financial account will post to 213500 CUSTOMER DEPOSIT ACCOUNTS.

If you have installed OFBiz with the demo data then there are already examples of Bank Accounts created for you.

Credit Card Account
Deposit Account

A "Deposit Account" is a financial account which allows money to be deposited and withdrawn by the account holder. By default this type of financial account will post to 213500 CUSTOMER DEPOSIT ACCOUNTS.

Equity Line Account
Gift Certificate

A "Gift Certificate" is something that entitles the recipient to select merchandise up to a specified value from a store. It is usually presented as a gift. By default this type of financial account will post to 213200 GIFT CERTIFICATES UNREDEEMED.

Investment Account

An "Investment Account" is a financial account that contains deposits of funds and/or securities that are held at a at a bank, stock exchange or other financial Institution. By default this type of financial account will post to 213500 CUSTOMER DEPOSIT ACCOUNTS.

Loan Account
Replenish Account
Service Credit Account
Store Credit Account

A "Store Credit Account" is a financial account that is used to to maintain the refund amount Specify the type (Billing Account or Financial Account) of Store Credit Account used for refund return. Default to Financial Account.

2.1.4. Global General Ledger Settings

The Global General Ledger Settings are master templates that we can use to setup up our chart of accounts, default transactions or other settings that can be applied across many OFBiz modules.

We need settings at a global level because OFBiz is an integrated system so certain areas like accounting are linked to many other modules. It also makes sense to have a central place to setup things that will be used globally.

At the time of writing, the following are available as part of the Global GL Settings:

  • Chart of Accounts - a comprehensive master template for a complete chart of accounts.

  • Custom Time Periods - a master list to display or setup financial periods

  • Costs - a master list of any cost calculations to be used for assets or tasks

  • Payment Method Type - a master list of the ways payments can be made (e.g. cash, credit card etc) and the default accounts to be used for each

  • Invoice Item Type - a master list of all the transaction line types that can occur on any invoice and the default account to be used for each

  • Rates - a list of rates (e.g. pay rates, overtime rates etc) that can be used for billing work,tasks or as part of salary calculations

  • Foreign Exchange Rates - a master list of exchange rates to be used and dates they are valid

  • GL Account Category - currently this is set to be a list of cost centres

  • Cost Centers - a way to specify how to process percentage allocations between cost centres for specific accounts

Master Template - Chart of Accounts

If you load the demo data, then by default over 450 accounts are included as part of the OFBiz global chart of accounts master template.

To setup a chart of accounts in OFBiz simply means that we need to select the accounts we want to use from the global chart of accounts master template.

All general ledger accounts must exist in the global template before they can be assigned to be used at the organisation level (e.g. Company)

Custom Time Periods

Time periods are a defined period of time (usually a month, quarter or year) that is used to group business transactions. It is a key part of any general accounting setup. Time periods can be used for the definition of :

  • Company Financial Year

  • Fiscal / Tax Periods (weeks, months, quarters)

  • VAT / GST Periods

  • Sales Periods


A business is designed to be profi table. This means that you need to be able to track all the costs involved in your business to ensure that you are not losing money.

Some example costs that you may want to setup and track are as follows:

  • Raw Materials Costs

  • Labour Costs

  • Rental Costs

  • Electricity Costs

  • Quality Assurance or Regulatory Costs

Direct and Indirect Costs

Costs can also be broken down into “Direct” and “Indirect” costs. Direct costs are costs that are easily identifiable as directly related to what you do to produce and sell to your customers.

Indirect costs are costs that cannot easily be directly linked to what you on sell to your customers. Included in this would be rent, electricity or general administration costs.

Fixed and variable Costs

Variable costs are those that rise and fall based on the amount product you produce or sell. If you sell or produce a lot of products it will cost more than if you produce a smaller amount.

Fixed costs are ones that remain the same no matter how much is being produced or sold.

Before you can calculate costs you need to define a formula of how to do it and in OFBiz this is called a “Cost Component Calculation”.

Payment Method Type

A “Payment Method” is simply a way to define the ways in which payments can be made. Examples include:

  • Cash

  • Cheque

  • Electronic Funds Transfer

  • Billing Account

  • Paypal

  • Financial Account

  • Gift Certificate

Each payment method can be linked to a different General Ledger account in the Chart of Accounts. By doing this OFBiz will be able to help us create an accounting transaction based on how the payment wasmade. This is very useful if we want to automate the creation of accounting transactions.

Invoice Item Types

An “Invoice Item Type” is another way to describe the different type of individual line items that appear on an invoice. For example an invoice is usually made up of:

  • A header - which contains details of the supplier, customer, invoice date etc

  • Line items - which are the products, taxes, discounts etc on the invoice

  • A footer - which summarises the totals, taxes and discounts

Invoice item types can refer to any of these three areas on an invoice. They can also be broken down into specific categories that allow us to classify or report on the total or frequency of that type.

Some examples of Invoice Item Types are:

  • Type of Product (Standard, Digital, Service)

  • Shipping or Handling Charges

  • Promotions (Discounted Products, Free Products)

  • Discounts (Product Discount, Invoice Discount, Early Payment)

  • Returned Items (Faulty, Replacement)

OFBiz allows us to setup a code for each of the different line item types that can appear on an invoice. We can then link each item type to a specific General Ledger account. By doing this OFBiz will be able to help us create an accounting transactions based on the item types that appear on the invoice.

This is very useful if we want to automate the creation of accounting transactions.


Rates are used to create a “pay rate” or “charge amount” that can be used in the calculation of a task, employee salary or a service that involves people.

Rates are closely linked to the OFBiz Human Resources Manager application but are also used across multiple OFBiz applications (Manufacturing, Asset Maintenance, Project Tasks, Timesheet Entry etc) where person related work tasks are required.

Foreign Exchange Rates

Foreign exchange rates are used to convert from one currency to another. A business will usually want to work in one main currency (e.g. GBP) but will allow transactions in other currencies (e.g. EUR, USD). These currencies will need to be converted to the main currency in order to generate financial reports (e.g. Balance Sheet or Income Statement) and most importantly to adhere to Tax Authority regulations.

GL Account Category

A “General Ledger Account Category” (or GL Account Category) is a generic term to describe the way you can segment or classify accounts. Categories can be setup and then linked to the required accounts.

Another way to think about it is that it is like adding an extra tag to an account so that you can easily retrieve that account to do any additional reporting or processing.

In OFBiz at the time of writing, the GL Account Category has been used to implement cost centre functionality for the Chart of Accounts.

Cost Centers

A cost centre is an area or part of an organisation where costs (direct or indirect) can be allocated .

By default OFBiz will allocate and post 100% of any accounting value to the specified General Ledger account. Setting up Cost Centres allows you to split the amount across different areas using a percentage calculation.

For example: You want to buy something that and three departments will contribute to buying it. If the product costs $90 then each department will pay $30 towards the cost.

OFBiz will allow you to setup the percentage that each cost centre will contribute so that you can view and track how much each department has contributed or spent.

2.2. Human Resources

The OFBiz Human Resources system is one of the core application components and has all of the functionality you need to manage your business employees as well as the recruitment process. It is well integrated with other components especially Accounting to manage Payroll and any specific employee agreements.

2.2.1. About Human Resources

The people who work for your company are human capital and are its most important asset. Selecting a software platform that increases the value of your companies human capital and delivers benefits, services and opportunities to your workforce, is critical to your companies success. That platform must be able to accurately and reliability process worker transactions, collect decision support information, and communicate between management, workers and outside resources.

The OFBiz Human Resource application (HR App) can provide a stable foundation for building that platform.

2.2.2. Human Resources Processes

Human Resources Management can be divided into several distinct processes.

  • Job Planning and Definition

  • Recruitment

  • Candidate Selection and Hiring

  • Employee Training and Development

  • Employee Evaluation and Performance Management

  • Employee Salary and Benefits

Job Planning and Definition

Generally job positions are authorised by a budget and fulfilled by people. The person fulfilling the position may be a permanent employee, a temporary employee or a contractor.

  • Positions may be salary or hourly, fulltime or part time.

  • Positions have responsibilities.

  • Positions are defined by a type of work.

For example there may be 20 job positions in an organization for a administrative clerk. Each position is has a job definition and is authorised by a budget request from a department in the organization. A position can be unfulfilled. (i.e a it exists but no one is currently employed to do it). In some cases a position could also be considered a full-time equivalent (FTE) and can be assigned to more than one person (e.g. job sharing)

In the OFBiz Human Resources application you can:

  • Create positions

  • Fulfill positions

  • Define the responsibilities of a position

  • Define a tree reporting structure between positions

  • Track the positions fulfillments over time

Recruitment, Candidate Selection and Hiring

Recruitment is about at attracting applicants that match the skills and experience you are looking for in a particular job position. Candidates can apply and after reviewing their details, those who are the best match in terms of qualifications and experience are short listed for interview. The final step is deciding upon the final candidate that you want to hire and the employment contract details that are related to that.

In the OFBiz Human Resouces application you can:

  • Create a Requisition for new job positions

  • Create Internal Job Postings

  • Apply for job positions

  • Review Resumes / CVs

  • Arrange and Grade Interviews

Employee Training and Development

Training and professional development is important for an organisation because it ensures that your employees have the knowledge they need to perform their work. It can also help to fill any gaps in skills and improve their proficiency.

In the OFBiz Human Resources application you can:

  • Define and create training courses

  • Schedule courses on a global training calendar

  • Make course available (or unavailable) for enrollment

  • Review and approve requests from employees to attend

Performance Management and Employee Evaluation

Evaluating and managing the performance of employees is another main Human Resources function. Performance reviews can be created for an employee and used to evaluate the work that they have done in a particular job position. Comments and ratings can also be added.

In the OFBiz Human Resources application you can:

  • Create a new Performance Review for an employee

  • Add individual review items such as Attitude, Communication or Technical Skills

  • Add ratings or comments to each item

If an evaluation has gone well then the employee can be considered for promotion to another job position, or can be given other benefits such as a salary increase.

Employee Salary and Benefits Administration

Being able to manage employee salaries and associated benefits is a key part of any Human Resources system.

In the OFBiz Human Resources application you can:

  • Create Pay Grades

  • Link Salary Steps within each Pay Grade

  • Assign a Pay Grade and Salary Step to a Job Position filled by an Employee

  • Manage employee holidays (leave)

  • Manage associated benefits

  • Calculate salaries and Generate Payslips

2.2.3. Employee Positions

An employee position is also called a job position. It is a role that has been created to perform a specific task within the Company. This means that it has approved funding to pay it.

Employee positions are defined by:

  • the work description and responsibilities

  • a pay structure (e.g. hourly wages, salary, contract etc)

  • full-time or part-time

  • the skills needed to fullfill the position

An employee positions is not the same as a person fullfilling the role. A person fulfilling an employee position is called an employee

An employee position can be fullfilled (i.e. someone is currently working in the role) or it can be unfulfilled (i.e. a job vacancy).

In some cases an employee position could also be considered a full-time equivalent (FTE) and can be assigned to more than one person (e.g. job sharing)

In the OFBiz Human Resources application you can:

  • Create employee positions

  • Fulfill employee positions

  • Define the responsibilities of an employee position

  • Define a tree reporting structure between employee positions

  • Track employment position fulfillments over time

2.2.4. Employees

An employee is an individual that works for a company either full-time or part-time under a formal employment contract. The company pays the employee wages or salary.

Wages tend to be related to an hourly rate and can vary based on the hours worked whereas salary is a flat rate generally paid monthly.

The Employees feature manages information about people who have an employment relationship with your Company or one of its departments. Details that can be setup include an employee profile, a display of all employee related information in a single screen and facilities for managing employee skills, qualifications, training, leave and payroll history.

In OFBiz Human Resources you can

  • Create a new employee

  • Search for an existing employee

  • View the full list of existing employees

2.2.5. Employments

An employment is a relationship between a person and your Company. The Human Resources application tracks employment benefits, pay history, unemployment claims and employment agreements for each employed person.

When you create new employee, an employee relationship is created automatically.

If a person was entered into the application by some other means then you will have to create the employee relationship manually in the Party Manager application.

The employment record includes the start and end date of the employment. When the employment ends you include the type of termination and a reason. For example, an employee may have been let go because of poor performance. (In this case the 'type' could be 'fired and the reason could be 'poor performance')

The Employments screen can be used to create an employment or search for existing employments.

2.2.6. Performance Review

Performance review allows employees to post reviews that can be used by management in evaluating the performance of the individual employee.

The employee’s position is also captured with the review which allows the creation of reports that look at ratings for a review item by position.

Performance Review Item

Each review has a list of items that can be rated and commented on.

Performance review item can be created or deleted but can not be changed.

In the OFBiz Human Resources application you can:

  • Create performance review

  • Search performance review

  • Update performance review

  • Add performance review item

  • Delete performance review item

2.2.7. Qualifications

Qualifications are a feature of the recruitment process that allows you to record the details of any qualifications held by job applicants or your existing employees.

During the job application process, you may want to ensure that applicants have a minimum set of qualifications as a requirement for a position. The details of the qualifications for each applicant will need to be captured and if necessary, verified.

For existing employees, details of qualifications during their employment with your organisation can be added at any time.

In the case where qualifications expire if not renewed, you can also add an expiry or renewal date.

2.2.8. Recruitment

Recruitment is an important function in any organisation. It is a set of processes that allow you to specify, search for candidates to fulfill the roles that you have available.

When you have a job position that needs to be fulfilled, you can create a Job Requisition. The job requisition identifies the skills, qualifications, experience and also the number of resources needed for a position.

Currently the default assumption is that the Job Requisition is for an Internal Job posting

Once the requisition is created, you can then create Job Posting based on the requisition. For example if the requisition was for three (3) roles then three job postings can be created (each with different application deadlines) one to fulfill each of the positions.

People can then apply for the positions and send in their CVs or Resumes. You can track the progress of the the application and also create details about various types of job interviews needed (e.g. HR, Panel, Case Study /Practical Test etc) and link it to the requisition.

You can also track the status of people who have applied for a position.

In the OFBiz Human Resource application you can

  • Approve or reject job applications

  • Manage and book job interviews

  • Record the result of job interviews

2.2.9. Skills

Skills are the basic foundation of any Human Resources function as it is a key factor in identifying the suitability of someone to perform a specific task or job. They can often be divided into two types; general and specific, and are characterised by things such as years of experience, rating or level of expertise.

In OFBiz basic skills can be defined in Global HR Settings and then linked to actual individuals via the Skills menu option.

In the recruitment process, skills are specified as part of the job requisition for an employee (or job) position. This helps ensure that the recruiter can focus on finding applicants with the relevant skillset.

Your employees can also gain new skills as part of their employment and so OFBiz allows you to record and track their newly acquired skills. It may be that rather than start a new recruitment process, you may be able to find someone with the right skills from your existing employees.

In the OFBiz Human Resources application you can

  • Assign or link skills to job applicants (i.e. non employees)

  • Assign or link skills to existing employees

  • Search for existing employees that have the required skills for a job

2.2.10. Resumes

Resumes or Curriculum Vitae (CVs) are documents that job applicants use to apply for job positions. These documents summarise the applicant’s experience, qualifications, contact information and details about why they are suitable for a particular job position.

In OFBiz you can enter a resume as a document and then link it to a person. Each resume entry has a unique identifier (that currently needs to be manually entered!). This identifier links a person to an instance of their resume.

The OFBiz Content Manager application is used for the linking of resumes because it was designed for managing, storing and retrieving electronic data in varying formats - such as text, images, MS Word, PDF or even web URL’s.

2.2.11. Training


Training and professional development is important for an organisation because it can help to fill any gaps in skills and improve the proficiency of the existing workforce. The training section of the HR module includes a Training Calendar where new training classes or events can be scheduled for an organisation. Users that have HR administration permissions can create, assign and approve training classes. All other users can view the list of classes available, their training status and any requests they have made to enroll for training.

General Process Flow
  • Training classes are created in the Global HR Training Class Type screen

  • Training classes are scheduled and added to the training calendar

  • Employees can create a request to attend a training

  • The employee supervisor needs to approve or reject the employee training request

  • Employees can check the status of the training requests

Training Calendar

The main screen in the Training feature is the Training Calendar. This is where you add classes and class participants. You can navigate the calendar by clicking the navigation text for day, week and month views located in the calendar title bar.

Add New Training Event

Training classes are created in the Training Calendar by clicking the Add New text command located in each calendar day cell. This action opens a small window above the calendar to enter the training class details.

If you try to create a class and do not have correct User permissions, you will get an error. After a class is created a numeric class identifier and text identifier description appear in the calendar for the day of the class.
Request Training / Add a Training Participant

Participants can be added to a class by clicking on the class identifier. If you are the creator of the class the Participants window above and to the right of the calendar opens. You can add participants by entering their party id and clicking the Add button. The list of participants is displayed and updated. After a new participant is added to a training class or event, they are given the default status ‘Assigned’.

Approve Training

To approve a request for training, tor training administrator navigates to the Training Approvals screen and locates all requests with a status of "Assigned". They look up the person listed as the approver party. After checking with the approver they click update button to open the approval screen. In the approval screen the administrator sets the Approver Status and adds a reason for the decision. The user can see the status of their training schedule by clicking on the Training Status menu.

Something isn’t working correctly in 16.11. The there is no update button to click to approve a participant for training.

2.2.12. Leave

Generally each of your employees will be allowed to take a certain amount of time off work on an annual basis. This time-off work can be called leave, holiday or vacation. The amount and type of leave they can take may depend on their job position or how long they have worked for you.

You may also allow your employees special leave such as days off when they are ill (sick leave), time off during pregnacy or birth of a child (maternity or paternity leave) or time off to attend a funeral (bereavement leave).

OFBiz allows you to setup a range of different leave types and categories to cover many situations.

In all cases the employee will need to request the date (or dates) they would like to take as leave. Next the manager of the employee will need to approve the leave request. Once approved the employee can then take the leave.

In the OFBiz Human Resources application:

  • Employees can schedule or a leave request

  • Managers can create leave requests on behalf of an employee

  • Managers can approve, reject or delete employee leave requests

Users with Human Resource Approver permission can only approve a leave request. To update or delete a leave request, you will need to have Human Resources Administration permission.

2.2.13. Security

OFBiz has a security model that controls access to all aspects of teh system at a very detailed level. This means that it is possible to manage what each user has access to and what actions they can perform.

Security can be so fine grained to the lowest level such as a view, or the creation, update or deletion of a single item of information

This section covers the security permissions that inlcuded as part of the Human Resources application and how an administrator can assign permissions to users using the Party Manager application.

A person may have one or more OFBiz login id’s. Each login id can be assigned to it’s own set of Security Groups. This means that the id a user logs in with determines what applications the person can work in and what work can be done in the application.
Human Resource Permissions

In OFBiz a Security Group is collection of permissions that allow a members of the group to use the application and any resources. The Human Resources application has three special security groups that can be assigned Human Resources users. There are also other general administrative security groups that let managers and administrators work in the application.

You can use the Party Manager application to add users to one or more Security Groups.

The three special HR App Security Groups are named by role:

  • Employee Role - This is mandatory to be able to logon into the Human Resources application. This is true even if user has the the other Human Resources Approver and Administration Roles. The employee role has the most restrictions on what a user may view and the actions they can take.

  • Approver Role - The Approver role gives members of the group the ability to approve, training and employee leave requests. The approver has all of the permissions included in the Employee Role and can also view and update some additional screens that are not available to the Employee role.

  • Administrator Role - The Human Resources Administrator Role has permission to do most things in the Human Resources application. They are allowed full access to view, create, update and delete throughout the Human Resources application. Please see the note below for the additional permissions required to be able to do everything in Human Resources.

A person with the Human Administrator Role must also belong to the following Security Groups (Work Effort User, My Portal Employee, My Portal Customer or Scrum Team) to be able to add Training classes in the Training feature.
General OFBiz Permissions

Some OFBiz users (from the demo data) may not have any of the Human Resource permissions but can still access the Human Resouces application to be able to perform general operations. These include:

  • Business Admin has permission for all operations in the Human Resources application

  • Flexible Admin has permission to create, update, delete and view operations in Human Resources

  • Full Admin has permission for all operations in Human Resources

  • Super has permission for all operations in the Human Resources

  • Viewadmin has permission for viewing details in Human Resources

Security Administration In Party Manager

A user must be granted permission to use the Human Resources application. This section describes how to do this using OFBiz Party Manager. It assumes the user has a user login and Party administration privileges.

Please do the following to grant permissions

  1. Login to the Party application

  2. User the search functionality to locate the user that you want to give Human Resources permissions to

  3. When the search results are displayed, click on the Party ID column

  4. In the User Name(s) screenlet click the Security Groups button for the User Login that will receive Human Resources permissions

  5. In the Add User Login to Security Group screenlet select the HUMANRES_EMPLOYEE. from the Group drop-down-list.

  6. Click the Add button to use the current date for the From Date or enter dates for From Date and Thru Date as needed then click Add

  7. If the person is to be allowed to approve Training add the HUMANRES_APPROVER permission. As in the previous step enter dates as required

  8. If the person is to be allowed all access then add the HUMANRES_ADMIN permission…​ As in the previous steps enter dates as required.

2.2.14. Global HR Settings

Global HR Settings are used to setup the basic reference data that is used throughout the Human Resources application. Many of the screens contain fields that have drop-down lists for selection and these drop-down list can be setup here.

You need to have 'administrator' or 'create privileges' to update any of the Global HR Settings
Skills Types

A skill type is used to define a skill group. Your employees, contractors and partners may have hundreds of different of skills so skill types allows you to organise these skills so they are manageable.

This is helpful for reporting on your companies skill inventory or searching for resources with the skill types needed for a job. You can search for skills types and assign skills to people and organisations in the Skills feature.

You can manage the skills of an individual or an organisation in their profile in Party Manager uisng the Party Skills feature.

2.2.15. Glossary

Annual Revenue

Annual revenue is the amount of revenue for a group that is reported in the Party Group Information screenlet of the groups profile (visit Party Profile screen).


A budget is used to track spending in the company for a future period of time. The company may have one or more budgets depending on the requirements i.e. Operating Budget, Capital Budget. A budget has a status, type and is composed of budget line items.


An employee is a person who has an employment relationship with your Company.

Employee Position Type

Employee Positions Type is a name that describes a position. Business Analyst, Programmer and System Administrator are examples of position types in the OFBiz demo data. You can define your own position types in Global HR Settings > Position Types.


Employment defines the relationship between your Company and a person who is an employee. The employment relationship tracks employee benefits preferences, pay history, and unemployment claims and agreements.

Exempt Flag

The exempt flag can be used to indicate if an employee position is exempt or non-exempt under the fair labor Standards Act (FLSA).


A fulfillment associates a person with a position. A person can fulfill more than one position and a position can have more then one person.

Fulltime Flag

The fulltime flag can be used to indicate if an employee position is for a full or part time position.

HR App Menu

The main menu that opens the high level features of the HR App i.e. Employees, Employments, Employee Position etc.

Internal Organization

Internal organization is the name of a relationship between a party group and your company. This relationship is used to filter party groups as being part of your company to distinguish them from other groups which are external. For example your marketing department is an internal organization while a suppliers sales department is not.

Number of Employees

Number of employees that are reported in the Party Group Information screenlet of the groups profile (Visit Party Profile screen).


Party is a term used to simplify collecting information that used in a common manner by different people and things. The most common party types are people and groups. Both people and groups have contact information. A party is identified by a unique Party Id. Using this Id OFBiz can collect and find contact (and other information and processes) for both people and groups in the same way. This is why you will often see Party Id as a field in a form or a filter as you work in OFBiz.

Party Id

The unique identifier for a party. The Id is text so in some cases you will see an Id, created by a user, that carries some meaning i.e. Party Id DemoEmployee. In other cases the Id is created by OFBiz and is will be simply a number from a sequence. In either case the Id is unique.


Qualifications for an individual person or organization are in the Employees Qualifications menu item. To find and update the qualifications of people and organizations visit Qualifications menu.

Party Qualification Type

Party qualifications define a person or organizations accomplishments that indicate their suitability to perform a job. Qualifications are organized into qualification groups for the purpose of managing and reporting.


Person is a human being as distinguished from a party group which is an organization. Human beings and organizations have different attributes i.e. People have first and last names while groups have group names. Both person and party group are types of parties and share information and processes common to parties.


A position is a job that can be filled by more then one person over time or at the same time. Positions are defined by a type of work. For example there may be 20 positions in an organization for a secretary. Each position is related to a department in the organization. A position can me thought of as a full-time equivalent employee (FTE). So an FTE may be assigned to one or more positions and position can be assigned to more then one FTEs (job sharing).


Rating is a user defined numeric rating for a skill. (See Skills Menu)


Responsibilities define duties assigned to a position. They are defined in Responsibility Types and assigned in Employee Position Responsibilities.

Salary Flag

The salary flag can be used to indicate if an employee position is salaried or paid hourly.


Skill is some ability or knowledge possessed by a person or organization that is needed to perform a job for the company. See Skills

Skill Level

Skill level is a user defined numeric rating a skill. It is up to the user to assign some meaning to the level. For example 1=Entry, 2=Intermediate, 3=Expert (See Skills Menu).

Skill Group

Skill goup is a name that describes a collection of skills that have common attributes (See Skills Menu).

Temporary Flag

A temporary flag can be used to indicate if an employee position is permanent or temporary.

Termination Reason

The termination reason is a name describing the cause related to a termination type e.g. Type: resigned for reason: found new job.

Termination Type

The termination type is a name for the kind of termination e.g. Resigned, fired, retired, layoff.