27 May 2020

Table of Contents

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.

2. Quick start

To quickly install and fire-up OFBiz, please follow the below instructions from the command line at the OFBiz top level directory (folder).

2.1. Download the Gradle wrapper:

MS Windows: init-gradle-wrapper

Unix-like OS: ./gradle/init-gradle-wrapper

2.2. Prepare OFBiz:

2.2.1. Clean system and load the complete OFBiz data

Note: Depending on your Internet connection speed it might take a long time for this step to complete if you are using OFBiz for the first time as it needs to download all dependencies. So please be patient!

MS Windows: gradlew cleanAll loadAll

Unix-like OS: ./gradlew cleanAll loadAll

2.3. Start OFBiz:

MS Windows: gradlew ofbiz

Unix-like OS: ./gradlew ofbiz

Note: Ignore the % progress indicator because this task does not end as long as OFBiz is running.

2.4. Visit OFBiz through your browser:

You can log in with the user admin and password ofbiz.

3. The OFBiz Setup application Overview

The OFBiz Setup application is supporting for immediate setup your organization. For example, Product Store, WebSite , Facility , product catalog, category , product, and etc. and then be able to create orders from data that is created.

3.1. Why we have OFBiz Setup Application?

Important
For manual setup instructions, please see the Business Setup Guide on the wiki.

If you are the company and also want to use OFBiz for running your business then you easily be able to setting your information for start running the system quickly via The OFBiz Setup Application.

3.2. How to get started.

Note
TO CHECK add link to Readme and better information between demo data and seed

For instructions to run and load data to have OFBiz ready to be used, please read the README documentation.

For having OFBiz ready to be setup, it’s needed to load data from reader seed and seed-initial

  1. Open a new terminal.

  2. Go to your ofbiz directory.

  3. Clean out all built classes with : ./ant clean-all

  4. start with a database clean and empty

  5. Load the seed data with gradlew "ofbiz --load-data readers=seed,seed-initial"

  6. Create the admin user with login name MyUserName and default password with value "ofbiz": gradlew loadAdminUserLogin -PuserLoginId=MyUserName

  7. start ofbiz with : gradlew ofbiz

  8. Connect to the OFBiz Setup application with your browser at https://localhost:8443/ofbizsetup.

  9. follow each step of the next chapter "Steps for setup"

3.3. Steps for setup

3.3.1. The Main OFBiz Setup Overview

The main page on OFBiz Setup application including 2 sections, following this:

Available Internal Organizations Section

This section shows list of organizations which store in the system. You be able to edit an information of your orgainzation via click setup then it will go to view profile screen, you will see other tab button including Facility, Product Store, Web Site, First Customer, and First Product where you would like to edit an information.

When you created an information of your orgainzation and also created product. And the last step is click "Set to complete" button.

Create New Organization Section

This section provides a form for create a new an organization(the first step of setup organization) and also setup the "Billing (AP) Address" , "Payment (AR) Address", "General Correspondence Address", any telephone numbers, and email addresses you want for your Company.

3.3.2. Help for Setup Edit Facility

The Edit Facility screen is used to manage a warehouse, a store with related inventory.

How do I create a facility?
  1. Select the 'Facility' sub menu and the screen will be displayed

  2. Enter the 'Facility Id' field
    (NOTE: If you do not enter the 'Facility Id' field it will be used the default as 'Organization Party Id')

  3. Enter the 'Name' field

  4. Enter a description describing what the line item is

  5. Enter a number in the 'Default Days To Ship ' field

  6. Press the 'Save' button

How do I update a facility?

Not all the fields on the facility can be updated.
For example Facility Id cannot be updated. If these fields need to be amended then the facility will need to be removed and then re-created.

  1. Select the 'Facility' sub menu and the screen will be displayed: Any existing line items will be displayed in the 'Items' box

  2. Amend the details in the line item that needs to be updated (eg Name, Description, Default Days To Ship)

  3. Press the 'Update' button displayed at the end of the line item that has been updated

3.3.3. Help for Setup Edit Product Store

The Product Store screen is used to manage a store with has all the information needed to sell products.

For example shippings ,a series of catalogs, which are composed of product categories and products, and also used to configure the payment processing settings , fulfillment, notification, promotions, payment processing, and tax calculation policies , and etc.

How do I create a Product Store?
  1. Select the 'Product Store' sub menu and the screen will be displayed

  2. Enter the 'Product Store Id' field
    (NOTE: If you do not enter the 'Product Store Id' field it will be used the default as 'Organization Party Id')

  3. Enter the 'Store Name' field

  4. Press the 'Update' button

How do I update a Product Store?

Not all the fields on the Product Store can be updated.
For example Product Store Id cannot be updated. If these fields need to be amended then the Product Store will need to be removed and then re-created.

  1. Select the 'Product Store' sub menu and the screen will be displayed: Any existing Product Store will be displayed in the 'Items' box

  2. Amend the details in the line item that needs to be updated (eg Store Name)

  3. Press the 'Update' button displayed at the end of the line item that has been updated

3.3.4. Help for Setup Edit WebSite

The WebSite screen is used to manage the details of a WebSite.

The WebSite record is used to configure which Product Store to use for your site that references it.

How do I create a Web Site?
  1. Select the 'Web Site' sub menu and the screen will be displayed

  2. Enter the 'Web Site Id' field
    (NOTE: If you do not enter the 'Web Site Id' field it will be used the default as 'Organization Party Id')

  3. Enter the 'Site Name' field

  4. Select the 'Visual Theme Set' field

  5. Press the 'Save' button

How do I update a Web Site?
  1. Not all the fields on the web site can be updated.
    For example Web Site Id cannot be updated.
    If these fields need to be amended then the web site will need to be removed and then re-created.

  2. Select the 'Web Site' sub menu and the screen will be displayed

  3. Any existing line items will be displayed in the 'Items' box

  4. Amend the details in the line item that needs to be updated (eg Site Name, Visual Theme Set)

  5. Press the 'Update' button displayed at the end of the line item that has been updated

3.3.5. Help for Setup Create First Customer

The First Customer screen provides
- create/edit the first customer of your organization
- and also setup the "Shipping Destination Address" , "General Correspondence Address", any telephone numbers, and email addresses you want for your first customer.

How do I update the profile information of the first customer?

After the first customer is created the profile and contact information screen will be displayed

  1. Select the 'Update' button on the top corner of the profile information and the screen will be displayed: Any existing information will be displayed in the box

  2. Amend the details in the profile information that needs to be updated

  3. Press the 'Save' button

  4. Press the 'Cancel/Done' button for go back to the first customer screen

3.3.6. Help for Setup Edit First Catalog

It provides an overview on Catalog, Category, and Product which is the first one of your organization.

You will be able to create/edit Catalog, Category, and Product for your organization and also be able to create order by that product.

How do I create a Catalog?
  1. Select the 'Product Catalog' sub menu and the screen will be displayed

  2. Enter the 'Prod Catalog Id' field
    (NOTE: If you do not enter the 'Prod Catalog Id' field it will be used the default as 'Organization Party Id')

  3. Enter the 'Catalog Name' field

  4. Press the 'Update' button

How do I update a Catalog?
  1. Not all the fields on the Catalog can be updated.
    For example Prod Catalog Id cannot be updated.
    If these fields need to be amended then the Catalog will need to be removed and then re-created.

  2. Select the 'Product Catalog' sub menu and the screen will be displayed

  3. Any existing Catalog will be displayed in the box

  4. Amend the details in the line item that needs to be updated (eg Catalog Name)

  5. Press the 'Update' button displayed at the end of the line item that has been updated

3.3.7. Help for Setup Edit First Product Category

The Edit First Product Category screen is used to manage the first category with related the first catalog.

How do I create a Category?
  1. Select the 'Category' sub menu and the screen will be displayed

  2. Enter the 'Product Category Id ' field
    (NOTE: If you do not enter the 'Product Category Id' field it will be used the default as 'Organization Party Id')

  3. Enter the 'Category Name' field

  4. Enter a description describing what the category is

  5. Press the 'Update' button

How do I update a Category?
  1. Not all the fields on the Category can be updated.
    For example Prod Catalog Id cannot be updated.
    If these fields need to be amended then the Category will need to be removed and then re-created.

  2. Select the 'Category' sub menu and the screen will be displayed: Any existing Category will be displayed in the box

  3. Amend the details in the line item that needs to be updated (eg Category Name, Product Description )

  4. Press the 'Update' button displayed at the end of the line item that has been updated

3.3.8. Help for Setup Edit First Product

The Edit First Product screen is used to manage the first product with related the first catalog and the first category.

How do I create a Product?
  1. Select the 'Product' sub menu and the screen will be displayed

  2. Enter the 'Product Id' field
    (NOTE: If you do not enter the 'Product Id' field it will be used the default as 'Organization Party Id')

  3. Enter the 'Internal Name' field

  4. Enter the 'Product Name' field

  5. Enter a description describing what the category is

  6. Enter a number in the 'Default Price' field

  7. Enter a number in the 'Average Cost ' field

  8. Press the 'Update' button

How do I update a Product?
  1. Not all the fields on the Product can be updated.
    For example Product Id cannot be updated.
    If these fields need to be amended then the Product will need to be removed and then re-created.

  2. Select the 'Product' sub menu and the screen will be displayed: Any existing Product will be displayed in the box

  3. Amend the details in the line item that needs to be updated (eg Internal Name, Product Name, Short Description, Default Price, Average Cost)

  4. Press the 'Update' button displayed at the end of the line item that has been updated

3.3.9. Help for View Organization Profile

This screen shows details of an individual profile.

It displays specific information regarding the contact and profile information. The lower part of the screen shows the contact information details indicating the address, telephone number, or email used to communicate with your organization.

4. 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.

4.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.

4.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.

Help for Accounting Main screen

This is the default tab for the Accounting Manager application. The screen currently shows links that will display more detailed screens related to Agreements, Billing Accounts, Invoices and Payments.

With accounting application mmenu, it’s possible to have a lot of more details

4.1.2. Invoices.

Sales invoices are generated when customers buy something from your business. You will need to provide a detailed list of the items bought and relevant taxes paid. They are often referred to a 'tax invoices' as they contain information relating to the amount of sales tax (eg VAT / GST) charged on the product or service.

Purchase invoices are generated by your suppliers when you order something from them.
You may send them an order in the form of a Purchase Order.
They will then send you the products and an invoice for payment.
This invoice is the Purchase Invoice and it will contain details of the items bought plus any taxes.

Both of these documents are used as proof to various tax authorities (eg Inland Revenue, Customs etc) that the required tax has been charged or collected.

Note
The following is an extract from Ian McNulty’s documentation work on accounting:

Invoices are created automatically by the system when certain criteria are met for each item on an order. The criteria will vary depending on the type of product associated with the order item, and the type of order (ie purchase/sales).

For Sales Orders that include digital goods, an invoice will be created when the order is placed, and that invoice will be for all digital goods in the order.
If there are non-digital or physical goods they will go in a separate invoice.

For Sales Orders that need physical fulfillment, an invoice will be created for all items in a shipment when the shipment goes into the 'Packed' status.

For Purchase Orders an invoice will be created from a shipment when the shipment goes into the Received status.

Invoices management in User Interface
Help for Find Invoices

The default screen is for the Invoices tab is 'Find Invoices'. It is used to locate existing invoices that have been created automatically by the system or manually by the user. It can also be used to create a new Sales or Purchase Invoice.

How do I view all invoices?
  1. Press the 'Search' button to view all invoices

How do I locate an existing invoice?
  1. Enter the 'Invoice ID' if known

  2. Enter a word from the invoice description in the 'Description' field if known

  3. Enter the 'Invoice Type' if known

  4. Enter the 'From Party Id' if known
    (NOTE: In most cases for a Sales Invoices this will be Company. For Purchase Invoice it will be the supplier party id)

  5. Enter the 'Billing Account Id' if known

  6. Enter the invoice status in the 'Status Id' field if known

  7. Enter the 'To Party Id' if known
    (NOTE: In most cases for a Purchase Invoice this will be company. For Sales Invoices it will be the customer party id)

  8. Press the 'Search' button to view all invoices

  9. All invoices that meet the search criteria will be displayed.

How do I update an invoice?
  1. Locate the invoice using the 'Find Invoices' screen

  2. Using the relevant sub menu make the required changes.

How do I delete an invoice?

Invoices cannot be deleted through the user interface. They can only be cancelled (eg if they have been entered or created by mistake).

Note
They can probably be deleted using Entity Data Maintenance in the Webtools menu but this is not recommended for 2 reasons:
1) It may cause data integrity problems.
2) In case of audit it would be a problem.
Help for Invoice Overview

The Invoice Overview screen is used to display the summary of an invoice in a single view. The screen is divided into sections that show various information related to the invoice (eg Roles, Status, Terms, Items, Payments Applied, etc).

The following options are currently available from this screen:

  • Create New (Create a new invoice)

  • Copy (Create a copy of the current invoice)

  • PDF (View a PDF of the current invoice)

  • PDF default currency
    (NOTE TO CHECK: Need to see how this is different from just the PDF view…​…​)

  • Status to 'Approved' (Change the status of the current invoice to 'Approved)

  • Status to 'Sent' (Change the status of the current invoice to 'Sent')

  • Status to 'Ready' (Change the status of the current invoice to 'Ready'.
    NOTE: This will create the relevant accounting transactions and post them to the general ledger)

  • Status to 'Cancelled' (Change the status of the current invoice to 'Cancelled')

  • Save as Template
    (NOTE TO CHECK: Save the current invoice format as a template)

Help for Edit Invoice Header

The Invoice Header screen is used to view or update details from the invoice header.

Examples of the type of information that can be changed are Due Date, Description, Currency.

How do I update the header details for an Invoice?
  1. Select the 'Header' sub menu and the header details of the invoice will be displayed

  2. Update the fields required

  3. Press the 'Update' button

Help for New Invoice

This screen allows the user to create a new Sales or Purchase Invoice.
Sales Invoices are created when a customer buys something from you.
Purchase Invoices are created when you buy something from a supplier.

How do I create a new Sales invoice?
  1. Press the 'Create New' button

  2. The New Sales Invoice / New Purchase Invoice screen is displayed>

  3. Using the top part of the screen, leave Invoice type with its default of 'Sales Invoice'

  4. Leave 'Organization Party Id' with its default of 'Company'

  5. Enter or use the lookup to find the 'To Party Id' (eg DemoCustomer)

  6. Press the 'Create' button in the top part of the screen

  7. The invoice header has been created and the default header screen will be displayed

  8. Details on the invoice will need to be entered via the other sub menus (eg Items, Time Entries etc)

How do I create a new Purchase invoice?
  1. Press the 'Create New' button

  2. The New Sales Invoice / New Purchase Invoice screen is displayed>

  3. Using the bottom part of the screen, leave Invoice type with its default of 'Purchase Invoice'

  4. Leave 'Organization Party Id' with its default of 'Company'

  5. Enter or use the lookup to find the 'From Party Id' (eg DemoSupplier)

  6. Press the 'Create' button in the bottom part of the screen

  7. The invoice header has been created and the default header screen will be displayed

  8. Details on the invoice will need to be entered via the other sub menus (eg Items, Time Entries etc)

Help for Edit Invoice Applications

The Invoice Applications sub menu is where payments that have been made (or received) can be linked or allocated to an invoice.
The phrase 'applying' an amount to an invoice is often used to describe this.

The screen is divided into 3 main areas as follows.

  • Payments Applied (which shows details of the total amount 'Applied' and the total amount 'Open'.
    Note that 'Open' here means outstanding)

  • Possible Payments to Apply (which shows all the payments that have been sent from the same party id as the invoice, for a sales invoice this would be the customer party id)

  • Assign Payment to Invoice (which allows you to manually assign a specific payment id to this invoice)

Note
General Ledger accounting transactions are generated during the payment application process but unless your GL is setup with Unapplied Cash and Applied Cash accounts
- I’m not sure that there will be any true accounting impact.
In the Sales Order process the accounting transaction generated the following GL Accounting transaction is generated for 'Payment Applied' o add some text here.

DR 120000 Accounts Receivable / CR 120000 Accounts Receivable - This transaction doesnt really do anything!

It is used to link payments to invoices. It is also used to allocate which part of a payment is allocated or applied to a specific invoice. This is extremely useful if your customers pay multiple invoices with a single payment.

Example:

  • A customer could send a single payment of $1000 that can be used to pay for two invoices (eg $400 and $600)

  • Using this applications sub menu allows you to allocate part of the $400 to one invoice and the balance ($600) to the other invoice

By default all 'unapplied' payments that have been entered into OFBiz from the customer will be available for selection even if they have not yet been flagged as formally 'Received'. This means that these are payments that have not already been linked to another invoice.

If only part of a payment amount has been linked to an invoice then the remaining amount is left available to be allocated to another invoice.
Also note that a single invoice could be paid by multiple payments being applied to it.

How do I apply a payment (or payments) to an invoice?
  1. Select the 'Applications' sub menu for the invoice

  2. A list of unapplied payments for the party id will be displayed

  3. Press the 'Apply' button next to the entry that needs to be applied to the invoice
    (NOTE: More than one entry may be used. Also only part of a larger amount may be used)
    The Payments Applied total at the top of the screen will be updated with the amount selected. Also the Amount Open will be reduced by the amount selected.

  4. Once the total invoice amount has been selected a message will be displayed and only the first part of the screen will be displayed

  5. The top part of the screen will now be updated to show the 'Payments Applied' total is equal to the invoice total and the 'Amount Open' is zero.

How do I update an applied payment for an invoice?
  1. Payments that have been applied to an invoice can be updated. This means that you can change the details of the payment transaction or adjust the amount that was applied to the invoice.

  2. Select the 'Applications' sub menu for the invoice

  3. A list of payments already applied to the invoice will be displayed in the top part of the screen

  4. Enter or use the lookup to change the 'Payment Id' if required

  5. Enter the updated amount in the 'Amount to Apply' field if required

  6. Press the 'Update' button

How do I remove an applied payment (or payments) from an invoice?
Warning
TO CHECK: It can be done before transaction has been posted to GL but also need to check if its can be done if the transaction has been posted.
  1. Select the 'Applications' sub menu for the invoice

  2. A list of payments already applied to the invoice will be displayed in the top part of the screen

  3. Press the 'Remove' button next to the payment entry that needs to be removed

  4. The entry will be removed and the top part of the screen will be update the 'Payments Applied' total and 'Amount Open'

Help for Edit Invoice Items

The Invoice Items screen displays the individual invoice line details and allows the user to update or remove an entry. As each invoice line is created it is allocated a specific sequence (or Item Number) which acts as a unique identifier.

How do I create a new invoice line item?

Note that only invoices that have specific statuses can have new line items created. This means that if an invoice has already been paid and processed OFBiz will not allow any amendments to it.

  1. Select the 'Items' sub menu for the invoice

  2. The 'Add a new invoice item' screen will be displayed

  3. Leave the 'Item No' field blank (as it will be automatically generated)

  4. Select the 'Invoice Item Type' from the drop down box
    (NOTE: A typical line using the demo could be 'Invoice Finished Good Item' but ensure that it corresponds with the type of products setup in your catalog)

  5. Enter a description describing what the line item is
    (NOTE: If you are going to enter a product in the Product Id field from the catalog then leave the 'Description' field blank as it will be used to show the product description)

  6. Leave the 'Override GL Account Id' field blank as it will use the default account based on the Chart of Accounts setup

  7. Use the lookup or enter a product code in the 'Product Id' field
    (NOTE: This can be left blank if your invoice line is not related to a product in the catalog)

  8. Enter a number in the 'Quantity' field

  9. Enter a 'Unit Price' only if the Product Id field is blank
    (NOTE: If a Product Id has been entered then leave the 'Unit Price' field blank as it will pick up the product price from the catalog)

  10. Leave the 'Inventory Item' field blank

  11. Leave the 'Product Feature Id' field blank

  12. Leave the 'UOM' field blank

  13. Select 'Yes' for the 'Taxable Flag' field

Warning
TO CHECK: Need to do some tests to see what line item type needs to be used for 'Sales Tax'.
I think that it could be 'Invoice Item Sales Tax' since tax is currently calculated at invoice item line level.
Also the automatically generated invoices from Order Entry and E-Commerce show taxes at the invoice item line level (think there may be some work going on - see JIRA on to consolidate entries).
Need to do some tests using 'Invoice Sales Tax' to see how it works…​…​…​
How do I update an invoice line item?

Not all the fields on the invoice item line can be updated. For example Taxable Flag and Inventory Item cannot be updated.

If these fields need to be amended then the invoice item will need to be removed and then re-created.

  1. Select the 'Items' sub menu for the invoice

  2. Any existing line items will be displayed in the 'Items' box

  3. Amend the details in the line item that needs to be updated (eg Quantity, Invoice Item Type, Product Id, Description, Override GL Account, Unit Price)

  4. Press the 'Update' button displayed at the end of the line item that has been updated

How do I delete an invoice item?
  1. Select the 'Items' sub menu for the invoice

  2. Any existing line items will be displayed in the 'Items' box

  3. Press the 'Remove' button displayed at the end of the line item that needs to be deleted

Help for Edit Invoice Time Entries

he Time Entries screen displays any time logged against the invoice. For example these time entries can be from employee or external supplier timesheets that are tracked within OFBiz. It is used to track any individual work or billable hours against an invoice.

How do I add a new time entry for an invoice?

Threre are two options

  1. Add time entry to a new invoice and add time entry to an existing invoice.

  2. Timesheet entries can be added to an existing invoice from Workeffort Manager.

How do I update a time entry for an invoice?
Warning
To CHECK if this can only be done via timesheets.
How do I remove a time entry from an invoice?
Warning
TO CHECK if this is done via timesheets
Help for Send Per Email

This is used to send a copy of the invoice details to one or more email addresses. The invoice is included as an attachment and the user can add a simple accompanying email message.

How do I send a copy of an invoice via email?
  1. Select the 'Send per Email' sub menu

  2. The 'Send per Email' default screen will be displayed

  3. Enter the 'From Email Address'
    (NOTE TO CHECK: Shouldnt this be defaulted from the user login…​..????)

  4. Leave the 'To Email Address' as it is as this will be defaulted using the customer details from the invoice

  5. If required enter the 'Copy Email address' for anyone that needs to be copied on the email

  6. Leave the 'Subject' as the default of 'Please find attached invoice'

  7. Leave the 'Other Currency' box blank
    (NOTE TO CHECK: Investigate what effect this has on the email…​..)

  8. Enter a short email message in the 'Email Body'

  9. Press the 'Submit' button

Help for Invoice Roles

The Invoice Roles screen allows parties with specific roles to be associated with and invoice. If the e-commerce or Sales Order entry route has already been used then the invoice generated will already contain the relevant roles from the various parties.

For a Sales Order examples of roles will include Bill From Customer, Bill To Customer, End User Customer,Ship To Customer etc.

How do I add a party role to an invoice?

Party roles will automatically be added to an invoices that have been generated as a result of E-Commerce order entry or Sales Order entry.
They can also be added be added manually.

  1. Select the 'Roles' sub menu

  2. Enter or use the lookup to enter the party to be added to the invoice in the 'Party Id' field

  3. Use the drop down box to select the 'Role Type Id'

  4. Leave the 'Date Time Performed' field blank
    (NOTE: This field is optional and can be entered if required. This field can be used to indicate the date and time this role was performed by the party for this invoice)

  5. Leave the 'Percentage' field blank
    (NOTE: This field is optional and can be entered if required. If roles are shared then this field can be used to indicate the assigned percentage for this role)

  6. Press the 'Submit' button

The new role entry will be displayed on the bottom part of the screen

Note
If you select a role that is not associated with the party that has been entered an error message will be displayed. To fix it you will need to add the role to the party or choose another party that already has that role associated with it.
How do I update a party role on an invoice?

A party role cannot be updated via the current user interface. It can only be removed. If a party role needs to be updated then the entry must be deleted and then re-created.

How do I remove a party role from an invoice?
  1. Locate the entry that needs to be removed

  2. Press the 'Remove' button next to the entry that needs to be deleted

  3. The entry is now removed from the list of invoice roles

4.1.3. Payments.

Payments are transactions that received by or generated by a business.

They can be incoming or outgoing.

Incoming payments are normally from customers and outgoing ones to suppliers.

Payments management in User Interface
Help for Find Payments

The default screen is 'Find Payment' which allows the user to search for and view the details related to a payment transaction. Specific search criteria can be entered as a filter to locate the payment quickly.

Payments can be incoming or outgoing and the demo data contains a list of payment type descriptions that describe the reason for the payment in more detail (eg Customer Deposit, Tax Payment, Commission Payment etc).

This screen is used to locate existing payments that have been created automatically by the system or manually by the user. There are links from this page that can be used to do the following:

  • Create a new incoming or outgoing payment

  • Find Sales Invoices by due date

  • Find Purchase Invoices by due date

How do I view all payments?
  1. Press the 'Search' button to view all payments

How do I locate an existing payment?
  1. Enter the 'Payment ID' if known

  2. Enter a word from the payments 'Comment’field if known

  3. Enter the 'Payment Type Id' if known

  4. Enter the 'From Party Id' if known
    (NOTE: In most cases for an incoming payment this will be the customer party id)

  5. Enter the payment amount in the 'Amount' field if known

  6. Enter some details from the payment reference number in the 'Reference No' field if known

  7. Enter the status of the payment in the 'Status Id' field if known

  8. Enter the 'To Party Id' if known
    (NOTE: In most cases for an incoming payment this will the the customer party id. For outgoing payments this will be the supplier id, or customer id for a refund)

  9. Press the 'Search' button to view all payments

  10. All payments that meet the search criteria will be displayed.

Help for New Payment

This screen is used to create a new payment. Payments can be incoming (eg from a customer) or outgoing (eg to a supplier). Payment types are used to describe what the payments are used for in the system.

Examples of incoming payment types are as follows:

  • Customer Deposit

  • Customer Payment

  • Interest In

Examples of outgoing payment types are as follows:

  • Commission Payment

  • Pay Check

  • Income Tax Payment

  • Vendor Payment

How do I create a new incoming payment?
  1. Press the 'Create New Payment' button

  2. The New Incoming Payment / New Outgoing Payment screen is displayed

  3. Leave 'Organization Party Id' with its default of 'Company'

  4. Select the 'Payment Type Id' from the drop down box
    (NOTE: This is currently limited to the following: Customer Deposit, Customer Payment, Interest In and Gift Certificate Deposit)

  5. Enter the payment amount in the 'Amount' field

  6. Enter or use the lookup to find the 'From Party Id'

  7. Select the 'Payment Method Type' from the drop down box (eg how the payment was paid - cash, cheque, money order etc)

  8. Leave the 'Currency' field with its default of 'USD'
    (NOTE: This default comes from Company)

  9. Press the 'Create' button

  10. The payment header is created and the default header screen will be displayed subsection content

Note
TO CHECK Need to understand what happens if customer pays in a currency that is not the company default…​.
if the exchange rate is specified then I think it should convert the currency to the default currency for accounting purposes…​.
need to investigate and test.
How do I create a new outgoing payment?
  1. Press the 'Create New Payment' button

  2. The New Incoming Payment / New Outgoing Payment screen is displayed

  3. Leave 'Organization Party Id' with its default of 'Company'

  4. Select the 'Payment Type Id' from the drop down box
    (NOTE: This is currently limited to 11 entries including Commission Payment, Customer Refund, Vendor Payment, Income Tax Payment)

  5. Enter the payment amount in the 'Amount' field

  6. Enter or use the lookup to find the 'To Party Id'

  7. Select the 'Payment Method Type' from the drop down box
    (eg how the payment is to be paid - cash, cheque, money order etc)

  8. Leave the 'Currency' field with its default of 'USD'
    (NOTE: This default comes from Company)

  9. Press the 'Create' button

  10. The payment header is created and the default header screen will be displayed subsection content

Help for Payment Overview

The Payments Overview screen displays the summary details of the payment.

On one side it shows information related to the payment transaction header (eg Payment Type, Status, Amount, Effective Date etc) and the other it shows if the payment has been applied (or matched) to an invoice or billing account etc.

The following options are currently available from this screen:

  • Create New (Create a new payment)

  • Status to 'Received' (Change the status of the current payment to 'Received.
    NOTE: This will create the relevant accounting transactions and post them to the general ledger)

  • Status to 'Cancelled' (Change the status of the current payment to 'Cancelled')

  • Status to 'Confirmed' (Change the status of the current invoice to 'Confirmed'.
    NOTE: This status option will not appear until the status has been changed to 'Received')

Note
The general ledger transactions generated as a result of the payment are based on the GL Account Type defaults for Company as follows:
1) Debit Entry (GL Account Type defaults)
2) Credit Entry (Payment Method Id / GL Account Id)
Help for Payment Applications

The Payments Applications sub menu is where payments that have been made (or received) can be linked or allocated to an invoice, another payment, a billing account or a tax authority.

Note
General Ledger accounting transactions are generated during the payment application process but unless your GL is setup with Unapplied Cash and Applied Cash accounts
TO CHECK I’m not sure that there will be any true accounting impact.

In the Sales Order process the accounting transaction generated the following GL Accounting transaction is generated for 'Payment Applied'

The following options are currently available from this screen:

  • Create New (Create a new payment)

  • Status to 'Received' (Change the status of the current payment to 'Received.
    NOTE: This will create the relevant accounting transactions and post them to the general ledger)

  • Status to 'Cancelled' (Change the status of the current payment to 'Cancelled')

  • Status to 'Confirmed' (Change the status of the current invoice to 'Confirmed'.
    NOTE: This status option will not appear until the status has been changed to 'Received')

How do I apply a payment to an invoice?
  1. Select the 'Applications' sub menu for the payment

  2. A list of invoices will be displayed in the 'Possible Invoices to Apply' box
    (NOTE: If no open invoices exist for the party that is sending the payment then this may not list any invoices)

  3. Press the 'Apply' button next to the invoice (or invoices) that this payment is for

Note
Although it can be overriden the 'Amount to Apply' field will default to the lesser of the invoice total or the payment amount.

This can be shown by examples as follows:

  • If a payment of $150 is received but the invoice total is $120 then the 'Amount to Apply' will default to $120

  • If a payment of $150 is received but the invoice total is $170 then the 'Amount to Apply' will default to $150

How do I apply a payment to an invoice, tax authority, billingaccount or another payment?
  1. Select the 'Applications' sub menu for the payment

  2. Using the 'Apply this payment to' box at the bottom of the screen

  3. Enter or use the lookup to enter the 'Invoice Id' to apply the payment to
    (NOTE: This can be used if the invoice is to another party eg ordered by a subsidiary but paid for by another company of the same group)

  4. Enter or use the lookup to enter the 'To Payment Id' to apply the payment to if required
    (NOTE TO CHECK: How does this work…​.?)

  5. Enter or use the lookup to enter the 'Billing Account Id' to apply the payment to if required

  6. Enter or use the drop down box to select the 'Tax Auth Geo Id' to apply the payment to if required
    (NOTE TO CHECK: This is a country so need to test how this actually works…​…​)

  7. Enter an amount in the 'Amount to Apply'
    (NOTE: This must be less than or equal to the payment amount)

  8. Press the 'Apply' button

Help for Payment Header

The Header screen displays the header details for the payment transaction and allows all fields to be updated if required.

The following options are currently available from this screen:

  • Create New (Create a new payment)

  • Status to 'Received' (Change the status of the current payment to 'Received.
    NOTE: This will create the relevant accounting transactions and post them to the general ledger)

  • Status to 'Cancelled' (Change the status of the current payment to 'Cancelled')

  • Status to 'Confirmed' (Change the status of the current invoice to 'Confirmed'.
    NOTE: This status option will not appear until the status has been changed to 'Received')

How do I update the header details for a Payment?
  1. Select the 'Header' sub menu and the header details of the payment will be displayed

  2. Update the fields required

  3. Press the 'Update' button

Help for Find Sales Invoices By Due Date

This screen allows the user to search for and locate Sales Invoices based on their due date.

The 'Due Date' can be defined as the last possible date that payments can be received for the invoice without triggering late payment penalties.

The 'Invoice Date' can be defined as the date that the invoice was created and this is normally based on when products were shipped or services were provided.

Note
TO CHECK: There appears to be a minor bug here as if the Invoice 'Due Date' is different to the Invoice Date (eg. Invoice Creation Date) then the Invoice Date is used as the Due Date in this screen which I dont think is correct…​…​

A Sales Invoice may be due to be paid immediately or as in some cases the customer is given a 'grace period' after which the invoice is generated and becomes due.

Examples of this include only generating a customer invoice after a certain amount of time after the dispatch of their order.
(NOTE: There are several ways this can be achieved in OFBiz including the use of agreements and billing accounts).

This screen can be used to locate Sales Invoices as follows:

  • That will become due within a fixed timeframe (eg the next 5 days)

  • That may already be overdue

  • That have been automatically generated by the system
    (eg as a result of Agreements based on payment in 30 days etc…​.TO CHECK)

Note
TO CHECK See details from Jacopo below regarding future work regarding Find Sales Invoice by Due Date and Find Purchase Invoice by Due Date functionality:
- The two links are used to search invoices' due dates for payments - there are plans to add links to quickly create payments for them etc.
- So they are somewhat in the middle between an invoice thing and a payment thing.
- By the way, for now I will close this issue because the best spot to place them is in the AR and AP applications, but there is still a lot of work to do to make them usable.
How do I find a Sales Invoice by Due Date?
  1. Press the 'Find Sales Invoices by Due Date' button

  2. The Find Sales Invoices by Due Date screen is displayed

  3. Enter the 'Organization Party Id' (eg. Normally this will be Company)

  4. Enter the 'Party Id' that the Sales Invoice (eg. Normally this will be the Customer Party Id)

  5. Enter a number in the 'Days Offset' field that represents the number of in which the invoice will become due
    (eg If an invoice is due to be paid in 5 days then enter 5 or greater)

  6. Press the 'Select' button

Help for Find Purchase Invoices By Due Date

This screen allows the user to search for and locate Purchase Invoices based on their due date.

The 'Due Date' can be defined as the last possible date that payments can be received for the invoice without triggering any late payment penalties.

The 'Invoice Date' can be defined as the date that the invoice was created and this is normally based on when products were received or services were provided.

Note
TO CHECK: See if the same bug that exists with Sales Invoices is here too.

A Purchase Invoice may be due to be paid immediately or you may be given a 'grace period' after which the invoice is due.

How do I find Purchase Invoices by Due Date?
  1. Press the 'Find Purchase Invoices by Due Date' button

  2. The Find Purchase Invoices by Due Date screen is displayed

  3. Enter the 'Organization Party Id' (eg. Normally this will be Company)

  4. Enter the 'Party Id' that the Purchase Invoice (eg. Normally this will be the Supplier Party Id)

  5. Enter a number in the 'Days Offset' field that represents the number of in which the invoice will become due
    (eg If an invoice is due to be paid in 5 days then enter 5 or greater)

  6. Press the 'Select' button

4.1.4. Payment Gateway

The Payment Gateway is made up of a configurable interface that processes payments.

Before using using them, it’s needed to config them.
Payment Gateway Configuration is used to setup the parameters required for the system to accept payments via different or external applications

Examples of these include:

  • Paypal

  • PayFlow

  • Authorise.net

  • Clear Commerce

When config is done, Payment transactions can be authorised, captured and processed or refunded via the selected mechanism, (eg Paypal, Authorise.net, etc) more details are explained in Payment Transaction management in User Interface

Payment Gateway Config management in User Interface
Help for Edit Payment Gateway Config

This screen allows the user to update the payment gateway configuration.

A range of parameters need to be set before the payment gateway will work This includes details of the username and password required for the validation of the external account that will be using the gateway.

How do I update a Payment Gateway Configuration?
  1. Select the gateway Find Payment Gateway Config screen

  2. Enter the details required for the configuration type selected
    (NOTE: This will be different for each individual configuration selected)

  3. Press the 'Update' button

Help for Find Payment Gateway Config Types

This screen lists some of the most common payment gateway configuration types that have been created as part of the seed or demo data.

Press the 'Lookup' button to see a list of existing payment gateway configuration types.

Help for Edit Payment Gateway Config Type

This screen allows the update of an existing payment gateway configuration type.

Note
New Payment Gateway Configuration Types cannot be created via this screen.
Payment Transaction management in User Interface
Help for Find Gateway Responses

This is the default screen for the 'Transactions' sub menu.
Press the 'Lookup' button to display details of all transactions that have been authorised, captured or manually entered.

How do I view all Gateway response transactions?
  1. Press the 'Lookup' button

A list of all transactions that have been authorised, captured or manually entered will be displayed.

Transaction results (external link)
Help for The Authorize Transaction

An authorization is a temporary transaction that shows a commitment to take money from an account.

The 'Authorize' process is the first step in allowing a sales transaction payment to be accepted.
In OFBiz a service would be defined to carry out the authorisation process each time for example, a credit card is used. It will perform specific validation tests before the payment can be classes as 'authorised'.

When a payment is authorised it means that it has been validated and that the credit card or bank account has been checked to ensure that it has sufficient funds available to cover the proposed transaction.
A number or code may be issued as evidence of the authorisation.

Note
In the 'Payment' settings for a store as part of the Product Payment setup the user can specify various services that will process a payment transactions through to completion.

This includes the following:

  • Payment Authorisation

  • Payment Capture

  • Payment Credit

  • Payment Authentication Verification

  • Payment Re-Authorisation

  • Payment Refund

  • Payment Release Authorisation

This is used to provide verification and approval for the first step of the sales transaction payment process.

An 'Authorize' button is also displayed on Sales Order detail screen if a Credit Card payment was specified for a sales order. This is probably a more natural place for a payment transaction to be authorised.

Note
Using OFBiz demo data if DemoCustomer uses their credit card for payment then an transaction is created that is automatically authorised and can be viewed using the Gateway Responses.
How do I create and authorise a transaction?
  1. Enter the 'Order Id' of the sales order for which payment is being made

  2. Enter the 'Order Payment Preference Id'
    (NOTE: This is automatically generated at sales order creation and may be difficult to find out…​
    I found it by initially doing an order and then paying by DemoCustomer’s credit card and checking Gateway Responses for what was displayed in that field for the order)

  3. Select the 'Payment Method Type'
    (NOTE TO CHECK: What happens if you use other selections not just credit card?)

  4. Enter the 'Amount'

  5. Press the 'Authorize' button

  6. A new transaction should be displayed with the status of authorised

Note
The demo data payment settings for the Payment authorisation Service is set to always approve so no transactions will display here because of this.
TO CHECK: Need to test and maybe try removing the 'always approve' to see if the transaction will be created as 'unauthorised'
Help for Capture Transaction

This screen is used to input or 'capture' a payment against a Sales Order.

Unlike the authorise, this function will actually deduct the amount from eg a credit card and apply the payment to a specific order.

It is likely that the before the payment is 'captured' in this screen, it would have been through an authorisation first.

Note
TO CHECK: Investigate how this links in with the Payment Gateway Configurations screens
How do I capture a transaction?
  1. Enter the Order Id for the payment (eg Sales Order Id)

  2. Enter Order Payment Preference Id
    (TO CHECK Unsure of what this is…​a type of unique identifier perhaps?)

  3. Select the 'Payment Method Type'

  4. Select the 'Payment Type'

  5. Enter the 'Amount'

  6. Press the 'Capture' button

A transaction will be created and can be viewed via the 'Gateway Responses' screen.

Help for View Gateway Response

This screen shows details of an individual gateway transaction.

It displays specific information regarding the order and the payment.

The lower part of the screen shows the gateway response details indicating the time and codes used to process the transaction through the gateway.

Help for Manual Transaction

The Manual Electronic Transaction screen allows the user to manually input and process payment related transactions.

Options available include the following:

  • Authorising payment transactions

  • Refunding payments

  • Payment Re-Authorisation

  • Payment Capture

How do I create a manual electronic transaction?
  1. Select the 'Payment Method Type' (eg Credit Card)

  2. Select the 'Product Store'

  3. Select the 'Transaction Type'
    (NOTE: This is the type of transaction that needs to be created, eg authorisation, capture,refund etc)
    Additional fields will be displayed

  4. Enter the required details (eg name, credit card, billing address, amount etc)

  5. Press the 'Submit' button

A transsaction will be created that can be viewed via the Gateway Transactions screen

Note
TO CHECK: Possible bug as could not get this to work using 'Payment Authorisation Service' and error message appeared regarding a missing parameter missing for Order Preference Id but the Order Preference Id was not displayed on the screen

4.1.5. Billing Accounts.

A billing account is a way of allowing customers to consolidate several invoices into an account that is paid off at a later date. Customers can be allocated a credit limit and orders can be taken up to the value of the credit limit without any payment being made. Statements to the customer can then be generated (eg monthly) and payment is made based on the outstanding amount.

Note
A billing account does not change the flow of the normal Invoice and Payment processes. It simply allows for a more structured organisation of Invoices and Payments..

Billing Accounts can be used for the following:

  • Setting credit limits for customers

  • Keeping track of credit available to customer for purchase on account

  • Keeping track of payments made in advance
    (NOTE TO CHECK: Could also use Financial Account for advance payments but need to understand the differences in functionality and process)

  • Keeping track of a subset of payments and invoices for a specific client, i.e. allowing them to have multiple billing accounts
    (NOTE TO CHECK: This is from David - does this mean having multiple accounts for one customer or does it mean one billing account can track a hierarchy of invoices and payments…​..)

  • Allow multiple authorised parties to bill against the same account which one party is responsible for paying
    (e.g. different offices of the same organisation may have one single account with a supplier to make use of order volume discounts)

  • Managing and generating customer statements ??

  • Customer specific order tracking

  • Accounts Receivable / Debt Management

  • Analysis and monitoring customer spending (creditworthiness / discounts / product popularity ???)

Note
A payment that is applied (or matched) to a Billing Account it should still be applied to an invoice. In the case where the payment arrives before the invoice has been generated then once the invoice is generated it should be applied to the payment or payments.
Billing Account management in User Interface
Help for Find Billing Account

The default screen is for the Billing Account tab is 'Find Billing Account'. It is used to locate existing billing accounts that have been created.

The user has the option to select an existing billing account or create a new one by clicking on the 'New' button.

Help for Edit Billing Account

The 'Account' sub menu is used to enter the basic details required for setting up a new billing account or editing an existing one.

It can be used to create or update the following details for a Billing Account:

  • Billing Account Identification

  • Party to be Billed

  • Billing Account Limit
    (NOTE: This is how much credit the customer will be given eg $5000)

  • Currency to be used for Billing Account

  • Start and End Dates

Note
There are currently two ways to add a party to a billing account.
  1. Enter a party id in the 'Party Billed To' field

  2. Use the 'Roles' sub menu to add a party id with the role of 'Bill To Customer'

  3. If using the first method then when you press the update button this removes the party id from this field and automatically creates the party under the Roles sub menu with the role of 'Bill To Customer'

How do I create a new Billing Account?
Note
TO CHECK: If the party doesnt have the role 'Bill To Customer' is it automatically added when the billing account is created or will the creation fail?..

Example: To create a new Billing Account

  1. Press the 'New' button and the 'Edit Billing Account' screen is displayed

  2. Enter a code or number for the 'Billing Account Id'
    (NOTE: If this is left blank a number will be automatically generated)

  3. Enter a number for the 'Billing Account Limit' (eg 5000)

  4. Leave the 'Account Currency UOM Id' as it is
    (NOTE: This should be the default currency for Company…​)

  5. Enter a description that can be used to identify the Billing Account (eg Joe Bloggs Builders Billing Account)

  6. Leave the 'Contact Mech' field as it is
    (NOTE: This field cannot be filled in until either the 'Party Billed To' has been filled in or a party with the role of 'Bill To Customer' has been added under the 'Roles' sub menu)

  7. Enter the Billing Account start date in the 'From Date' field.
    (NOTE: If left blank then this will default to the current date and time.
    TO CHECK: Can this date be in the future…​..?)

  8. Leave the 'Thru date' field blank

  9. Enter or use the lookup to select the 'Party Billed To'

  10. Press the 'Update' button

After the 'Update' button has been pressed then the 'Contact Mech Id' field will either be automatically filled in or will allow you to select a contact mech from a drop down list

How do I update an existing Billing Account?

Billing Account details can be updated.
A key field that may need to be updated is the actual Billing Account Limit if a customer reduces or improves their credit rating

Example: To Update a Billing Account

  1. Click on the 'Billing Account Id' of the Billing Account to updated

  2. The 'Edit Billing Account' screen is displayed

  3. Enter the changes required

  4. Press the 'Update' button

How do I delete a Billing Account?

Billing Accounts cannot be deleted.
They can only be expired.
This means that they will no longer be able to be used to associate invoices or payments against.

Example: To Expire a Billing Account

  1. Click on the 'Billing Account Id' of the Billing Account to be expired

  2. The 'Edit Billing Account' screen is displayed

  3. Enter the current date in the 'Thru date' field

  4. Press the 'Update' button

Help for Billing Account Roles

This sub menu allows parties with specific roles to be associated with to a Billing Account.

It is used to specify which party should be billed for the billing account.

It can be used as follows:

  • Simple billing account for a single party

  • More complex billing account where multiple parties (eg company subsidiaries) charge invoices to the billing account but a different party (eg head office) will pay the account

How do I add a party role to a billing account?

Select the 'Roles' sub menu

  1. Enter or use the lookup to select the 'Party Id'

  2. Select the 'Role Type Id' from the drop down box (eg Bill To Customer)

  3. Leave the 'From Date' blank
    (NOTE: If left blank it will default to the current date and time)

  4. Leave the 'Thru Date' blank

  5. Press the 'Add' button

The new party role is displayed at the bottom of the screen

How do I update a party role for a billing account?

The only field that can be updated for a party role is the 'Thru Date'. If any other details need to be amended then the entry will need to be deleted and then recreated.

  1. Select the 'Roles' sub menu

  2. Locate the entry that needs to be amended

  3. Enter or use the lookup to enter the 'Thru Date'

  4. Press the 'Update' button for the entry

How do I delete a party role from a billing account?
  1. Locate the entry that needs to be deleted

  2. Press the 'Delete' button next to the entry

  3. The entry will be removed from the bottom of the screen

Help for Billing Account Terms

This sub menu allows terms to be associated with a billing account.

Currently these can be the following:

  • payment terms (discounted if paid within specified days)

  • payment terms (due on a specified day per month)

  • payment terms (net days)

  • penalty terms (late fee)

  • penalty terms (collection agency fee)

  • miscellaneous (non returnable sales item)

Note
TO CHECK: There is an overlap here with the terms that can be specified in an agreement. Would a billing account party also have an agreement for payment terms…​? .
How do I add terms to a billing account?
  1. Select the 'Terms' sub menu

  2. Select a 'Term Type' from the drop down box (eg. Payment net days)

  3. Leave the 'UOM' field blank

  4. Enter a number in the 'Term Value' field
    (eg. 30 which would mean '30 days' when related to 'Payment net days')

  5. Press the 'Save' button

The term is displayed in the top part of the screen

How do I update terms for a billing account?

Select the 'Terms' sub menu

  1. Press the 'Edit' button next to the entry that needs to be amended

  2. The details are displayed in the 'Edit Billing Account Terms' box

  3. Update the 'Term Type', 'UOM' or 'Term Value' as required

  4. Press the 'Save' button

The updated term is displayed in the top part of the screen

How do I remove terms from a billing account?
  1. Select the 'Terms' sub menu

  2. Press the 'Delete' button next to the entry that needs to be removed

Help for Billing Account Invoices

The Billing Account Find Invoices screen displays by default a list of invoices that have been charged to the billing account.

Any invoice displayed here means that its invoice amount has been deducted from the billing account credit limit. For example: If the Billing Account Credit Limit is $100 and the there are 2 invoices displayed with amounts $10 and $25 then the available credit for the billing account will be $75.

The invoice can be at various statues and there is an option to locate an invoice by status.

It is also used to apply any payments that have been made into the Billing Account to an invoice. A 'Capture' button is displayed next to each invoice displayed that has an amount outstanding.

Example:

  • Two invoices are charged to a Billing Account (Invoice A $10 and Invoice B $25)

  • A payment of $17 has been paid into the Billing Account

  • If the Capture button is pressed for the invoice A then $10 of the $17 payment will be applied to this invoice and a new payment transaction of $7 will be created and available to apply to a different invoice

How do I locate an invoice by status?
  1. Select the 'Invoices' sub menu

  2. Use the drop down box to select the 'Status Id' for the invoice required

  3. Press the 'Submit' button

A list of invoices with the required status will be displayed

How do I capture a payment for an invoice?
Important
In order for this to work a payment needs to have been made to the billing account that has not been completely applied to any other invoices.

Payments to a billing account can be done via the 'Payments' sub menu for the billing account or by using Accounting / Payments menu.

  1. Select the 'Invoices' sub menu

  2. Locate the invoice required
    (NOTE: The 'Amount to Apply' is the same as the 'Total' column)

  3. Press the 'Capture' button
    (NOTE: The 'Amount to Apply' is different to the 'Total' column)

The 'Capture' button is no longer displayed next to the invoice and an additional payments transaction will be created for any difference between the invoice total and the amount paid (Eg Invoice Total $100, Payment Amount $125, the new payment transaction amount will be $25)

Note
The above example assumes that the payment available will cover the total amount outstanding for the invoice
Help for Billing Account Payments

This sub menu allows the creation of a payment that is automatically applied to the billing account.

It is used when a payment has been received from a customer that is used to pay off the balance (or part balance) of a billing account.

An example of how this works is similar to a credit card statement where a list of transactions have been incurred over the previous month and one payment is used to settle the outstanding balance.

How do I add a payment to a billing account?
  1. Select the 'Payments' sub menu

  2. The 'Create Payment' screen is displayed

  3. Enter or use the lookup to enter the 'From Party Id'
    (NOTE: By default this will be the Bill To Party of the Billing Account)

  4. Select the 'Organisation Party Id' from the drop down box

  5. Select the 'Payment Type Id' from the drop down box
    (NOTE: By default this will be set to 'Customer Deposit')

  6. Leave the 'Payment Method Type' as 'Billing Account'
    (NOTE TO CHECK: What happens if you do change this…​.)

  7. Enter the 'Amount' of the payment

  8. Press the 'Create' button

The new entry is displayed at the bottom of the screen.

Note
The total amount of the payment will be applied to the Billing Account.
This can be verified by going to Accounting / Payments menu and locating the newly created payment.
The 'Amount to Apply' column will be zero.
How do I update a payment for a billing account?

A payment can be updated for a billing account by amending the amount of the payment that has been applied to the billing account.

For example if a payment of $100 has been applied to a billing account it can be amended so that only $75 will be applied and $25 will be available to be applied elsewhere.

  1. Click on the 'Payment Id' of the payment that needs to be removed

  2. The 'Payment Overview' screen is displayed

  3. Press the 'Update' button in the 'Payments Applied' box

  4. The 'Payment Applications' screen is displayed

  5. Locate the 'Billing Account Id' and 'Amount Applied'

  6. Amend the 'Amount Applied' for the billing account

  7. Press the 'Update' button next to the entry that refers to the 'Billing Account Id'

A message will be displayed saying that the payment has been removed from the billing account

How do I delete a payment from a billing account?

A payment can be removed from billing account by removing the link that has applied the payment to the billing account.

  1. Click on the 'Payment Id' of the payment that needs to be removed

  2. The 'Payment Overview' screen is displayed

  3. Press the 'Update' button in the 'Payments Applied' box

  4. The 'Payment Applications' screen is displayed

  5. Press the 'Remove' button next to the entry that refers to the 'Billing Account Id'

A message will be displayed saying that the payment has been removed from the billing account

Note
The above example was done when the payment status was at 'Not Paid'
TO CHECK: need to test if it still works if the payment status is at 'Received' or 'Confirmed' too.
Help for Billing Account Orders

This sub menu lists the details of any Sales Orders that have been charged to the billing account.

A Sales Order is charged to a billing account by selecting the billing account as the Payment Method.

Note
The details displayed here in conjunction with the 'Payments' sub menu could also be used to generate a customer statement or account showing details of customer activity during a specified time period.

4.1.6. 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.

Agreement management in User Interface
Help for Find Agreements

The default screen is for the Agreements tab is 'Find Agreements'. It is used to locate existing agreements that have been created. The user has the option to

  • use the 'Find' button to locate an existing agreement or

  • create a new one by clicking on the 'Create Agreement' button.

How do I locate an existing agreement?
  1. Enter search option details if known

  2. Press the 'Find' button party

  3. A list of existing agreements will be displayed

How do I create a new agreement?
  1. Press the 'Create Agreement' button

  2. The 'Edit Agreement' screen is displayed

  3. Enter the details required and press the 'Submit' button

How do I cancel an agreement?
  1. Locate the agreement required

  2. Press the 'Cancel' button on the agreement entry that needs to be cancelled

Help for Edit Agreement

The 'Agreement' sub menu is used to enter the basic details required for setting up a new agreement or editing an existing one.

It can be used to create or update the following details for an Agreement:

  • The parties the agreement is between and their roles

  • The agreement type (eg Sales, Purchase, Commission, Employment etc)

  • Specific products

  • Start and End Date

  • Description

How do I edit an agreement?
  1. Find the agreement that needs to be amended

  2. Click on Agreement Id

  3. The 'Edit Agreement' screen will be displayed

  4. Amend the details required and press the 'Submit' button (NOTE: Additional agreement details can be updated via the other tabs eg Agreement Terms, Agreement Roles, Agreement Items and Agreement Work Effort Appls)

How do I copy an existing agreement?
  1. Find the agreement that needs to be copied

  2. Click on the Agreement Id How do it?

  3. The 'Edit Agreement' screen will be displayed

  4. At the bottom of the screen press the 'Copy' in the 'Copy Agreement' window (NOTE: The default tick boxes will copy the agreement terms, products and party. If not required then click on the boxes to stop them being copied)

Help Agreement Items List

This screen is used to display a list of items that have been created for an agreement.

Help for Edit Agreement Item

This screen allows specific items to be added to agreement. Currently these are limited to the following:

  • Pricing

  • Commission Rate

  • Sub-Agreement

  • Exhibit

  • Section

How do I create an agreement item?
  1. Press the 'Create Agreement Item' button

  2. The 'Edit Agreement Item' screen is displayed

  3. Select the 'Agreement Item Type Id' from the drop down box

  4. Use the drop down box to select the 'Currency' for the Agreement Item

  5. Enter any 'Agreement Text' if required

  6. Enter path for 'Agreement Image' if required

  7. Press the 'Submit' button

  8. A new sub menu will be displayed containing 'Promotions','Terms','Products','Party' and 'Geo' for additional details that can be setup for the agreement item

How do I edit an agreement item?
  1. Select the agreement item to be updated by clicking on the Agreement Item Id

  2. The 'Edit Agreement Item' screen is displayed How do it?

  3. Update the fields required (NOTE: Additional details can be updated by selecting the Promotions, Terms, Product, Party or Geo sub menus)

The for Agreement Items Parties help screen

This screen is used to display any parties that have been linked to this agreement item.

How do I create a party for an agreement item?
  1. Press the 'New' button

  2. The 'Edit Agreement Item Party' screen is displayed

  3. Manually enter or use the lookup to select the 'Party Id'

  4. Press the 'Submit' button

How do I remove a party for an agreement item?
  1. Press the 'Delete' button for the entry that needs to be deleted.

Help Edit Agreement Item Party

This screen is used to add or update a party linked to an agreement item. This could be useful for storing specific contact names associated with an agreement item.

How do I update a party for an agreement item?

Parties for an agreement item cannot be updated. They can only be added or removed.

Help for Agreements Item Terms

This screen is used to enter or maintain terms that are specific to an agreement item. The terms available are the same as those found under the 'Agreement Terms' tab and any related terms will be displayed both here and under the 'Agreement Items' tab .

How do I create a term for an agreement item?
  1. Press the 'Create Term' button

  2. The 'Edit Agreement Item Term' screen is displayed

  3. Enter the term details required

  4. Press the 'Submit' button

How do I update a term for an agreement item?
  1. Select the term for the agreement item by clicking on the term id

  2. The 'Edit Agreement Item Term' screen is displayed

  3. Update the details required

  4. Press the 'Submit' button

How do I delete a term for an agreement item?
  1. Press the 'Remove' button on the term entry that needs to be deleted.

Help Edit Agreement Item Term

This screen is used to create or update the terms for an agreement item.
For more information about Agreement Term look at [_help_edit_agreement_terms]

Help for Agreement Item Products

This screen is used to link a specific product or products to an agreement. This can be useful for restricting a discount or product pricing to a particular product (or range of products) for a specific customer.

How do I add a product to an agreement item?
  1. Press the 'New Product' button

  2. The 'Edit Agreement Item Product' screen is displayed

  3. Manually enter or use the lookup to select the 'Product Id'

  4. Enter the 'Price' to be associated to the product for this agreement item

  5. Press the 'Submit' button

How do I update a product linked to an agreement item?
  1. Select the product required by clicking on the 'Product Id'

  2. The 'Edit Agreement Item Product' screen is displayed

  3. Update the 'Price' for the product (NOTE: Only product price is available for update)

  4. Press the 'Submit' button

How do I delete a product from an agreement item?
  1. Press the 'Remove' button on the entry that needs to be deleted

Help Edit Agreement Item Product

This screen is used to create or update a product entry for an agreement item.

Help for List Agreement Item Supplier Products

This screen is used to link a specific product (or range of products) to an agreement. This can be useful for restricting a discount or product pricing to a product (or range of products) for a particular supplier.

Note
Products created here will be linked to the product and can be view using Catalog Manager. Entries can be viewed under the Product 'Suppliers' and 'Agreements' tabs.
How do I add a product to an agreement item?
  1. Press the 'New Product' button

  2. The 'Edit Agreement Item Product' screen is displayed

  3. Manually enter or use the lookup to select the 'Product Id'

  4. Enter the 'Available From Date'

  5. Leave the 'Thru Date' blank

  6. Using the drop down box select the 'Supplier Order Pref Id'

  7. Enter the 'Last Price'

  8. Enter 'Supplier Product Id'

  9. Enter any other details as required or leave blank

  10. Press the 'Submit' button

How do I update a product linked to an agreement item?
  1. Select the product required by clicking on the 'Product Id'

  2. The 'Edit Agreement Item Product' screen is displayed

  3. Update the details as required

  4. Press the 'Submit' button

How do I delete a product from an agreement item?
  1. Press the 'Remove' button on the entry that needs to be deleted

Help Edit Agreement Item Supplier Product

This screen is used to create or update a product entry for a supplier agreement item. Any updates made in this screen can also be viewed in Catalog Manager for the product under the product 'Suppliers' and 'Agreements' tabs.

Help for List Agreement Geo

This screen is used to display a list of the geographical locations that are valid for the agreement item.

How do I create a new geographical location for an agreement item?
  1. Press the 'New' button

  2. The 'Edit Agreement Geographical Application' screen is displayed

  3. Use the drop down box to select the 'Geo Id'

  4. Press the 'Submit' button

How do I delete a geographical location for an agreement item?
  1. Press the 'Delete' button for the entry that needs to be deleted

Help Edit Agreement Geo

This screen is used to create a geographical location for an agreement item.

Note
A new entry can be created or removed but not updated.
Help for Agreements Item Promotions

This screen is used to enter or maintain any promotions that are associated with the Agreement Item. This can be useful if you want to limit where a particular promotion is applied. Promotions are setup in Catalog Manager and can be selected here.

How do I add a promotion to an agreement item?
  1. Press the 'Add New Promotion' button

  2. The 'Edit Agreement Promo Applications' screen is displayed

  3. Select the 'Product Promo Id' from the drop down box

  4. Enter the 'From Date'

  5. Enter the 'Thru Date' if required (NOTE:This can be left blank)

  6. Enter the 'Sequence Num' if required

  7. Press the 'Submit' button

How do I edit an existing promotion for an agreement item?
  1. Select the agreement item promotion by clicking on on the promotion id

  2. The 'Edit Agreement Promo Applications' screen is displayed

  3. Update the details required

  4. Press the 'Submit' button

How do I delete a promotion from an agreement item?
  1. Press the 'Remove' button on the entry that needs to be deleted.

Help for Edit Agreements Roles

This screen is used to assign a party roles for an agreement.

How do I add a party role to an agreement?
  1. Use the lookup to select the 'Party Id'

  2. Use the drop down box to select the 'Party Role Id'

  3. Press the 'Add' button (NOTE: If the party does not have this role associated with them then an error will be displayed)

  4. The new entry will be displayed in the lower part of the screen

How do I update a party role for an agreement?

Party roles can only be added and deleted. They cannot be updated.

How do I delete a party role from an agreement?
  1. Press the 'Remove' button for the entry that needs to be deleted.

Help for Edit Agreement Terms

Agreement Terms are the rules that make up the agreement. Agreements may have a one or more terms.

Examples of agreement terms from a sales and purchase viewpoint include the following:

  • Payment due within a certain timeframe (eg 30 days)

  • Discounts for early payment

  • Specifying Late fee penalties

  • Purchasing agreements

  • Specifying commission rates

  • Exclusive Relationship

Note
Agreements can also be specified for Employment, Legal, Non Compete etc.

Agreement terms are configured by linking them to the Invoice Item Type.

Important
The drop down box for 'Invoice Item Type' contains what appears to be duplicates for items such as 'Invoice Fee', 'Invoice Discount', 'Invoice Finished Good Item' etc.
These are NOT duplicates
- one of these entries refers to the Sales Invoice
- and the other refers to the Purchase Invoice.
As the descriptions are exactly the same it is impossible to know which refers to which so needs to be done using trial and error!
How do I add a payment term for 30 days?
  1. Select 'Payment Net Days' from the 'Term Type Id' drop down box

  2. Enter '30' in the 'Term Days' field

  3. Press the 'Submit' button

How do I add a discount term of 2% if paid within 10 days?
  1. Select 'Payment Discounted if paid with Specified Days' from the 'Term Type Id' drop down box

  2. Enter '2' in the 'Term Value' field

  3. Enter '10' in the 'Term Days' field

  4. Press the 'Submit' button

How do I specify pricing in a specific currency only for thiscustomer or supplier?

This is done using the 'Agreement Items' sub menu

How do I delete a payment term?
  1. Locate the payment term required

  2. Press the 'Remove’on the entry that needs to be removed

Help for Agreement Work Effort Applications

This screen is used to link a work effort to the whole agreement or an individual agreement item.

How do I add a work effort to an agreement?
  1. Use the drop down box to select the 'Agreement Item Seq Id'

  2. Use the lookup to select the 'Workeffort Id'

  3. Press the 'Add' button

  4. The new entry is displayed in the lower part of the screen

How do I update a work effort for an agreement?

Work efforts can only be added or deleted. They cannot be updated

How do I delete a work effort from an agreement?
  1. Press the 'Delete' button for the entry that needs to be deleted

Help for Agreement Content

This screen use for uploading any contents that concern the agreement. The screen consists of :

  • Add Agreement Content

  • Agreement Content List

Add Agreement Content

To upload the content. The content can be classified by choosing the Content Type Id and Mime Type Id.

Agreement Content List

To Show the list of contents. There are 2 buttons in each content:

  1. Download : To download the uploaded content

  2. Delete : To delete the uploaded content

4.1.7. 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.

Financial Accounts can be used for the following :

  1. Managing and Tracking Customer Prepaid Accounts

  2. Managing and Tracking Customer Credit Limit (NOTE: Need to verify this)

  3. Managing Electronic Gift Certificates / Gift Vouchers/ Gift Card

  4. Reload of Electronic Gift Card

  5. Company Bank Account Transaction Tracking

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.

Financial Accounts in User Interface
Setup
Note
1) In GL Account Defaults there is a specific tab 'FinAccount Type Gl Account' for specifying which type of Financial accounts are posted to which general ledger account.
2) In GL Account Defaults there is also a tab 'Payment Method Id / GL Account ID' for specifying the account to post transactions to if 'Financial Account' is selected as the Payment Method instead of (Cash, Cheque, Credit Card, etc). By default the demo setup posts transactions to 111100 GENERAL CHECKING ACCOUNT.

You can also setup each financial account to post to a specific general ledger account for each party. This is done via a specific field during the creation or update of a financial account. This will override the default setting by type.

Help for Financial Account GL Account Type

The FinAccount Type GL Account (Financial Account Type / GL Account Type) is used to specify the default account to be used for a specific type of Financial Account.
This setup will translate to one side of the journal entry only.

Important
There is a limitation that only one account can be specified per Financial Account type.
Currently there are 6 types of Financial Account
(Bank, Deposit, Investment, Gift Certificate, Replenish, Service Credit)
so if you have more than one of these type of accounts that you need to track separately then there could be a problem.

This mapping is normally be triggered if something is paid or uses a Financial Account. Using the demo data this mapping is triggered when someone purchases a gift certificate, or pays money into a financial account.

How do I add a new Financial Account Type / GL Account mapping?

By default there are 4 Financial Account Type / GL Type mappings that are configured as part of the OFBiz demo data.

  1. Select the 'FinAccount Type Id' from the drop down list

  2. Select the ' GL Account' to map it to from the drop down list

  3. Press the 'Add' button

  4. The new mapping will be displayed in the list at the bottom of the screen

How do I update a Financial Account Type / GL Account mapping?

A Financial Account Type / GL Account Type mapping can be updated by modifying the GL Account only.
Unlike other screens in this area if the GL Account Type needs to be updated then it can be done by creating a new record with the correct GL Account type which will overwrite the existing record.

  1. Locate the entry that needs to be updated in the list of Financial Account Type / GL Account Type mappings

  2. Modify the 'GL Account 'by using the drop down list next to the GL Account field

  3. Press the 'Update' button

  4. The updated mapping will be displayed

How do I remove a Financial Account Type / GL Account mapping?
  1. Locate the entry that needs to be deleted in the list of Financial Account Type / GL Account Type mappings

  2. Press the 'Remove' button next to the entry

The Financial Account Main screen.

The default screen for Financial Accounts displays a list of any bank accounts that have been created. Details listed include the account the following

  • account name

  • organisation the account is linked to

  • account balances (available and actual)

Help for Find Financial Accounts.

This screen is used to locate existing financial accounts that have been created.

It also includes the option to use the 'Advanced Search' button to display additional fields that can be used to locate a specific financial account.

New Financial Accounts can be created using the 'Create New Financial Account' button.

How do locate an existing Financial Account?

Press the 'Search' button

A list of all existing Financial Accounts will be displayed.

How do I delete an existing Financial Account?

Press the 'Search' button on the Financial Account main screen

A list of all existing Financial Accounts will be displayed

Press the 'Delete' button next to the Financial Account that needs to be deleted.

Help for Edit Financial Account

This screen allows the user to create a new financial account or to edit an existing one.

The 'Financial Account' submenu is the first of four submenus used in the creation or update of a Financial Account. On the creation or update of a Financial Account it is the default screen that is displayed.

It can be used for updating the basic details of a Financial account such as:

  • Type of Account (eg Deposit, Investment, Gift Certificate)

  • Account Status (Active, Frozen, Cancel, etc)

  • Account Name and Code

  • Currency

  • Owner Party ID

  • Default GL Account for Posting

  • Replenishment Level

How do I create a new Financial Account?

Select the 'Create New Financial Account' button from the 'Find Financial Accounts' screen

  1. The 'Create/Update Financial Account' screen is displayed.

  2. Keep the default entry of 'Deposit Account' for the Fin Account Type field

  3. Keep the default entry of 'Active' for the status field

  4. Enter a description (eg ABC Customer Prepaid Account) for the 'Fin Account Name' field

  5. Leave the Fin Account Pin field blank
    (NOTE TO CHECK: I think this is only used in creation of Gift Cards and Certificates..)

  6. Leave the Fin Account Code field blank
    (NOTE TO CHECK: I think this is only used in the creation of Gift Cards and Certificates…​)

  7. The currency field will be the default currency of Company (eg USD). If this account is to be in another currency (eg EUR) then select it from the drop down list.

  8. Set the Organization Party ID field to be 'Company'

  9. Fill in the Owner Party Id field with the party id of the customer who has the Financial Account (eg DemoCustomer or DemoCustCompany)

  10. Fill in the 'Post to Gl Account field' to post the transactions for this financial account to post to a specific GL Account

  11. Select the current date from the calendar to fill in the 'From date' field (NOTE: It can be left blank and still appears to work)

  12. Leave the 'Thru date' field blank
    (NOTE TO CHECK: I think this could be used to close or stop the use of an account ..)

  13. Leave the default of 'Is Refundable' as 'Y'
    (NOTE TO CHECK: I think this will allow money to be refunded to this account - eg if you have a return or credit for the customer)

  14. Leave the 'Replenish Payment ID' blank
    (NOTE TO CHECK: Not sure what this is - maybe to automatically replenish account if it gets to a certain limit???)

  15. Leave the 'Replenish Level' blank
    (NOTE TO CHECK: Not sure what this is but probably linked to Replenish Payment ID where you set the limit - eg $100)

Press the 'Create' button and message appears saying that the account was successfully created

How do I update an existing Financial Account?
  1. Press the 'Search' button on the Financial Account main screen

  2. A list of all existing Financial Accounts will be displayed

  3. The 'Create/Update Financial' screen is displayed

  4. Update the details of the financial account

  5. Press the 'Update' button

Help for Edit Financial Account Authorizations.

An authorization is a temporary transaction showing a commitment to take money from a financial account. It is like a 'transaction in progress' where there can be delay between when you buy something and the time it actually appears on your statement.

Authorizations can be time limit specific meaning that they can be controlled by entering a start and end date so that they are only valid for a certain length of time.
They can also be expired.
When an authorization is expired it removes the commitment from the financial account.
The history of expired authorizations are shown on the financial account.

Note
This could be very useful in ensuring that customers are not overcommitted and keeping within their approved credit limits.
How do I add an authorization?
  1. Enter an amount in the 'Amount' field (Eg 1000)

  2. Leave the 'Currency' field blank as the default currency will be used

  3. Enter a date in the 'Authorisation Date' field

  4. Leave the 'From Date' field blank

  5. Leave the 'Thru Date' field blank

  6. Press the 'Add' button

Note
When you now view the Financial Account detail the 'Actual Balance' and 'Available Balance' fields will be different.
How do I update an authorization?

An authorization cannot be updated. It can only be expired. If you have made a mistake and need to change an authorization then it needs to expired and then re-created correctly.

How do I delete an authorization?

Authorizations are not deleted they are instead expired.
This means that the history of the authorizations will remain on the account as an audit trail.

Example: To expire an authorisation

  1. Select the 'Authorizations' tab for the Financial Account

  2. Any authorizations will be displayed at the bottom of the screen

  3. If the authorization is still current the 'Thru Date' field will be blank
    (NOTE TO CHECK: May not always be true as you can specify a future date for it to expire…​…​!!!)

  4. Select the 'Expire' button next to the authorisation to be expired

The authorization is removed from the financial account and the screen is redisplayed with the 'Thru Date' field completed

Help for Edit Financial Account Roles.

The Financial Account Roles sub menu screen allows you specify a party and link them to a role for a particular financial account.

It can be used to add party roles eg 'Approver' or 'Administrator' for credit limits or updates to the account. If an account belongs to a company then you may want to add a person as a 'Contact' for dealing with the account.

The roles can also be time bound. This means that you can specify a start and end date for the party role.

How do I add a Party Role to a Financial Account?
  1. Select the 'Roles' sub menu for the Financial Account

  2. Fill in the Party Id field by using the field lookup tool or by directly entering the party id (eg flexadmin)

  3. Select the role from the drop down list for the Role Type Id field (eg administrator)

  4. Enter the From Date field

  5. Enter if the Thru Date field (optional)

  6. Press the 'Add' button

Help for Find Financial Account Transactions

A transaction is an entry that is shown on the financial account.

Transactions can be one of the following types:

  • Deposits

  • Withdrawals

  • Adjustments

Transactions are used to show entries and the financial history of the financial account. Similar to a bank account or credit card statement the transaction will show details of what was spent or paid into the account.

Some transaction totals have been added to this screen to help as part of the reconciliation processes. Additional details available include number of transactions, transaction totals and status.

How do I find transactions for a Financial Account?
  • Press the 'Search' button

  • A list of transactions for the financial account will be displayed

Help for Financial Account Transactions List.
How do I add transactions to a financial account?

An example of how to bring in an opening balance is shown below:

  1. Navigate to the the Financial Account Transactions sub menu

  2. Select 'Adjustment' in the Fin Account Trans Type Id field

  3. Leave the 'Party Id' field blank

  4. Fill in the 'Transaction Date' field

  5. Fill in the 'Entry Date' field (NOTE TO CHECK: Need to check exactly what this is - is it the date the transaction is entered or is it the date the transaction is processed?)

  6. Fill in the 'Amount' field with the transaction amount (Eg. In our case this is the opening balance such as 353.88 - dont think we need the $ sign)

  7. Leave the 'Payment Id' field blank

  8. Leave the 'Order Id' field blank

  9. Leave the 'Order Item Seq Id' field blank

  10. Leave the 'Reason Enum Id' field blank (NOTE TO CHECK: This could be useful in identifying transactions to a greater level of detail…​.)

  11. Fill in the 'Comments' field (Eg: Opening Balance from XYZ Statement)

  12. Press the 'Add' button and the transaction will be displayed at the bottom of the screen

Note
When you now view the Financial Account detail the 'Actual Balance' and 'Available Balance' fields will show the entered opening balance (eg 353.88)
Other ways to add transactions to a financial account?
  • By selecting financial account as a payment method for a customer

  • By selecting financial account as a refund method for a customer

Help for Financial Account Deposit / Withdraw

By default this screen will display all payment transactions both incoming and outgoing that have not already been associated with a financial account that represents one of the company’s bank accounts.

This screen also gives the option to create new deposit or withdrawal payments.

The user can select a number of incoming deposit payments (eg Customer Payments etc) and group them together into a payment group (i.e AR Batch of Payments) that will create a 'deposit slip'.

If you select a number of incoming payments and dont group them then no payment group is created (and therefore not deposit slip either) but the individual transactions will be created for the 'bank account' financial account.

Note
Outgoing payments cannot be grouped together and will not create a 'deposit slip'.
How do I list Deposit or Withdrawal Payments not linked to a Bank Account?
  1. Press the 'Find' button on the 'Deposit/Withdraw' screen.

All deposit and withdrawal transactions not associated with a bank 'financial account' will be displayed.

How do I group payments and create a deposit slip?
  1. Press 'Find' to list all Deposit or Withdrawal payments

  2. Use the 'Select All' or click on the check box associated with the transactions required

  3. Enter a name for the Payment Party Group Name (eg XYZ Deposits) to group the transactions together

  4. Press the 'Deposit/Withdraw' button

A deposit will be created that can be viewed under the 'Deposit Slip' tab and grouped transaction will be created under the 'Transactions' tab with a link to the deposit slip breakdown

Help for Financial Account New Deposit Payment

This screen allows the user to create an incoming payment to a financial account that has been linked to the company bank account.

How do I create a New Deposit Payment?
  1. Press the 'Create New Deposit Payment' button

  2. The 'Create New Deposit for Financial Account' screen is displayed

  3. Select the 'Payment Type' from the drop down menu (NOTE: Only incoming transaction payment types are shown)

  4. Select the 'Payment Method Type' from the drop down menu (eg Cash)

  5. Enter or use the lookup to select the 'From Party Id' (eg DemoCustomer)

  6. Enter or use the lookup to select the 'To Party Id' (eg Company)

  7. Enter the date of the deposit in the 'Effective Date' field

  8. Enter the amount in the 'Amount' field for the deposit

  9. If required then tick the box next to 'Deposit Payment in:…​.'
    (NOTE: If this is ticked then the transaction will not be displayed and so will not have a deposit slip associated with it)

  10. Press the 'Create' button

The new transaction will be created.

Note
The default status of the payment will be 'Received'.A new payment transaction will be created and it will be linked to the specified bank account but the status of the transaction will be 'Created'.
How do I view a newly created Deposit Payment transaction?
  1. Go to the 'Transactions' submenu

  2. Press the 'Search' button

  3. The newly created transaction should be displayed in the search results at the bottom of the screen.

Note
If when the transaction was created the 'Deposit Payment in:…​.' was ticked then the transaction will not be displayed on this screen.
It will still show up under the 'Transactions' tab and linked to the bank account.
Help for Financial Account New Withdrawal Payment.

This screen allows the user to create an outgoing payment to a financial account that has been linked to the company bank account.

How do I create a New Withdrawal Payment?
  1. Press the 'Create New Withdrawal Payment' button

  2. The 'Create New Withdrawal for Financial Account' screen is displayed

  3. Select the 'Payment Type' from the drop down menu (NOTE: Only outgoing transaction payment types are shown)

  4. Select the 'Payment Method Type' from the drop down menu (eg Cash)

  5. Enter or use the lookup to select the 'From Party Id' (eg Company)

  6. Enter or use the lookup to select the 'To Party Id' (eg DemoSupplier)

  7. Enter the date of the withdrawal in the 'Effective Date' field

  8. Enter the amount in the 'Amount' field for the withdrawal

  9. If required tick the box next to 'Withdrawal Payment from:…​.'
    (NOTE: If this is ticked then the transaction will not be displayed but it can be found under the 'Transactions' tab for the bank account.)

  10. Press the 'Create' button

The new transaction will be created.

Note
The default status of the payment will be 'Sent'. A new payment transaction will be created and it will be linked to the specified bank account and will have a default status of 'Created'.
How do I view a newly created Withdrawal Payment transaction?
  1. Go to the 'Transactions' submenu

  2. Press the 'Search' button

The newly created transaction should be displayed in the search results at the bottom of the screen.

Note
If when the transaction was created the 'Withdrawal Payment from:…​.' was ticked then the transaction will not be displayed on this screen.
It will still show up under the 'Transactions' tab and linked to the bank account
Help for Find Deposit Slips.

This screen is used to locate payment groups and their associated deposit slips that have been created.
Deposit slips are created by grouping transactions together into a Payment Group.
This can be done using the 'Accounting / Payment Group' tab, the 'Financial Account / Deposit Withdraw' tab or the 'Create New Deposit Slip' button.

Currently Deposit Slips are created for AR Batch Payments only.

The deposit slips are available in PDF format and there is an option to cancel the batch that generated the deposit slip if required.

How do I locate an existing Deposit Slip?
  1. Enter some characters from the 'Payment Group Id' or 'Payment Group Name' if known

  2. Press the 'Search' button

How do I update an existing Deposit Slip?
  1. Locate the Payment Group required

  2. Select the Payment Group by clicking on the Payment Group Id

The 'Edit Payment Group' screen is displayed

Add any new payment deposits or update existing deposits for the Payment Group

All changes in the Payment Group will automatically be updated to the Deposit Slip

How do I delete an existing Deposit Slip?

A deposit slip can not be directly deleted but it is removed when a Payment Group is cancelled

Press the 'Cancel' button next to the Payment Group required to cancel a payment group

The Payment Group is removed from the 'Find Deposits' screen and no deposit slips can be viewed or printed.

Help for Financial Account New Deposit Slip

This screen allows the user to create an Payment Group and the transactions associated with the Payment Group will generate a deposit slip.

How do I create a New Deposit Slip?
  1. Press the 'Find' button to list all the available transactions

  2. Select the transactions to include in the Payment Group by using the 'Select All' or the check box that corresponds to the transactions required

  3. Enter a 'Payment Group Name' if required (If none is entered then by default this will be 'Payment Group Name')

  4. Press the 'Create Batch' button

  5. A button to print the deposit slip will be displayed as well as the edit screen to make any further changes to the Payment Batch

Help for Financial Account Edit Deposit Slip and member

This screen displays the details of a Payment Group and its transactions. The Deposit Slip for the Payment Group can be printed if required and the Payment Group itself can be updated.

Details that can be updated include the name of the Payment Group itself and the addition, removal or update of transactions.

Note
Any changes to the Payment Group will be automatically updated to the Deposit Slip.
How do I update a Deposit Slip?
  1. Select the Payment Group required

  2. Update the 'Payment Group Name' if required

  3. Use the lookup for 'Payment Id' to add new transactions to the Payment Group if required

  4. Use the 'Cancel' button next to a particular transaction to remove it from the Payment Group

  5. Press the 'Update' or 'Add' buttons as required

  6. Press the 'Print Deposit Slip' button

The Deposit Slip will be displayed with the latest details of the transactions for the Payment Group

Help Find Financial Account Reconciliations.

This screen displays the details of any reconciliations in progress for a financial account.
Only reconciliations that have actual transactions associated with them will be displayed.
If a reconciliation group has no transactions assigned to it then it will not be displayed.

Help for Financial Account Bank Reconciliation.

Bank Reconciliation is a regular task where transactions from the company bank statement are matched against transactions that have occurred in the General Ledger. This is done based on a specific date

Note
This can be done daily, weekly but is usually an end of month.

A specific GL account is normally used to represent the company bank account and any accounting transaction that involves the bank account will automatically record and entry in the GL.

The bank reconciliation process ensures that the GL account and the bank statement reconcile to the same amounts.

Differences can occur between the GL and the bank statement for a variety of valid reasons including the following:

  • Payments or Deposits in process (especially cheques)

  • Interest or Bank Charges that are not known in advance but are applied to the bank account

  • Currency or Exchange Rate variations / charges

  • Any outstanding

Note
The differences will occur because of timing differences of when and how transactions are recorded. Examples are as follows:
1) Bank charges are known to the bank first and only once they have applied the charge to the bank account can the company duplicate the transaction in the GL to make the balance reconcile.
2) A customer cheque payment may be recorded in the GL first before it is paid into the bank account
How do I create a Bank Reconciliation?

The bank reconciliation process is made up of 3 steps.

  1. Creating an account reconciliation group

  2. Assigning transactions to the reconciliation

  3. Validating the figures and confirming the reconciliation

How do I create an account reconciliation group for BankReconciliation?
  1. Go to the Financial Account 'Reconciliation' sub menu for the bank account to be reconciled

  2. Press the 'Create New Financial Account Reconciliations' button

  3. Complete the details (eg name, description, organisation and opening balance) required on the 'Add New Financial Account Reconciliations' screen and press the 'Create' button

  4. The new account reconciliation group is created and may be used to assign transactions to

How do I locate transactions that have not been assigned to aBank Reconciliation?
  1. Go to the Financial Account 'Transactions' sub menu of the bank account to be reconciled

  2. The 'Find Transactions For Financial Account: XXXX' is displayed

  3. Use the dropdown box for 'GL Reconciliation Id' field to select 'Not Assigned' and then press the 'Search' button

  4. A list of transactions (deposits, withdrawals or adjustments) that have not been reconciled will be displayed
    (NOTE: If no transactions are displayed then there are no transactions to reconcile)

  5. Click on the 'check box' at the end of the transaction line that corresponds to the entry that needs to be assigned
    (NOTE:More than one transaction can be selected at a time)

  6. Above the 'check box' is the 'Assign to Reconciliation' button and to the left of this is a dropdown box to select the reconciliation that the transaction is to be assigned to.

  7. Using the drop down box select the reconciliation required and press the 'Assign to Reconciliation' button

  8. The transaction is removed from the 'Not Assigned' status and added to the specified reconciliation group

How do I validate and confirm the Bank Reconciliation?

Validation can be done for individual transactions or for the complete account reconciliation group.
The user controls this by the search criteria entered on this screen.

  1. Go to the 'Transactions' sub menu for the bank account and press the 'Bank Reconciliation' button

  2. Select the 'GL Reconciliation Id' that is to be reconciled

  3. Click on the 'Select All' check box on the right hand side of the screen. (NOTE: All transactions in this group will be reconciled)

  4. Press the 'Reconcile' button above the 'Select All' check box

How do I view a Bank Reconciliation?

Once all the transactions in a reconciliation group have been reconciled then the status of the group is changed to 'Reconciled'. This means that no new transactions can be added to the is group and the reconciled balance is fixed.

  1. Go to the 'Reconciliation' sub menu for the bank account

  2. A list of all the bank reconciliation groups are displayed with details of the status (eg Created or Reconciled)

  3. Click on the 'GL Reconciliation Id' of the group and the details are displayed

How do I cancel a Bank Reconciliation?

If a bank reconciliation needs to be cancelled due to a mistake or error then the bank reconciliation can be cancelled as long as it has not been fully reconciled (i.e. the status of the reconciliation has not been changed to 'Reconciled'). This will allow you to start the bank reconcilation again.

  1. Go to the 'Reconciliation' sub menu for the bank account

  2. A list of all the bank reconciliation groups are displayed (NOTE: If no transactions are associated with a reconciliation group then it will not be displayed here)

  3. Click on the 'Cancel' button associated with the 'GL Reconciliation Id' of the group that needs to be cancelled

  4. All transactions will be removed from the reconciliation group and their status will be changed back to 'Not Assigned' so that they can be re-assigned to this or any other reconciliation.

Help for Edit Financial Account Reconciliations

This screen is used to create or update a reconciliation group / bank reconciliation.

The following details can be input or updated for the reconciliation:

  • GL Reconciliation Name or Identifier

  • Description for the reconciliation

  • Organisation Party Id for the reconciliation

  • Opening Balance for the reconciliation

  • Reconciliation date

Help for View Financial Account Reconciliations

This screen gives an overview of a reconciliation group / bank reconciliation.
Note that a reconciliation must have at least one transaction associated with it for this screen to be displayed. It is used as follows:

  • to view transactions associated with a reconciliation group / bank reconciliation

  • to remove transactions from a reconciliation group / bank reconciliation

  • to reconcile the reconciliation group / bank reconciliation

The screen displays the current reconciliation details plus details of the previous reconciliation if one exists. This ensures the closing balance of the previous reconciliation is the same as the opening balance for the current one.

How do I edit reconciliation?
  1. Press the 'Edit' button in the 'Current Bank Reconciliation’part of the screen

  2. The 'Edit Financial Account Reconciliations' screen isdisplayed

  3. Update the details required

  4. Press the 'Update' button

How do I remove a transaction from a bank reconciliation?

On the lower part of the screen a list of all transactions associated with the reconciliation is displayed.

  1. Press the 'Remove' button next to the entry that needs to be removed

  2. The transaction is removed

How do I reconcile a bank reconciliation?
  1. A total of all transactions associated with the reconciliation is shown in the lower part of the screen

  2. Press the 'Reconcile' button next to the total

  3. Each transaction status will be changed to 'Approved' and the reconciliation / bank reconciliation status will be changed to 'Reconciled'
    (NOTE: This means that no new transactions can be added to this reconciliation and it will no longer be available to assign transactions to)

4.1.8. Tax Authorities.

A tax authority is legal body usually the state (country) that imposes a financial levy on business transactions.

In OFBiz tax authorities are used to calculate where business or related taxes are due.

Tax setup is very important as it links into the calculated price that you can charge your customers and also flows through into any related legal documents that are generated (eg Sales Order, Sales Invoice, Purchase Order etc).

Each country or region will have specific rules regarding what should or should not be taxed. There will also be very strict regulations on how taxable transactions should be recorded and tracked in the general ledger or chart of accounts.

Tax authority setup allows configuration of the following :

  • Income tax

  • Value Added Tax (VAT) / Goods and Services Tax (GST)

  • Import / Export tax /Custom and Excise Duty

  • State, City or County taxes

Tax Authorities management in User Interface
Help for Find Tax Authorities

The default screen displays a list of Tax Authorities that have been setup.

Important
You will need to create a party in Party Manager for the tax authority before you can add a new tax authority in the accounting / tax authorities screen.

Steps to create the party to be used for the tax authority are as follows:

  1. Create New Party Group

  2. Fill in basic details (eg name, address etc)

  3. Once the party record is created then add the role of 'Tax Authority' to the party

Only when the tax authority party record is created can you continue.

How do I create a new tax authority?

Press the 'New Tax Authority' button

  1. Select or enter the code for the country, state or region that is applicable for the 'Geo' field

  2. Select or enter the party id of the Tax Authority party that has been created in Party Manager

  3. Leave the 'Require Tax Id for Exemption' field at its default of 'Y'
    (NOTE: This triggers tax not to be charged if a valid Tax Id is found!)

  4. Leave 'Tax Id Format Pattern' blank
    (NOTE: This specifies the format of the Tax Id so that it can be validated)

  5. Fill in the 'Include Tax in the price' - the default is 'N'.
    (NOTE: If prices need to include tax such as GST or VAT in the price then change this to 'Y')

  6. Press the 'Update' button

Note
The above process creates the basic tax authority detail but there are further details that can be added via the other tax authority sub menus
How do I update a tax authority?
  1. Select the 'Edit' button next to the tax authority that you wish to update

  2. The 'Edit Tax Authority' screen is displayed

  3. Update the details of the tax authority as required including any submenus

  4. Press the 'Update' button

How do I delete / remove a tax authority?

Tax authorities cannot be deleted via the Tax Authority screens. If they need to be removed then it can be done via the Webtools and Entity Data maintenance.

Warning
Be very careful removing tax authorities records unless you are completely certain that they have not been already used for transaction calculations.
Help for Edit Tax Authority

The 'Edit Tax Authority' sub menu is the first of six sub menus used in the creation or update of a Tax Authority. On the creation or update of a Tax Authority it is the default screen that is displayed.

It can be used for updating the basic details of a Tax Authority such as:

  1. Changing whether a tax id or code is required for an exemption

  2. Modifying the tax id or code format

  3. Updating where or not to include the tax calculation as part of the product price

Note
An example of the Tax Id is as follows:
\d{2}\-\d{7}|\d{3}\-\d{2}\-\d{4} which translates to 99-9999999 or 999-99-9999
Help for Edit Tax Authority Categories

The Tax Authority Categories sub menu screen allows you link a tax authority to a specific catalog or product category.

It can be used to add product categories to a tax authority. This means that all products in this category will be taxed at the rate specified for the tax authority.

An example of this could be separating products into categories for export to different countries. A separate tax authority will be associated with each category so that the specific tax rate for each of them will be applied.

How do I add a new Tax Authority / Category mapping?
  1. Enter or Lookup the 'Category Id' to be mapped

  2. Press the 'Add' button

  3. The new mapping will be displayed at the bottom of the screen

How do I update a Tax Authority / Category mapping?

A Tax Authority / Category mapping cannot be updated. If it needs to be changed then the entry must be deleted and then re-entered.

How do I remove a Tax Authority / Category mapping?
  1. Locate the entry that needs to be removed

  2. Press the 'Delete' button next to the entry

Help for Edit Tax Authority Associations

An association is a way of specifying how tax authorities can be linked to each other.

It can be used in the situation where the tax structure is hierarchical (eg city tax, plus county tax plus state tax).

Using associations allows tax rates from multiple authorities to be applied to a particular order at once.

How do I add a new association for a Tax Authority?
  1. Enter or use the lookup to find the 'To Tax Auth Geo Id'

  2. Enter of use the lookup to find the 'To Tax Auth Party Id'

  3. Leave the 'From Date' blank (NOTE: It will default to the current date and time)

  4. Leave the 'Thru Date' blank

  5. Select the 'Type' from the dropdown or leave blank

  6. Press the 'Add' button

  7. The new tax authority association is displayed at the bottom of the screen.

How do I update an association for a Tax Authority?
  1. Only two fields are available for update, these are the 'Thru Date' and 'Type'

  2. Enter the changes required

  3. Press the 'Update' button next to the entry updated

How do I remove an association for a Tax Authority?
  1. Press the 'Delete' button next to the entry that needs to be deleted

Help for Edit Tax Authority GL Accounts

The GL Accounts sub menu screen allows you specify which general ledger account any tax calculated for this tax authority will be posted. This is done at at organisation level so the minimum requirement is that 'Company' is setup.

It is used to consolidate taxes for a specific tax authority into one general ledger account. It can be very useful if you need to track taxes for several tax authorities (eg different states or countries).

How do I add a new general ledger account for a Tax Authority?
  1. Enter or use the lookup to select the 'Organisation Party Id'
    (NOTE: Normally this would be 'Company')

  2. Enter or use the lookup to select the 'GL Account'

  3. Press the 'Add' button

Note
The GL account used must have already been created in the Global GL Settings and linked to the chart of accounts for 'Company'
How do I update a general ledger account for a Tax Authority?
  1. The general ledger account can be updated by simply adding a new account to replace the existing entry.

  2. Enter or use the lookup to select the 'Organisation Party Id'
    (NOTE: Normally this would be 'Company')

  3. Enter or use the lookup to select the updated 'GL Account'

  4. Press the 'Add' button

  5. The existing entry will be replaced by the updated GL Account

Note
Be careful when updating a general ledger account because some transactions may have already been posted to the existing account.
How do I delete a general ledger account for a Tax Authority?
  1. Locate the entry required

  2. Press the 'Delete' button next to the entry that needs to be deleted

  3. The entry is removed

Help for Edit Tax Authority Product Rates

This screen allows the setup of tax rates and types. The rates or type can be assigned globally to a store (ie tax will be applied to all products at the same rate) or category (ie limited to products in a specific category).

Other parameters are available to allow the user to limit whether the tax is to be applied to all purchases / sales or only those which are above a certain threshold.

Tax associated with shipping charges or promotions can also be configured here.

How do I add a new product tax rate?
  1. Use the drop down box to select the tax 'Type' (eg Sales Tax)

  2. Use the lookup to select a 'Store Id' (or leave blank for all Stores)

  3. If a category has been setup it will be available for selection in 'Category' field otherwise leave this blank

  4. Leave 'Title Transfer' blank

  5. Enter a value for the 'Minimum Price' for a product where the tax is to be applied
    (NOTE: The Demo Data sets this as zero)

  6. Enter a value for the 'Minimun Purchase' where the tax is to be applied
    (NOTE: The Demo Data sets this as zero)

  7. Use the drop down box to select whether 'Shipping Charges' will be taxable

  8. Enter the tax rate in the 'Tax Percentage' field (eg 12.5)

  9. Use the drop down box to select whether products on 'Promotion' will be taxable

  10. Leave the 'From Date' and 'Thru Date' blank

  11. Enter the name of the tax in the 'Description' field (eg VAT) as this will be displayed and printed on documents when the tax is applied

  12. Press the 'Add' button

How do I update an existing product tax rate
  1. Select the entry that needs to be updated

  2. Make the changes required

  3. Press the 'Update' button next to the entry that needs to be updated

How do I delete a product tax rate?
  1. Press the 'Delete' button next to the entry that needs to be removed

Warning
The deletion of tax rates may cause audit problems particularly if the rate has already been used as part of a transaction.
In this case it would be better to expire the old rate using the 'Thru Date' field and then enter the new rate.
Help for List Tax Authority Parties

This screen list any parties that have been associated with a tax authority and tax rate. To have any tax calculated for Sales Orders or Purchase Orders then an entry must exist for 'Company'.

Entries can also be created, updated or deleted.

How do I add a new Tax Authority Party Info?
  1. Press the 'New Tax Authority Party Info' button

  2. Enter or use the lookup to select the 'Party Id'

  3. Leave the 'From Date' blank
    (NOTE: Default will be current date and time)

  4. Leave the 'Thru Date' blank

  5. Enter the 'Party Tax Id' if required
    (NOTE: This can be VAT or GST number)

  6. Use the drop down box to select whether the party select is 'Tax Exempt'

  7. Use the drop down box to select whether the party selected is 'Nexus' (See note below)

  8. Press the 'Create' button

Note
'Nexus' is a term that refers to an agreement for between the tax authority and potential tax payer that the tax authority can impose the tax. This is usually for Sales Tax.
If you have a Sales Tax that is uniformly applied to a product or range of products then the 'Nexus' field can be set to 'Y'
How do I update a Tax Authority Party Info?
  1. Press the 'Edit' button next to the entry that needs to be amended

  2. Update the fields as required

  3. Press the 'Update' button

How do I delete a Tax Authority Party Info?
  1. Press the 'Delete' button next to the entry that needs to be deleted

Help for Edit Tax Authority Party Info

This screen is used to create or update details for a Tax Authority Party entry.

If a new entry is being created all fields are available to be entered.

If an existing entry is being updated only limited fields are available to be amended.

4.1.9. 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

Note
Some of the configuration specified here can be over-ridden using the 'Organization GL Settings' tab
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)

Help Find Global GL Account

The default screen for the Global GL Settings tab is 'List Accounts'.

It is used to view or edit the details of the general ledger accounts in the global template and there are options to print or export the account details.

How do I view details for an account?
  1. Locate the account required

  2. Click on account id

  3. The account details will be displayed

Help for Navigate GL Accounts

This screen is split into two areas:

  • one for navigating the general ledger accounts in the global template and;

  • the other for adding or editing the details of an account

This screen can also be used as follows:

  • To locate a particular account

  • To view the chart of account structure or hierarchy

  • To update the details of an existing account

  • To add a new account to the chart of accounts template

Note
When adding or creating an account it is important to understand the fields used in the chart of accounts hierarchy.

The following list tries to define these.

  • GL Account Id: A unique identifier used to identify the account. (NOTE: If using the demo data chart of accounts template then keep any new accounts within the same structure)

  • GL Account Type Id: This appears to be a way of translating a business transaction into an accounting transaction
    (NOTE: In 'Organization GL Settings / Setup / GL Account Type Defaults' it is the GL Account Id that is used to specify which GL account that particular type of transaction will post to such as Accounts Payable, Accounts Receivable etc. When a payment is created thne based on the type of payment made such as 'Customer Deposit' then it will translate to a GL Account Type Id which in turn will map to an actual GL Account)

  • GL Account Class Id: This appears to be a classification system and hierarchy for reporting purposes.

  • GL Resource Type Id: This appears to be a way of specifying the type of account possibly for reporting (eg Services, Finished Goods, Labour, etc)

  • GL Xbrl Class Id: This appears to be indicate the which accounting standards are used. Current examples are as US Generally Accepted Accounting Principles (US GAAP) or International Accounting Standards (IAS)

  • Parent GL Account Id: The GL Account of an account that is the next level up in the chart of account hierarchy

  • Account Code: This is the same as the GL Accound Id…​not sure why???

  • Account Name: The name or description of the account

  • Description: A further or long description of the account or the details it will contain

  • Product Id: This may be for specifying that only details for a specific product can be posted to this account
    …​Needs To be verified…​

  • Posted Balance: For the Global Template this cannot be updated and is zero

How do I add a new GL account?
  1. Click on the 'Navigate Accounts' tab

  2. The default display will be to add a new account

  3. Enter the 'GL Account Id' for the new account
    (NOTE:This must be entered)

  4. Enter the 'GL Account Type' for the new account

  5. Enter the 'GL Account Class Id' for the new account

  6. Enter the 'GL Resource Type Id' for the new account

  7. Enter the 'Parent GL Account Id' if required

  8. Enter the 'Account Code' for the new account
    (NOTE: This should be the same as the GL Account Id)

  9. Enter the 'Account Name' for the new account

  10. Press the 'Add' button

How do I update an existing GL account?
  1. Use the 'Navigate Accounts' window to find the account required

  2. Click on the Account Id and the details will be displayed in the lower part of the screen

  3. Update the details required

  4. Press the 'Update' button

Help for Assign GL Account

The chart of accounts for the default organisation is built up by selecting or 'assigning' accounts that you want to use from the global chart of accounts master template.
This means that if you want to create a new account then it needs to be created in the global chart of accounts before it can be assigned to be used.

How do I assign a GL account?
  1. Click on the 'Assign GL Account' tab

  2. Use the drop down box to select the 'GL Account Id' to required

  3. Use the drop down box to select the 'Party Id' to assign the GL Account to
    (NOTE: Only parties that have been setup under 'Organization GL Settings' will be displayed)

  4. Press the 'Create Assignment' button

Note
All assignments for a party can be viewed under 'Organization GL Settings / Setup / Chart of Accounts' for the party required.
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

Costs

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

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.

Help for View Foreign Exchange Rates

OFBiz currently allows you to input to 3 different rates for the same currency using the 'Purpose' field. With this you can specify whether the conversion is to be used internally, externally or leave the field blank. Also the start and end date for a conversion can be specified beforehand.

How do I add a new foreign exchange rate?

To add a new rate for US Dollars (USD) to Euro (EUR)

  • Using the drop down box on the 'From Currency' field, select 'American Dollar - USD'

  • Using the drop down box on the 'To Currency' field, select 'Euro - EUR'

  • The 'Purpose' field can be left blank or you can select 'Internal Conversion' or 'External Conversion' from the drop down list

  • Enter the exchange rate in the 'Rate' field (eg 0.72883)

  • Enter the 'From Date' (NOTE: If left blank then will default to the current date and time)

  • Leave the 'Thru Date' blank

  • Click the 'Update Foreign Currency Rates' button

  • The new foreign exchange rate will be displayed

How do I update an existing foreign exchange rate?
Note
Existing foreign exchange rates cannot be updated - instead the existing rate is expired and a new rate is created.

Currently up to 3 different exchange rates can be created by using the 'Purpose' field to distinguish them.

How do I delete a foreign exchange rate?

Foreign exchange rates cannot be deleted. Existing rates can be expired by entering a new exchange rate for the same currency and purpose.

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.

4.1.10. Organization GL Settings.

Help for setting by domain
Help for Available Internal Organizations

The default screen shows a list of Party Groups that have the role of 'Internal Organization' associated with them.

If you have installed the demo data then the default company 'Company' as well as departments / business units and regional subsidiaries will be displayed.

For each 'Internal Organization' there is the ability to set the currency, fiscal periods and invoice prefixes.

Help for Accounting Preferences

Accounting Preferences are a set of configuration details that are related to a party. To appear on this screen the party must be setup with the role of 'Internal Organisation'. This means that you can add the internal organisation role to a party and they will be added to this screen and then can be configured.

The master default party is 'Company' but preferences can also be setup for internal departments. The demo data shows some examples of this (eg Marketing, Accounting, Sales, Development etc). Unless overridden then then all other parties appearing on this screen will take their default setup from 'Company'

Note
The majority of the configuration information displayed in Accounting Preferences are taken from the Enumeration entity.

It is used for setting specifying information related to the accounting setup for a specific organisation or parties that exist within an organisation such as business units, cost centres, departments ,subsidiaries etc.

Information that can be setup include the following:

  • The start date of the Time Periods and Fiscal or Accounting Year (eg 1st April, 1st January, 1st June etc)

  • Tax Return Form
    (NOTE: Need TO CHECK how important this is and where it is used…​…​.possibly some kind of reporting???)

  • The method to be used for calculating Cost of Goods Sold (COGS)

  • Base Currency - eg USD, GBP, EUR etc
    (NOTE: May have main company in USD but a subsidiary in EUR etc)

  • Invoice prefix, numbering and sequencing (eg you may want each business unit / subsidiary to have its own invoice numbering or sequence etc)

  • Quote prefix, number and sequencing

  • Method to be used for refunds (eg cheque, direct bank credit, voucher credit etc…​)

  • Specify which journal will be used to store error transactions

Note
Key things that are usually need to be amended include the base currency for the company, fiscal year information and invoice numbering prefix or sequencing.
How do I create or setup a new Accounting Preference?
Important
A party must be setup with the role of 'Internal Organisation' before it will appear on the Accounting Preferences screen so that it can be setup.
  1. Select the 'Setup' button next to the party to be setup

  2. The Accounting Preferences screen is displayed.
    (IMPORTANT: The first time this screen is displayed all of the fields will be modifiable. Once this has been saved only certain fields will be modifiable!!)

  3. The default entries will be based on (or inherited from) 'Company'

  4. Enter any changes that are required (eg Invoice Prefix, Error Journal name; as you may want error transactions from separate departments to be handled differently…​)

  5. Press the 'Add' button

How do I update an Accounting Preference?
  1. Select the 'Setup' button next to the party to be setup

  2. The Accounting Preferences screen is displayed but only certain fields will be modifiable

  3. Enter any changes required

  4. Press the 'Update' button

Note
If you need to change any of the fields that are not modifiable then it can be done via the Entity Data Maintenance on Webtools menu using the PartyAcctgPreference entity.
You will need to be careful in editing an existing preference especially if the configuration already been used for transactions.
How to I delete an Accounting Preference?

There is currently no delete option via the user interface but an Accounting Preference can be removed by deleting the role of 'Internal Organisation' from the party record.

Note
TO CHECK: Need to investigate the impact of using an accounting preference then removing it.
What happens to the transactions in process etc…​…​???
Help for Chart of Accounts

OFBiz comes with a master template for a very comprehensive chart of accounts. This can be found in 'Global GL Defaults' under the 'Accounting' tab.

A couple of points to note

  • you do not need to use all the accounts defined in this master template (but it may be simpler to look for the accounts that you can use or rename)

  • you can create your own additional accounts if you dont want to use the ones in the master template

The chart of accounts for the default organisation (Company) is built up by selecting the accounts that you want to use from the global chart of accounts master template.

This means that if you want to create a new account then you need to create it first in the Global Chart of Accounts and then link (or assign) it to the chart of accounts for Company.

Details of the Chart of Accounts can be exported as a CSV file or PDF using the buttons displayed.

Important
You need to be careful if you do decide to create your own accounts that they contain all the details required and that they are linked into the relevant configuation for the setup of the GL defaults.
This means that if you change an account (eg Inventory) to one of your own, you need to check the GL defaults setup and replace any reference to the Inventory account to the one you have created.

This Chart of Accounts screen is used to define the list of accounts (or chart) that will be actively used by the company. For example the Global chart of accounts may contain 100 different accounts but only 20 need to be used for your specific business. This means you need only to create assignments to the accounts that you actively want to use.

The Chart of Accounts is a mixture of business needs (ie being able to track the information you need for your business) and tax requirements (i.e. legal or government requirements necessary for operating a business). The type of Chart that you setup will be dependent of your business type.

How do I create a Chart of Accounts?

As mentioned above the chart of accounts for the default organisation (Company) is built up by selecting the accounts that you want to use from the global chart of accounts master template.
This means that if you want to create a new account then you need to create it first in the Global Chart of Accounts and then link (or assign) it to the chart of accounts for Company.

By creating an assignment to an account it is then added to the Chart of Accounts.

  1. Select the account Gl Account Id that you need from the drop down box

  2. Press the 'Create Assignment' button

  3. The account is added to the Chart of Account

How do I update a Chart of Accounts?

Updating the Chart of Accounts will involve either creating a new assignment or removing an existing one.
A new assignment is created using the instructions above.

The added complication may be that the account that you need does not exist in the Global Chart of Accounts. As mentioned above it will need to be created and then linked.

See the instructions below to remove an existing account assignment.

Note
If a completely new account is required that does not already exist as part of the Global Chart of Accounts template then it will need to be created as part of the Global template first before it can be used as an assignment in the Organisation Chart of Accounts.
How do I delete a Chart of Accounts?

Accounts are not deleted from the Chart of Accounts - they are simply no longer selected to be used.

It is important that you do not remove accounts that are active and have already been used for transactions. Even if the net balance of the account is zero then from an audit perspective then you should not be removing accounts.

You should only be looking to remove accounts that have not been used. To un-link or un-assign accounts from the default company then use the Entity Data Maintenance from the Webtools menu. Look for the entity 'GlAccountOrganization' and delete the record to remove the link.

How do I update the details for an account in the Chart ofAccounts?

Details of the accounts that make up the Chart of Accounts can be accessed from this screen.

  1. Click on the 'GL Account Id' of the account required

  2. The 'Edit GL Account' screen is displayed showing the details of the account selected
    (NOTE:This screen is also accessible via 'Global GL Settings / Chart of Account / Navigate Accounts '

  3. Amend the fields required
    (NOTE: The GL Account Id and Posted Balance fields cannot be amended)

  4. Press the 'Update' button

Help for Journals

A journal is a detailed accounting transaction that is recorded (or posted) to the General Ledger. It is made up of a debit and a credit component.

Note
TO CHECK: Is this screen really about Journals or is it about Suspense Accounts…​..??????)
Note
By default in OFBIZ a journal called 'ERROR_JOURNAL' is created as part of the demo data installation.
This 'ERROR_JOURNAL' is referenced in the Accounting Preferences setup for 'Company'.
The 'ERROR_JOURNAL' is used to store details of any transaction that fails and cannot be posted to a general ledger account.
Transactions falling into error can be as the result of incomplete setup or an invalid transaction (eg a transaction that should never occur).
How do I create a journal?
  1. Enter a journal name in the Gl Journal Name field (eg MY_JOURNAL)

  2. Press the 'Submit' button

  3. The journal is created and will appear in the journal list at the bottom of the screen
    (Note that the Journal ID is automatically generated)

How do I update a journal?
  1. Select the journal to be updated from the list of journals at the bottom of the screen

  2. The journal details will be displayed on the screen

  3. Update the Gl Journal Name (as this is currently the only field that can be updated)

  4. Press the 'Submit' button

  5. The updated journal will appear in the journal list at the bottom of the screen

How do I delete a journal?

Be careful if you need to remove an existing journal as it may have transactions associated with it.

  1. Press the 'Remove' button next to the journal that you want to delete

  2. The journal is deleted and the screen is redisplayed

Help for GL Account Type Defaults

The GL Account Defaults screens are are method to setup rules that are used to translate business transactions into accounting transactions. It currently is made up of 12 sub menus that can be used to map various transaction type codes to a specific general ledger account

Accounting transactions are made up of a Debit Entry and a Credit Entry. The GL Account defaults screens help map which accounts are to be used to generate a each part of the transaction. This means that certain mappings will be used to generate the Debit (or DR) entry part of the transaction and others used to generate the Credit (or CR) entry part of the transaction.

Note
Many of the accounting transactions are generated 'automatically' (or in the background) using the the accounting services SECAS / EECAS.

The GL Account Type is used to specify the default account that certain transactions (eg Accounts Payable, Accounts Receivable, etc) are posted to.

An accounting transaction (or journal entry) is made up of two parts - a Debit Entry and a Credit Entry that balance each other. The GL Account Type is used to translate one side of the journal entry.

GL Account Types are stored in Entity GLAccountType which can be viewed via Entity Data Maintenance in the Webtools menu. There are currently 57 different GL Account Types that are part of the OFBiz demo data but only 19 of these are setup as mappings

How the GL Account Type is used is best shown by an example.

A very simple description of an online Sales Order Process could be as follows:

  1. Customer Orders a Product (and Creates a Sales Order)

  2. Customer Pays for Product (via Credit Card, Internet Banking etc)

  3. Vendor confirms Payment and Dispatches the Product to the Customer

Let’s focus on the first part step of 3 in more detail.

  • The vendor has checked their bank statement and seen that the customer has paid

  • In OFBiz Order Manager they will then look up the relevant Sales Order and then click the 'Receive Payment' button to log the payment in the system

  • The 'Receive Payment' button is a trigger for an 'automatic' accounting transaction

  • The transaction type that is triggered is called 'Incoming Payment'

  • The accounting entries generated are: DR 112000 Undeposited Funds , CR 120000 Accounts Receivable

The CR (or Credit) entry for the transaction is created by the GL Acccount Type mapping for 'Accounts Receivable' (which by using the demo data default will go the 120000 Accounts Receivable)

The DR (or Debit) entry for the transaction is created by a different GL Account default, the Payment Method Id / GL Account Id mapping (eg Cash is setup as 112000 Undeposited Receipts)

How do I create a new GL Account Type default mapping?

There are currently 57 different GL Account Types that come as part of the demo data with OFBiz. This should be enough to manage the vast majority of business transactions.

These instructions show how to add a mapping using the default data

  1. Select the 'GL Account Type Id' from the drop down list

  2. Select the 'GL Account' to map it to from the drop down list

  3. Press the 'Save' button

  4. The new GL Account Type mapping is displayed in the list at the bottom of the screen

Note
If none of the demo data GL Account Types are sufficient then new ones can be added using Entity Data Maintenance and the entity 'GLAccountType' in the Webtools menu.
How do I update a GL Account Type default mapping?

A GL Account Type mapping cannot be updated directly but needs to be removed then re-created. If you try to update an existing entry you will get an 'duplicate key' error message.

  1. Press the 'Remove' button next to the entry that you want to update

  2. The entry is removed from the list of entries displayed

  3. Select the 'GL Account Type Id' from the drop down list

  4. Select the updated 'GL Account' to map it to from the drop down list

  5. Press the 'Save' button

  6. The new GL Account mapping is displayed in the list at the bottom of the screen

How do I delete a GL Account Type default mapping?
  1. Press the 'Remove' button next to the entry that you want to delete

  2. The entry is removed from the list of entries displayed

Help for Product GL Account

The Product GL Account is used to specify the default account to be used for a specific Product' and 'Account Type' combination. This setup will translate to one side of the journal entry only.

Note
Duplicate functionality …​. This setup for the Product GL Account can also be setup using the 'Accounts' sub menu for the Product in Catalog Manager.
TO CHECK: Need to confirm whether this default work like a hierarchy…​.eg Product GL Defaults will override General Account defaults.

It is used for tracking product transactions at a more detailed level.

Examples could be as follows:

  • Tracking Accounts Receivable by Product in the General Ledger

  • Tracking Cost of Goods by product (or product variation) in the General Ledger

  • Tracking Commissions paid by Product in the General Ledger

How do I add a new Product / GL Account Type mapping?

By default there are no Product / GL Account Type mappings that are configured as part of the OFBiz demo data.

  1. Select the 'Account Type' from the drop down list
    (NOTE: In other screens this field is call the 'GL Account Type Id'…​..)

  2. Select the ' GL Account' to map it to from the drop down list

  3. Enter or look up the 'Product Id' to be used

  4. Press the 'Add' button

  5. The new mapping will be displayed in the list at the bottom of the screen

Note
This mapping can also be also be done via the 'Accounts' sub menu for the Product.
Any mapping created here will be displayed under the Product 'Accounts' sub menu. Alternatively any mapping created in the Product 'Accounts' sub menu will also be displayed here.
How do I update a Product / GL Account Type mapping?

A Product / GL Account Type mapping can be updated by modifying the GL Account only. If the product needs to be updated then the mapping will need to be deleted and then re-entered using the new product.

  1. Locate the entry that needs to be updated in the list of Product / GL Account Type mappings

  2. Modify the 'GL Account 'by using the drop down list next to the 'GL Account' field

  3. Press the 'Update' button

  4. The updated mapping will be displayed

How do I delete a Product / GL Account Type mapping?
  1. Locate the entry that needs to be deleted in the list of Product / GL Account Type mappings

  2. Press the 'Remove' button next to the entry

Note
This can also be done via the 'Accounts' sub menu for the Product using the 'Delete Link' button.
Help for Product Category GL Accounts

The Product Category GL Account is used to specify the default account to be used for a specific 'Product Category' and 'Account Type' combination. This setup will translate to one side of the journal entry only.

It is used for tracking product category transactions at a more detailed level.

Examples could be as follows:

  • Tracking Accounts Receivable by Product Category in the General Ledger

  • Tracking Cost of Goods by Product Category in the General Ledger

  • Tracking Commissions paid by Product Category in the General Ledger

The demo data gives an idea of the use of product categories to classify or separate different products streams. If specific accounting or management reporting is required at this level then the General Ledger can be setup to provide this detail.

How do I add a new Product Category / GL Account Type mapping?

By default there are no Product Category / GL Account Type mappings that are configured as part of the OFBiz demo data.

  1. Select the 'Account Type' from the drop down list
    (NOTE: In other screens this field is call the 'GL Account Type Id'…​..)

  2. Select the ' GL Account' to map it to from the drop down list

  3. Enter or look up the 'Product Category Id' to be used

  4. Press the 'Add' button

  5. The new mapping will be displayed in the list at the bottom of the screen

How do I update a Product Category / GL Account type mapping?

A Product Category / GL Account Type mapping can be updated by modifying the GL Account only. If the product category or the Account Type needs to be updated then the mapping will need to be deleted and then re-entered using the new product category or Account Type.

  1. Locate the entry that needs to be updated in the list of Product Category / GL Account Type mappings

  2. Modify the 'GL Account 'by using the drop down list next to the 'GL Account' field

  3. Press the 'Update' button

  4. The updated mapping will be displayed

How do I remove a Product Category / GL Account Type mapping?
  1. Locate the entry that needs to be deleted in the list of Product Category / GL Account Type mappings

  2. Press the 'Remove' button next to the entry

Help for Financial Account GL Account Type

The FinAccount Type GL Account (Financial Account Type / GL Account Type) is used to specify the default account to be used for a specific type of Financial Account.
This setup will translate to one side of the journal entry only.

Important
There is a limitation that only one account can be specified per Financial Account type.
Currently there are 6 types of Financial Account
(Bank, Deposit, Investment, Gift Certificate, Replenish, Service Credit)
so if you have more than one of these type of accounts that you need to track separately then there could be a problem.

This mapping is normally be triggered if something is paid or uses a Financial Account. Using the demo data this mapping is triggered when someone purchases a gift certificate, or pays money into a financial account.

How do I add a new Financial Account Type / GL Account mapping?

By default there are 4 Financial Account Type / GL Type mappings that are configured as part of the OFBiz demo data.

  1. Select the 'FinAccount Type Id' from the drop down list

  2. Select the ' GL Account' to map it to from the drop down list

  3. Press the 'Add' button

  4. The new mapping will be displayed in the list at the bottom of the screen

How do I update a Financial Account Type / GL Account mapping?

A Financial Account Type / GL Account Type mapping can be updated by modifying the GL Account only.
Unlike other screens in this area if the GL Account Type needs to be updated then it can be done by creating a new record with the correct GL Account type which will overwrite the existing record.

  1. Locate the entry that needs to be updated in the list of Financial Account Type / GL Account Type mappings

  2. Modify the 'GL Account 'by using the drop down list next to the GL Account field

  3. Press the 'Update' button

  4. The updated mapping will be displayed

How do I remove a Financial Account Type / GL Account mapping?
  1. Locate the entry that needs to be deleted in the list of Financial Account Type / GL Account Type mappings

  2. Press the 'Remove' button next to the entry

Help for Sales Invoice default account

The Sales Invoice sub menu is used to specify the default account to be used for the individual line items that appear on a Sales Invoice.

The items are identified by a line description which can be mapped to a specific general ledger account.

Sales invoices can be made up of a variety of items as well as the product that is being sold (eg discounts, promotions, work effort or labour costs etc). The majority of businesses will want to track these type of items separately in the general ledger and this screen will allow this type of setup.

This setup will translate to one side of the journal entry only.

A key mapping used is linked directly to the Product Type (eg Invoice Digital Good Item, Invoice Finished Good Item, Invoice Finished/Digital Good Item…​.). This controls where the sales revenue received from the sale of the product is stored in the general ledger

Only a limited number of general ledger accounts that are available to be mapped. Currently this is 7 and limited to the accounts that have been assigned to the organisation from the Global Chart of Accounts that have a 'GL Account Class Id' = 'Revenue'
(NOTE: You will see that Discounts on Sales is not available to be selected because it’s GL Account Class Id = 'Cost of Goods Sold Expense'. It appears as a default because it is setup in the Global GL settings that doesnt seem to have any limitations of the account.)

Important
This screen is one of the screens where the default entries that are displayed here are entered via the Global GL Settings under the sub menu 'Invoice Item Type'.
This screen allows users to override the global settings for the Sales Invoice item type.
An example of why this could be necessary could be that a company many want to isolate the sales reporting of a specific department or business unit separately (eg subledgers etc) but still have the option of a 'catch all' global general ledger account.

If an override account is added it will appear in the Override GL Account column on the screen.

The only mapping that seems a bit out of place here is Sales Tax. It is blank because Sales Tax is setup using Tax Authorities so dont know why you would want to override the Sales Tax account to a Sales Revenue Account.

Note
Also need to highlight that in the Global Settings it uses the ENUM description to select the item and there are duplicate descriptions between the Sales Invoice and the Purchase Invoice.
Not too much of a problem here but it does cause problems in Agreements when setting up things like Commissions based on line items as you cant tell the difference between the description of a Sales Invoice item called 'Invoice Adjustment' and a Purchase Invoice item called 'Invoice Adjustment' …​.. except by trial and error

How the Sales Invoice mappings are used is best shown by an example.

A very simple description of an online Sales Order Process could be as follows:

  1. Customer Orders a Product (and Creates a Sales Order)

  2. Customer Pays for Product (via Credit Card, Internet Banking etc)

  3. Vendor confirms Payment and Dispatches the Product to the Customer

Let’s focus on the second part step of 3 in more detail.

  • The vendor has verified that the customer payment has been received

  • In OFBiz Order Manager they will then look up the relevant Sales Order and then click the 'Quick Ship Entire Order' button to log the dispatch of the order in the system

  • The 'Quick Ship Entire Order' button is a trigger for an 'automatic' accounting transaction

  • The transaction type that is triggered is called 'Sales Invoice'

Transaction Type: Sales Invoice DR 120000 Accounts Receivable, DR 410000 Discounts on Sales, DR 400000 Sales, CR 22????? Sales Tax Collected

DR Sales is used for item promotions where product cost is simply reversed.
Only order promotions are coded to Discounts.
The Sales Tax account will be dependent on your sales tax setup.
The demo data posts to tax accounts by US state.

One of the CR (or Credit) entries for the Sales Invoice transaction is created using the Sales mapping defined here in the Sales Invoice (and the other is created another GL Account default for 'Tax Authority GL Accounts')

All of the the DR (or Debit) entries for the Sales Invoice transaction (except for Accounts Receivable which is comes from the GL Account Type defaults) are created using the mappings defined here in the Sales Invoice

How do I add a Sales Invoice override mapping?

By default there are no Sales Invoice override mappings that are configured as part of the OFBiz demo data.

  1. Select the 'Invoice Item Type' from the drop down list

  2. Select the ' Override Revenue GL Account Id' to map it to from the drop down list

  3. Press the 'Save' button

  4. The new mapping will be displayed in the 'Override GL Account' column in the list at the bottom of the screen

How do I update a Sales Invoice override mapping?

An existing Sales Invoice override mapping cannot be updated but needs to be removed and a new mapping added. If you try to add an override to an item that already has an override you will get a duplicate record error message.

How do I remove a Sales Invoice override mapping?
Note
Only the override mapping can be deleted. The default mapping record cannot be deleted here (even though the Remove button is displayed next to it!)
  1. Locate the entry that needs the override deleted in the list of Sales Invoice override mappings

  2. Press the 'Remove' button next to the entry

  3. he override mapping will be removed from the 'Override GL Account' column of the entry

Help for Purchase Invoice default account

The Purchase Invoice sub menu is used to specify the default account to be used for the individual line items that appear on a Purchase Invoice.

The items are identified by a line description which can be mapped to a specific general ledger account.

Purchase invoices can be made up of a variety of items as well as the product that is being bought (eg discounts, promotions, work effort or labour costs etc). The majority of businesses will want to track these type of items separately in the general ledger and this screen will allow this type of setup.

This setup will translate to one side of the journal entry only.

Important
This screen is one of the screens where the default entries that are displayed here are entered via the Global GL Settings under the sub menu 'Invoice Item Type'. This screen allows users to override the global settings for the Purchase Invoice item type.
An example of why this could be necessary could be that a company many want to isolate the sales reporting of a specific department or business unit separately (eg subledgers etc) but still have the option of a 'catch all' global general ledger account.
Important
TO CHECK: Need to do more investigation but the it looks like these Purchase Invoice mappings dont work when used as part of the Purchase Order to Purchase Invoice Process. (Have been doing some tests to try and get it to post to a different account than 'Uninvoiced Shipment Receipts' and 'Inventory' but hasnt worked so far.) We need to be able to specify things such as Sales Tax, Freight and any Purchase Order adjustments.

These override mappings do work if there is no Purchase Order just a Purchase Invoice as shown in the simple process below.

How the Purchase Invoice mappings are used is best shown by an example.

A very simple description of a Purchase Invoice Process could be as follows:

  1. You have ordered something from a supplier (eg indirect purchasing such as stationery etc via phone)

  2. The Supplier ships the products to you
    (NOTE: as they are not stored in the Warehouse but in your offices - so dont need an Inventory Receive…​..????)

  3. You receive the product and an invoice from the Supplier (Purchase Invoice)

  4. You enter the Purchase Invoice pay the Supplier the amount invoiced

Let’s focus on step of 4 in more detail.

  • You have received the product from the supplier with an invoice

  • In OFBiz you enter the Purchase Invoice using 'Create New' in the 'Invoices' menu of Accounting Manager

  • Using the 'Items' sub menu you can create individual items on the Purchase Invoice (eg Paper, Pens, Sales Tax etc and they dont need to have a Product Id associated with them)

  • When you add a new invoice item to the Purchase Invoice it is the 'Invoice Item Type' that is affected by the Purchase Invoice override mappings

  • The Purchase Invoice can then be moved to various statuses (Approved, Received, Ready or Cancelled)

  • When the status is moved to 'Ready' this is a trigger for an 'automatic' accounting transaction

  • The transaction type generated is called 'Purchase Invoice' and it uses the Purchase Invoice override mappings

Transaction Type: Purchase Invoice, DR 516100 Purchase Order Adjustments , DR ????? Sales Tax, CR 210000 Accounts Payable

How do I add a new Purchase Invoice override mapping?

By default there are no Purchase Invoice override mappings that are configured as part of the OFBiz demo data.

  1. Select the 'Invoice Purchase Item Type' from the drop down list

  2. Select the ' Invoice Override Expense GL Account Id' to map it to from the drop down list

  3. Press the 'Save' button

  4. The new mapping will be displayed in the 'Invoice Override Expense GL Account' column in the list at the bottom of the screen

How do I update a Purchase Invoice override mapping?

An existing Purchase Invoice override mapping cannot be updated but needs to be removed and a new mapping added. If you try to add an override to an item that already has an override you will get a duplicate record error message.

How do I remove a Purchase Invoice override mapping?
Note
Only the override mapping can be deleted. The default mapping record cannot be deleted here (even though the Remove button is displayed next to it!)
  1. Locate the entry that needs the override deleted in the list of Purchase Invoice override mappings

  2. Press the 'Remove' button next to the entry

  3. The override mapping will be removed from the 'Invoice Override Expense GL Account' column of the entry

Help for Payment Type GL Account Type

The Payment Type GL Account Type Id is used to translate (or map) the different payment types to a specific GL Account Type Id. The GL Account Type Id is then used via the 'GL Account Type Id' defaults to translate to one side of a journal entry.

Note
This GL Account default is used to link to another one of the GL Account defaults.

A Payment Type is just a way to categorize transactions.

Examples of Payment Types could be as follows:

  • Commission Payments

  • Customer Payments

  • Vendor (or Supplier) Payments

  • Customer Refunds

  • Customer Prepayments or Deposits

These payment types can then be mapped to the required account type in the Chart of Account.

Examples of these type of mappings could be as follows:

  • Customer Payments are mapped to Account Receivable

  • Vendor (or Supplier) Payment are mapped to Account Payable

  • Customer Refunds are mapped to Customer Credits

How do I add a Payment Type / GL Account Type Id mapping?

There are currently 14 different Payment Type / GL Account Types mappings that come as part of the demo data with OFBiz and should cover a good variety of payment related transactions.

  1. Select the 'Payment Type Id' from the drop down list

  2. Select the 'GL Account Type Id' to map it to from the drop down list

  3. Press the 'Save' button

  4. The new 'Payment Type / GL Account Type' mapping is displayed in the list at the bottom of the screen

How do I update a Payment Type / GL Account Type Id mapping?

A Payment Type / GL Account Type mapping cannot be updated directly but needs to be removed then re-created. If you try to update an existing entry you will get an 'duplicate key' error message.

  1. Press the 'Remove' button next to the entry that you want to update

  2. The entry is removed from the list of entries displayed

  3. Select the 'Payment Type Id' from the drop down list

  4. Select the updated 'GL Account Type Id' to map it to from the drop down list

  5. Press the 'Save' button

  6. The new 'Payment Type / GL Account Type' mapping is displayed in the list at the bottom of the screen

How do I remove a Payment Type / GL Account Type Id mapping?
  1. Press the 'Remove' button next to the entry that you want to delete

  2. The entry is removed from the list of entries displayed

Help for Payment Method GL Account Type

The Payment Method GL Account Type Id is used to map the different payment methods (eg Cash, Cheque etc) to a specific GL Account Type Id. This will translate to one side of a GL entry only.

A Payment Method is just a way to define the ways in which payments can be made.
Each payment method can be linked to a different account in the general ledger.
A main GL account used would be the one that represents the Company bank account.
In the demo data mappings Electronic Funds Transfer, Company Account, Financial Account are all linked to the Company bank account GL account.

OFBiz demo data defines 15 different payment methods as follows:

  • Cash

  • Certified Cheque

  • Company Account

  • Company Cheque

  • Electronic Funds Transfer
    (NOTE TO CHECK: Problem with definition or terminology - is this a Direct Debit…​. ?? A direct debit is controlled by the payee and an automatic payment via bank account is controlled by the payer)

  • Billing Account

  • Cash on Delivery (COD)

  • eBay

  • Offline Payment
    (NOTE: Is this ambiguous - since COD is an offline payment…​)

  • PayPal

  • WorldPay

  • Financial Account

  • Gift Certificate

  • Money Order

  • Personal Cheque

Note
A point to note is that these payment methods dont include Credit Cards…​.(which I think is on purpose…​). The majority of these payment methods are linked to 'Undeposited Receipts' but an additional accounting transaction may be needed once the funds have cleared and are available in the Company bank account.
How do I add a new Payment Method Id / GL Account Id mapping?
  1. Select the 'Payment Method Type' from the drop down list

  2. Select the 'GL Account Id' to map it to from the drop down list

  3. Press the 'Save' button

  4. The new Payment Method Type / GL Account Type mapping is displayed in the list at the bottom of the screen

How do I update a Payment Method Id / GL Account Id mapping?

A Payment Method Type / GL Account Type mapping cannot be updated directly but needs to be removed then re-created. If you try to update an existing entry you will get an 'duplicate key' error message

  1. Press the 'Remove' button next to the entry that you want to update

  2. The entry is removed from the list of entries displayed

  3. Select the 'Payment Method Type' from the drop down list

  4. Select the updated 'GL Account Type' to map it to from the drop down list

  5. Press the 'Save' button

  6. The new Payment Method Type / GL Account Type mapping is displayed in the list at the bottom of the screen

How do I remove a Payment Method Id / Gl Account Id mapping?
  1. Press the 'Remove' button next to the entry that you want to delete

  2. The entry is removed from the list of entries displayed

Help for Variance Reason GL Accounts

The Variance Reason / GL Account default is used for mapping any stock differences to a particular general ledger account. If there are variances in the number of products that are in stock then this affects the value of inventory in the general ledger. By using this GL default you can offset any differences in stock to the relevant general ledger account.

The number of products (or items) in stock can vary.
These differences can be caused by numerous reasons.
Some of these could be as follows:

  • Products have been damaged

  • Products were lost or stolen

  • Products were found

  • Under or over supply of a Product from a Supplier (eg. You have ordered 10 and 11 are delivered…​.)

  • Free samples or giveaways to potential clients

Note
These mappings are used in Catalog Manager when a manual inventory adjustment is done through the Inventory Item screens.
How do I add a new Variance Reason / GL Account mapping?

There are 6 mappings that come as part of the OFBiz demo data.

  1. Select the 'Variance Reason Id' from the drop down list

  2. Select the 'GL Account Type Id' to map it to from the drop down list

  3. Press the 'Add' button

  4. The new 'Variance Reason / GL Account Type' mapping is displayed in the list at the bottom of the screen

How do I update a Variance Reason / GL Account mapping?
  1. Select the 'Variance Reason Id' from the drop down list

  2. Select the updated 'GL Account Type Id' to map it to from the drop down list

  3. Press the 'Add' button

  4. The updated 'Variance Reason / GL Account Type' mapping is displayed in the list at the bottom of the screen

How do I remove a Variance Reason / GL Account mapping?
  1. Press the 'Remove' button next to the entry that you want to delete

  2. The entry is removed from the list of entries displayed

Help for Credit Card Type GL Accounts

The Credit Card Type / GL Account default is used to map different types of credit card to different general ledger accounts.

Note
This setup will affect one side of a journal entry only.

This type of mapping is useful if you need to track the amounts to be collected from different credit card agents.

The OFBiz demo data comes with some setup here

Note
TO CHECK The demo entries appear to be duplicated…​has something changed in ENUM for defining each credit card type…​..?????)

Examples are as follows:

  • American Express

  • Visa

  • Mastercard

  • Diners Club

How do I add a Credit Card Type GL Account mapping?

There are 10 mappings that come as part of the OFBiz demo data but they do appear to be duplicated for some reason.

  1. Select the 'Card Type' from the drop down list

  2. Select the 'GL Account Id' to map it to from the drop down list

  3. Press the 'Add' button

  4. The new 'Credit Card / GL Account Id' mapping is displayed in the list at the bottom of the screen

How do I update a Credit Card Type GL Account mapping?
  1. Select the 'Card Type' from the drop down list

  2. Select the updated 'GL Account Id' to map it to from the drop down list

  3. Press the 'Add' button

  4. The updated 'Credit Card Type / GL Account' mapping is displayed in the list at the bottom of the screen

Note
TO CHECK Used 'Visa' as an example to update and the 'CCT_VISA' was updated but the 'Visa' one was’nt. This is probably related to the duplication.
How do I remove a Credit Card Type GL Account mapping?
  1. Press the 'Remove' button next to the entry that you want to delete

  2. The entry is removed from the list of entries displayed

Help for Tax Authority GL Accounts

The Tax Authority / GL Account default is used to map different tax authorities to different general ledger accounts. This setup will affect one side of a journal entry only.

Note
A tax authority is legal body usually the state (country) that imposes a financial levy on business transactions.

Normal business rules require you will to keep track amounts collected or paid to different tax authorities separately. This mapping ensures that money collected or paid to various tax authorities (eg through Sales Orders, Purchase Orders etc) can be separated into specific accounts

The OFBiz demo data comes with 9 entries to show an example of how this can be setup using the some of the US states as separate tax authorities.

How do I add a Tax Authority / GL Account mapping?

Unlike the other GL Account defaults you cannot add a Tax Authority / GL mapping through these screens. It needs to be done via the 'GL Accounts' sub menu under the 'Tax Authorities' menu.

The method of how to add a mapping using the 'Tax Authorities' is shown below.

  1. From the Accounting Manager / Tax Authorities Menu press the 'Edit' button next to the Tax Authority required

  2. Select the sub menu 'GL Accounts'

  3. Enter or Lookup the party for the 'Organisation Party Id' field (NOTE: Use 'Company' as default)

  4. Enter or Lookup the GL Account to be mapped to

  5. Press the 'Add' button

  6. The mapping will be displayed at the bottom of the screen.

  7. Return to the Tax Authority / GL Account default and this new mapping will be shown in the list

How do I update a Tax Authority / GL Account mapping?

Only the GL Account Id linked to the mapping can be updated.

  1. Locate the Tax Authority / GL Account entry that needs to be updated

  2. Select the new 'GL Account Id' from the drop down list next to the entry

  3. Press the 'Update' button next to the entry

How do I remove a Tax Authority / GL Account mapping?
  1. Locate the Tax Authority / GL Account entry that needs to be removed

  2. Press the 'Delete' button next to the entry

Help for Party GL Account mapping

The Party / GL Account mapping allows the translation of different account types (eg Accounts Receivable, Accounts Payable etc) for a party to be mapped to a separate general ledger account.

The party role (eg Bill To Customer) is also used to define the mapping even further.

OFBiz demo data setup comes with no entries here.

It is used as a way of implementing subledger functionality in OFBiz. Subledger functionality is where a higher level account can be split into lower levels. In this case these lower levels can be by party.

An example could be that a business may want to use the general ledger to track the Accounts Receivable (AR) by customer so the chart of account would be setup something like as follows:

120000 Accounts Receivable

  • 120010 Accounts Receivable - Customer A

  • 120020 Accounts Receiviable - Customer B

  • 120030 Accounts Receivalbe - Customer C

This has the main AR account is at the top of the hierarchy and 3 sub accounts below it.

Entries for Customers A, B and C would be setup with a role of 'Bill From Customer' as this is a role associated with the customer when the Sales Invoice is generated.When a transaction matching the criteria is processed in the system then these mappings will control where it is posted to.In the case of Customer A any AR transactions with role 'Bill To Customer' are posted to '120010' instead of the standard '120000

How do I add a new Party / GL Account mapping?
  1. Enter or Lookup the party for the 'Party Id' field

  2. Select the 'Role Type Id' from the drop down list
    (NOTE: Be careful that you select the correct role for the transactions you want to track…​…​)

  3. Select the 'GL Account Type Id' from the drop down list

  4. Select the 'GL Account Id' from the drop down list

  5. Press the 'Add' button

  6. The new entry will be displayed at the bottom of the screen

How do I update a Party / GL Account mapping?

Only the GL Account Id linked to the mapping can be updated.

  1. Locate the Party / GL Account entry that needs to be updated

  2. Select the new 'GL Account Id' from the drop down list next to the entry

  3. Press the 'Update' button next to the entry

How do I remove a Party / GL Account mapping?
  1. Locate the Party / GL Account entry that needs to be removed

  2. Press the 'Delete' button next to the entry

Help for 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

The screen is divided into 3 main areas. The first two show lists of the open and closed time periods. The area at the bottom allows you to define and enter a new time period.

How do I add a new Financial Year time period?
  1. Using the area at the bottom of the screen labelled 'New'

  2. Leave the Parent Period Id field blank
    (NOTE: The financial year will be the parent of other time periods eg fiscal months or GST / VAT periods)

  3. Select 'Fiscal Year' from the 'Period Type Id' drop down box

  4. Enter '13' in the Period Num field
    (NOTE: You can use any number that does not conflict with the other time periods you want to use. We plan to define 12 fiscal or tax months so will use 13 for the year)

  5. Enter 'FY 2010-2011' in the Period Name field
    (NOTE: You can use any name you want but make sure it makes sense. This example is an abbreviation for Fiscal Year 2010-2011)

  6. Select '1st April 2010' using the calendar lookup in the 'From Date' field

  7. Select '1st April 2011' using the calendar lookup in the 'Thru Date' field
    (NOTE: Even though we want our financial year to end on 31st March 2011 the test used is based on less than not an equal to)

  8. Leave the 'Is Closed' field at its default of 'No'

  9. Press the 'Create' button

  10. The new time period will now be displayed in the list of open time periods.

How do I add a new GST/ VAT time period?
  1. Using the area at the bottom of the screen labelled 'New'

  2. Select the previously created financial year 'FY 2010-2011' in the Parent Period Id field

  3. Select 'Fiscal Month' from the 'Period Type Id' drop down box

  4. Enter '1' in the Period Num field
    (NOTE: This is the first of 12 periods that we want to define.)

  5. Enter 'FM April 2010' in the Period Name field
    (NOTE: You can use any name you want but make sure it makes sense. This example is an abbreviation for Fiscal Month April 2010)

  6. Select '1st April 2010' using the calendar lookup in the 'From Date' field

  7. Select '1st May 2010' using the calendar lookup in the 'Thru Date' field
    (NOTE: Even though we want our fiscal month to end on 30th April 2010 the test is used is based on less than not an equal to)

  8. Leave the Is Closed field at its default of 'No'

  9. Press the 'Create' button

  10. The new time period will now be displayed in the list of open time periods.

How do I update a time period?
Note
Time periods cannot be updated via the current time periods screen. If you need to amend time period details then it can be done via Entity Data Maintenance in the Webtools menu.
How do I close a time period?
  1. To close a time period select the 'Close' button next to the time period.

  2. The time period will be removed from the current open time periods area and re-displayed in the closed time periods section of the screen.

Closing a time period is a trigger for an automatic accounting transaction as follows:

  • Transaction Type: Period Closing

  • DR ?????? (based on the GL account type mapping for Profit Loss)

  • CR 336000 Retained Earnings (based on GL account type mapping for Retained Earnings)

Important
Both sides of this accounting transaction uses the same GL account type default mapping.
The account mapping for 'Profit Loss' is not setup as part of the demo data so this transaction will not automatically post to the general ledger but will instead be put in the ERROR_JOURNAL as an unposted transaction.
The transaction value is zero for both sides of journal…​Even if it does have a value do we want to move it from P&L to Equity during the financial year? Normally this is done once at the end of the financial year.

4.1.11. Accounting 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).

Accounts Payable

The debts owed by a business, usually in relation to goods or services, inventory, or supplies. It is also called 'A/P' for short or 'Creditors'.

Accounts Payable Invoice

AP invoice is a document raised by the customer and sent to the company with the details of the items sent, qty sent, price and other details. The company will enter this invoice details in the Payable module and then pay the customer according to the credit terms. This invoice may come along with the consignment or may be sent to the company separately.

Accounts Receivable

The money owed to a business by its customers for products and services delivered to a customer. It is also called 'A/R' for short or Debtors.

Accounts Receivable Invoice

AR Invoice is a document raised by the company and sent to the customer with the details of items sold, qty sold, price, tax and other details. Based on this invoice, the customer will send the payment in case of credit sales.

Account Type

A key that specifies the accounting area to which an account belongs. The account type is required in addition to the account number to identify an account, because the same account number can be used for each account type.

Acquisition

The process of identifying the requirement for a certain good or material item, ordering it, and paying for it.

Accrual Based Accounting

This is a method where you record the income when the sale occurs and not necessarily when you receive the payment. Also you record an expense when you receive goods or services, even though you may not pay for them until later.

Balance Sheet

This is like a financial snapshot of your business at a certain point in time. It lists your assets, liabilities and the difference between the two which is the net worth (or equity) of the business. The balance sheet is also called the 'Statement of Financial Position'

Cash Based Accounting

This method is when you record income only when you receive the cash from your customers. You also only record an expense when you actually pay your suppliers

Chart of Account

This is a list or hierarchy of account descriptions that you use to keep the accounting records for your business

Closing balance

At the end of a financial period, the balance on all entries posted to an account.

Creditor

This is a company or an individual that you owe money to.

Credits

One component of every accounting transaction (journal entry) is a credit. Credits increase liabilities and equity but decrease assets

Cost of Goods Sold

This is the amount it costs you to provide your product or services sold to your customers. It is often called and abbreviated to 'COGS'

Credit amount

An amount of money in someone’s favor.

Double Entry Accounting

In this method every transaction has two entries: a debit and a credit (also called a journal entry). Debits must always equal credits. Most if not all accounting software use double entry accounting.

Depreciation

This is a write-off of a portion of the cost of fixed assets, such as vehicles and equipment. It is usually done annually but can be done more frequently. Depreciation is also listed as part of the expenses on the 'Profit & Loss' or 'Income Statement'

Debits

One component of every accounting transaction (journal entry) is a debit. Debits increase assets but decrease liabilities and equity.

Debtor

This is a company or an individual that owes you money.

General Ledger

This is a collection of different types of accounts (balance sheet, income, expense) that are used to keep the accounting records of a business. A general ledger works with double entry accounting and journal entries for each transaction.

Gross price

The price of one unit of an item, or a service, including tax.

Gross Profit

The positive difference between sales revenues and the costs of goods sold.

Income Accounts

These are the accounts that are used to keep track of your sources of income. Examaple: Sales, Consulting Income or Interest.

Income Statement

This is also called a Profit and Loss Statement' or a 'P&L'. It lists the income, expenses, and net profit (or loss) for the business. The net profit (or loss) is equal to the total income minus the total expenses.

Intangible Asset

This is something of value that is owned by the business that cannot be touched physically.

Inventory Audit Report

An audit trail for the posted inventory transactions in the Chart of Accounts. This report compares the accounting view (inventory balance accounts) and the logistics view (inventory value displayed by the audit report).

Outstanding Amount

The amount of money that is owed by a debtor and has not yet been paid.

Outstanding Payment

The remaining amount of money that is due for goods or services.

Payables

The total amount due to creditors. This information includes the type, the amount, and the due date of the debts. Payables may include amounts payable to banks and suppliers, as well as customer down payments.

Payment Method

A set of parameters and other details that determine how invoices are cleared when the Payment Wizard is used. It is possible to create as many payment methods as required. In addition, you can link specific payment methods to relevant business partners.

Payment Period

The period of time in which an outstanding debt has to be paid, for example a range of days or a certain month.

Payment Run

A process that clears A/R and A/P invoices, by generating the payments, posting the transactions and updating the system (by creating the bank transfer files).

Payment Terms

The conditions of payment agreed to between business partners with respect to goods supplied or services provided.

Profit and Loss Statement

A comparison of revenue and expense within a certain period. The purpose of the profit and loss statement is the establishing of profit made by an organization and the sources thereof. It is a compulsory part of year-end closing.

Trial Balance

This is a list of the general ledger accounts showing the debits in one column and the credits in another. The main objective of a trial balance is to ensure that the total credits and total debits balance (eg. total debits = total credits). It also validates that the double entry accounting is working correctly.

4.2. Content Management Overview

The Document Content Management System (DMS/CMS) is designed to store data once and then allow it to be reused in multiple arrangements.

4.2.1. Overview

The term 'content management' generally refers to a system for acquiring, storing and retrieving electronic data in varying formats - such as text, images or proprietary formats.

Content management systems (CMS) usually incorporate a rendering system to let the developer display the content in various formats.

While some CMSs are rigid in the manner in which content is entered and rendered, the content management module of OFBiz is more of a set of tools which can be used in a variety of situations.

In addition to HTML, the content can be rendered in non-Web modes, such as PDF or email newsletters.

The OFBiz CMS is designed to store data once and then allow it to be reused in multiple arrangements.

Hence, there are basically two aspects

  • the back-end storage subsystem, which is oriented around the DataResource entity,

  • and the front-end association subsystem, which revolves around the Content entity.

Note that the Content entity has a foreign key pointing to one and only one DataResource entity, but the same DataResource entity can be referenced by multiple Content entities.

It is a general rule that data can only be accessed via a Content entity, but one common exception is that images are typically served up using the DataResource primary key.

Content entities are related to other content via ContentAssoc entities. The ContentAssoc entity has a four part primary key and other fields that are used to relate content. The key specifies the 'to' Content and the 'from' Content, as well as the type of association and its effective date. See the discussion of the ContentAssoc entity for more information on how content is related.

4.2.2. Major CMS entities

DataResource

The DataResource entity acts as the gateway to actual content retrieval.
There are two important fields for determining the format and storage of a resource :

  • the 'mimeTypeId'

  • the 'dataResourceTypeId'.

mimeTypeId

The mime type is the standard Multipurpose Internet Mail Extension, of which, 'text/html' and 'image/gif' will be two of the more common examples.

The mimeTypeId indicates the format of the content as it is stored.

This must be compared to the desired output format to see if the rendering system can handle the request.

For example, if the DataResource.mimeTypeId equals, 'image/png', and the target output format is 'text/html', the rendering system could make the logical supposition that it should return an HTML "img…​/" tag. If the output format were 'application/pdf' then it will need to determine if it can convert the image to a PDF format.

dataResourceTypeId

The dataResourceTypeId field indicates the storage mechanism for the resource.
It could be of type ELECTRONIC_TEXT, which indicates that there is an entry in the ElectronicText table that is related to the DataResource by its primary key.

If the mimeTypeId is of type image, then the dataResourceId could be IMAGE_OBJECT (stored in the database ImageDataResource table), OFBIZ_FILE (stored in a file the path of which is relative to the OFBiz home directory) or URL_RESOURCE (could be accessed via HTTP protocol).

dataTemplateTypeId

One of the powerful concepts of the OFBiz CMS is that it can store templates that can be used to control the formatting of data.

In this case, the resource pointed to by the DataResource entity will not be rendered, itself; instead, it will be used as a template to format data that is associated with it.

The currently supported templating types are FreeMarker (FTL) and the OFBiz Screen Widget (SCREEN_COMBINED) format. If the value of dataTemplateTypeId is empty or equal to NONE, then the data pointed to by the dataResource entity is rendered directly.

objectInfo

If dataResourceTypeId is ELECTRONIC_TEXT or IMAGE_OBJECT, then objectInfo is not used, but for other types, it will contain the resource storage information.

If dataResourceTypeId is one of OFBIZ_FILE, CONTEXT_FILE, LOCAL_FILE or URL_RESOURCE; then objectInfo contains path info.

If dataResourceTypeId equals SHORT_TEXT, then objectInfo will contain the actual resource (short text) value.

ElectronicText

ElectronicText contains ASCII text data.
An ElectronicText entity can be associated with only one DataResource entity and vice-versa.
The mimeTypeId field of the DataResource entity must be checked to determine the format of the ElectronicText data.

ImageDataResource

ImageDataResource is the equivalent of ElectronicText for binary image data.
The DataResource.mimeTypeId must be checked to determine the format of the data.

4.2.3. Content

The Content entity determines how DataResources are rendered.

It does this on a 'local' level, in that it has a mimeTypeId, localeString and other fields that indicate to the rendering system how the DataResource should look, but it can also control the larger picture because it can act as a placeholder and head for other content.

The Content.dataResourceId does not need to point to anything, instead a Content entity can be related to other Content via ContentAssoc entities.

At some point, some of the child Content entities must point to DataResources, else nothing will ever be displayed.

dataResourceId

The dataResourceId points to a DataResource entity that represents content associated with the parent Content entity.

The related DataResource could be data that is rendered or it could be a template that indicates how child Content of the parent Content are rendered.

contentName

contentName is the field that is used to represent the Content entity in lists. The contentName field value must be less than 100 characters.

description

description is used in cases where a short summary or description of the Content is desired. The description field value must be less than 255 characters.

templateDateResourceId

The templateDataResourceId field points to a DataResource entity that is used to transform the data contained in the DataResource pointed to by the Content.dataResourceId field.

The dataTemplateTypeId of the DataResource pointed to by templateDataResourceId will be checked to determine what sort of transform will be applied.

4.2.4. ContentRole

The ContentRole entity is used to assign permission authority to a piece of content.

The ContentRole entity identifies the Content to which the authority is being attached and the Party that has that authority and what sort of authority (role) that party has.

The ContentRole also establishes the time frame (from/thruDate) for which that authority is valid.

4.2.5. ContentPurpose

The ContentPurpose entity adds extra information to a Content entity that is used to determine what permissions are required to access that Content.

4.2.6. ContentPurposeOperation

ContentPurposeOperation is used to setup permission validation rules.

4.2.7. ContentAssoc

ContentAssoc relates one Content entity to another.

A sense of direction is conveyed in the fact that one field is named contentIdTo (the from field is contentId).

contentId

This is the 'parent' Content in a Content-to-Content relationship.

contentIdTo

This field is the 'from' or 'child' field in a Content-to-Content relationship.

contentAssocTypeId

The contentAssocTypeId field is used to add information about the type of a Content-to-Content relationship. It is part of the primary key.

Two Content entities can be related by multiple ContentAssoc entities if the contentAssocTypeId field varies (or the fromDate is different).

fromDate

the fromDate field is part of the primary key.

4.3. 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.

4.3.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.

The Human Resources Main screen.

The Main window is the entry point into the Human Resources Application and displays the Company tree view for navigating to the main menu items.

This screen will display the organizational setup of your Company.
The top level Company is defined in a system setup file: general.properties.

The system will also list any divisions or departments that have been setup with the role "Internal organization" as defined in the party relationships as a "Group member".

The number of organizational levels can be as many as required.

Nodes In the Company Tree

There are three node types in the tree, each identified by a different icon.

  • The top of the tree represents your Company, the highest level in the organization.

  • The Company and departments under the Company can have sub departments or positions.

  • Under positions are the people who fulfill the position.

Usage

Contextual menu is with right-clic

  • Navigate the organization to view departments, positions and people

  • Add or remove a department

  • Add a person

  • Quickly open the profile of any item in the tree

  • If the item is a position you can add a person to fulfill the position

4.3.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

4.3.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

Note
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).

Note
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

Employee Position management in UI
List Employee Position

This screen displays a list of positions for an employee.

Note
Employee positions are created and managed in the 'Employee Position' menu option.

Details about the position are displayed including any related dates and whether the position is temporary or not.

Create or Edit Employee Position

This screen is used to create or edit and update an employee position.

In the main search screen it is opened in create mode by clicking the New Employee Position button or in update mode by clicking on the EmployeePosition Id column in Search Results.

An Employee Position is the authorization, typically from the budget of an internal organization, for the Company to engage someone to do a job.

This means that you can fill a position in a number of different ways.

You can fill a position with one full time person, change the assignment of a position from one person to another over time, or split a position across more then one person at the same a time.

Positions have a status. They can be one of:

  • Planned For,

  • Active/Open,

  • Inactive/Closed.

Positions have a type, defined in Global HR Settings, which describes the job and its pay rates.
Some examples of job types could be secretary, production worker, sales manager, executive vice president or OFBiz programmer.

If more then one person is needed for a type of job then a position must be created for each required person i.e.
If 10 secretaries are authorized for the Human Resource department then 10 positions are created with type secretary.

Positions have a reporting structure and report to other positions (and not the people who hold the position).

You can identify the position a position reports to and/or the positions(s) a position manages.

Note
Be careful because it is possible to create circular reporting structures.
Fields
  • Employee Position Id - Unique Id for the position. May be user entered or if empty the system will generate sequence number.

  • Status ID - One of Active/Open, Inactive/Closed or Planned For.

  • Party Id - The party id of the internal organization authorized to fill the position.

  • Budget Id - A user entered identifier for the budget authorizing the position.

  • Budget Item Seq Id - A user entered identifier for the budget item authorizing the position.

  • Empl Position Type Id - Select a name for the position type. Position types are defined in Global HR Settings .

  • Estimated From Date - Enter date the position is expected to be filled.

  • Estimated Thru Date - Enter date on which the positions budget authorization is expected to end.

  • Salary Flag - Enter Y if this is a salaried position else N.

  • Exempt Flag - Enter Y if this position exempt from a requirement else N

  • Fulltime Flag - Enter Y if this is a fulltime position else N

  • Temporary Flag - Enter Y if this is a temporary position else N

  • Actual From Date - Enter the date the position is filled.

  • Actual Thru Date - Enter the date the position is no longer authorized.

Click Create - to create the position.

View Employee Position

This screen displays summary details about an Employee Position including details about who currently holds the position, their responsibilities and the reporting structure.

4.3.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.

Note
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

Employees management in UI

This includes 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

Create New Employee

This screen allows you to create a new employee.

There are some mandatory fields required and these are indicated on the screen

To create a new employee

  • Click New Employee

  • Enter the Employee details (e.g Name, Organization, Address, Phone Number)

  • Click Save

The new employee will be created

Find Employees

In this screen you can create a new employee, search for an existing employee and view a list of employees.

Selecting an employee in the list opens the employee’s profile and other screens associated with the employee.

To find an employee enter the search criteria.

Note
Only Employees Are Found.If you want to locate people who are not employees then use the Party Manager application.

Fields

  • Party ID - Must be the id of a party who is an employee.

  • User Login - The identifier used to login to OFBiz. An employee may have zero or more user logins.

  • Last name - Employee last name

  • First name - Employee first name

Employee Profile

The Profile screen for an employee is a collection of screenlets each displaying information about a different aspect of the employee.

In this screen you can:

  • View summary information about an employee

  • Update employee personal information

  • View, create, update, and expire employee contact information

  • View and create a list of related accounts

  • View training records

  • View employment information

  • View, create, and update login id’s, update security group

  • View and create party attributes

  • Upload party content

  • View and create notes

Employee Skills

In this screen you can assign a skill to an employee.

Enter numeric values in 'Years Experience', 'Rating' and 'Skill Level' to provide objective criteria for managing resources with the same skill.

These attributes can be used to locate resources with a needed skill.

NOTE:Skills are managed in 'Global HR Settings' where new skill groups and skills can be created or existing ones can be amended.

Employee Qualifications

In this screen you can enter details of any qualifications an employee has, to a person which could help track their ability to perform a particular job.

Existing qualifications can also be updated and status codes can be used to help manage the process of verifying the validity of any qualifications entered.

Employee Training

This screen lists any training for an employee.
Details such as the type of training, date, time and also the person who needs to approve the training are displayed

Note
You cannot enter any training details in this screen. If you need to enter training for an employee it can be done under the 'Training' menu option.
Employee Leave

This screen is displays any leave requested by an employee.

Any user with Human Resource Employee permission can view and request leave for any other employee.

Note
Only users with Human Resource Approver permission can update or approve a leave request.

Leave requests are managed in the 'Leave' menu option where in addition to requesting leave, an approver may review and approve any requests assigned to them.

Note
Leave types and reasons are managed by the administrator in the Global HR Settings.
Payroll History

This screen displays a list of invoices for the employee.
Generally these are payroll or commission invoices.

Note
An employee payslip is the same as an OFBiz payroll invoice

The invoice life cycle from creation through payment is done in the Accounting application.

Fields

  • Invoice ID - The distance identifier of the invoice. This number can be used to find the invoice in the Accounting application.

  • Invoice Type - Identifies the type of invoice. This will typically be Payroll.

  • Invoice Date - Date the invoice was created.

  • Invoice Status - Status may be In-Processes (can be edited), Approved (has been reviewed, can not be edited), Ready (post to GL), Paid (post to GL)

  • Description - A user entered description of the invoice.

  • From Party - The employee identified by the party id . The invoice is in effect from the employee to the company.

  • To Party - The party the invoice is to. For payroll this will typically by your company identified by the party id.

  • Total - Amount paid. For a payroll invoice this will typically be less then the gross amount of the invoice due to deductions for taxes and benefits etc

  • Outstanding Amount - Any unpaid amount due on the invoice.

4.3.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.

Note
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.

Employments management in UI
Create or Edit Employment

This screen allows you to create a new employment or edit an existing one.

To create a new employment relationship between Company and an employee

  • Select the Employee Party Id

  • Enter the start date for the employment (e.g. Hire Date)

  • Click Create

Once created the employment detail screen will be displayed where you can update a range of information related to the employment such as benefits, payment preferences and unemployment claims

4.3.6. List Employments

This screen displays a list of Employments for an employee.

NOTE:Usually a person will have only a single employment with an employer.

The employment details (e.g benefits, payroll preferences, etc) can be modified by clicking 'Edit'.

4.3.7. 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.

Note
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

4.3.8. 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.

4.3.9. 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.

Note
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

4.3.10. 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

4.3.11. 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.

Note
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.

4.3.12. Training

Introduction

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.

  1. Admin can schedule a training through training calender.

  2. Admin can assign training to an employee(right half of calendar screen).

  3. Employee with his login can request for Training to admin from the calendar.

  4. Employee cannot request same training event again to same approver.

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.

Note
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.

In "Training Approval" tab (in case of Employee login tab name would be "Training Status")

  1. Admin can approve/reject the training requested to him

  2. Admin can not change the training status once it is rejected.

  3. Employee can check status of requested and assigned trainings.

Warning
TO CHECK Something isn’t working correctly in 16.11. The there is no update button to click to approve a participant for training.
Simple Howto for Training UI
Note
TO CHECK for the moment, work in progress…​

Introduction: Trainings in HR module includes Training Calendar where we can create new schedules from trainings available in an organization.

Admin can assign trainings & employee can request for scheduled trainings.

Employee can also check status of their training requests & assignments.

Need of Trainings in HR:

  • Training and development of professionals fills up the skill gaps and further improve the levels of proficiency.

  • Training and development manages constantly changing business and industrial scenario and therefore, matches with the requirements or demands of changes on the organizations.

  • Creates a learning organization culture.

Organizational development:

  • Organization decides to use certain initiatives and wants to train and develop a good number of people in the entire organization or the people in certain chosen departments or projects on those initiatives.

  • Prepares the organization to meet the needs of legal/statutory requirements. Features of Trainings:

  • New Trainings can be added/modified.

  • Trainings can be scheduled in the calendar.

  • Employees can apply to supervisor for available scheduled trainings but, cannot request same training event again to same approver

  • Admin can assign trainings to Employees.

  • Admin can approve/reject the trainings requested to him but, once rejected cannot be approved again.

  • Employees can check the status of their training requests and Trainings assigned to them.

Road Ahead: Currently we have implemented Trainings under HR module.

We are working on the implementation of Training calendar in profile tab of Employee.

We are also planning to introduce trainer’s information in training calendar.

In "GlobalHRSetting"
  1. Admin can create & manage the trainings provided by the organization.

4.3.13. 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

Note
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.

4.3.14. 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.

Note
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.

Note
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.

Note
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.

4.3.15. 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.

Tip
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.

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

4.3.16. Glossary

Budget

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.

Employee

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

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).

Fulfillment

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

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

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

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.

Position

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

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

Responsibility

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

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.