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

Projects:AdvPaymentMngt/Configuration Manual

Contents

Document Status

Final: This document has been published.

Introduction

This document describes how to install and configure Advanced Payables and Receivables on top of a standard Openbravo ERP 2.50 instance.

Note: Advanced Payables & Receivables is also available through templates (either Openbravo QuickStart or Openbravo ERP 3.0) that automate the configuration of the module eliminating the need for many of the steps here documented. This manual refers exclusively to an installation on top of a standard 2.50 instance.

Advanced Payables and Receivables delivers an alternate set of flows for managing financial accounts and payments. These new flows replace the ones supported in Openbravo ERP Core.

From a high perspective, in order to use the new functionality, the following steps are needed:

  1. Install the Advanced Payables & Receivables module
  2. Deploying the new document types and default matching algorithm
  3. Hide the core functionality that is being replaced
  4. Configure Payment Methods
  5. Configure Financial Accounts
  6. Configure the Business Partner to use a Payment Method and a Financial Account

Installing Advanced Payables & Receivables

To install the module:

A detailed guide on how to install a new module can be found in the Install Module video.

NOTE: When installing APRM module, moduleScript is run to give "FIN_Finacc_Transaction" table access to existent roles. If you create role after installing the module, access to "FIN_Finacc_Transaction" table should be given manually.

Deploying the new document types and default matching algorithm

Advanced Payables and Receivables introduces new transactions in the system that require new document types to be defined in every client. Additionally, the bank reconciliation flow requires the definition of a matching algorithm.

Both sets of reference data are installed with the module but need to be applied to each client, new or existing, in the system.

To do so:

Note: Future versions of Initial Client Setup will allow you to select reference data at the time of creation of a client, allowing you to perform this step at the time of new client creation.

"Reversal" Document Types

"AP/AR Credit Memo" and "Storno Sales/Purchase Invoice" document types must be setup as "Reversal" at the application path:
"Financial Management || Accounting || Setup || Document Type || Document Definition "
for them to properly work through the Advanced Payment Management workflow.

Those "reversal" document type implies a "negative" Payment In/Out as described below:

Report Templates for Payments

Note: you should manually create the templates if you performed the Initial Client Setup in a MP18 or earlier maintenance pack. In other case the Initial Client Setup will populate needed data or you will be able to apply again the updated core dataset.

Go to Financial Management || Accounting || Setup || Document Type and add a new Report Template and Email Definitions for the following Document Types:


AR RECEIPT AP PAYMENT
Report Templates Report Templates
Organization * Organization *
Name AR Receipt Report template Name AP Payment Report template
Template Location @basedesign@/org/openbravo/erpReports Template Location @basedesign@/org/openbravo/erpReports
Template Filename RptFIN_Payment.jrxml Template Filename RptFIN_Payment.jrxml
Report Filename Payment In-@our_ref@ Report Filename Payment Out-@our_ref@
Show Logo If selected the logo will be printed. Show Logo If selected the logo will be printed.
Show Company Data If selected the company data will be printed. Show Company Data If selected the company data will be printed.
Header Margin Margin size in the top of the document. Header Margin Margin size in the top of the document.
Email Definitions Email Definitions
Organization * Organization *
Default Yes Default Yes

Here more information about how to customize document printable templates.

Hiding core functionality

Removing obsolete functionality

The following menu entries are no longer needed once Advance Payables & Receivables is installed and should be removed from the Openbravo menu.

This can be achieved by either:

  1. Marking these entries as not active in the menu (please ensure to put your system in configuration mode first)
  2. Defining a new role that does not have access to these functions

Hiding the obsolete Payment tab

The new payment flows no longer use what previous version of Openbravo used to call the "Payment" object (the table C_DEBT_PAYMENT). Consequently, the corresponding tab can be hidden in the following windows:

To achieve this:

Saving Configuration

Once local changes in AD has been made do not forget exporting database to reflect such changes in your source files (XML).

In previous section some tabs and menu items may have been hidden. Those changes are AD changes that require them to be exported or reverted before installing or updating a module.

To do so you need to perform an ant task as follows:

First make sure you are the openbravo system user:
sudo su - openbravo

Then make sure you are in the Openbravo directory:
cd /opt/OpenbravoERP-2.50/openbravo-erp

Lastly run the ant task:
ant export.database export.config.script -Dforce=true

Configuring Payment Methods

Payment methods represent means of payment employed by your enterprise or by a business partner, such as cash, check, money order, or credit card with order or upon invoicing.

Payment methods are associated to Financial Accounts in order to control which payment methods can be used with a Financial Account. It is possible to associate multiple payment methods to a single Financial Account. For example, a single Financial Account may be used for both checking and for electronic payments.

To define payment methods:

  • Login as client administrator
  • Navigate to Financial Management -> Receivables & Payables -> Setup -> Payment Method
  • Define your payment methods by entering a record with a name and an optional description.
  • If you wish this Payment Method to be active immediately, please ensure that the 'Active' option is selected.
  • If you wish this Payment Method to allow "Other currencies" than "Financial Account default currency", while either making/receiving payments in a "Financial Account", enable below parameters which can be found in the sections "Defaults Payment In" & "Defaults Payment Out":
    • "Receive payments in other currencies"
    • "Make payments in other currencies"
  • The remaining options in the Payment Method window are described in the following section on Payment Workflow Automation.
View larger

Payment Workflow Automation

There are various options available to support automation of the workflow for each payment method.

Note: These options are the defaults for this payment method. Each Financial Account also allows workflow options to be define. Any variation in workflow associated with a Financial Account takes precedent over the default workflow.

Defaults Payment IN

Defaults Payment OUT

Note: Automatic Receipt and Automatic Payment require a Financial Account to be associate with the Business Partner. Please refer to the section on Configuring Business Partners.

Configuring Financial Accounts

Financial Accounts are used in Openbravo to represent accounts at financial institutions such as bank accounts, credit cards, electronic payment services, as well as cash and petty cash registers.

Defining additional Financial Account Types

Financial accounts represent the nature of the account (bank account, cash, credit card, etc.). The module pre-defines the following two account types:

You can define additional account types by extending the list Financial account type.

Remember that, prior to extending a Core list, you need to register a extension module to house your additional entries. The module needs to be in development mode and have a valid DB prefix associated to it.

Finally, please ensure to persist your changes to the file system by running the ant export.database command.

Defining Financial Accounts

To define financial accounts:

  • Navigate to Financial Management -> Receivables & Payables -> Transactions -> Financial Account.

In this window:

  • The top section is used to populate general information about the account, such as:
    • Name and description
    • Currency of the account
    • Type
    • Whether this is the default account to be used in transactions
    • A business partner associated to this bank account (for example, the Financial Institution holding the account)
  • The next section Bank is visible only for accounts of type Bank and are used to specify the bank account number. It includes information such as:
    • Bank Code
    • Branch Code
    • ...
    • as well as the matching algorithm to be used during the reconciliation process.
View larger
View larger

Financial Account Configuration

Next you need to configure the default accounts to be used for transactions related to financial accounts:

  • Click on the 'Accounting Configuration' tab of the Financial Account window.
  • Create a new record for each accounting schema.
View larger

In the General section you can define the following default accounts:

Besides, the end-user can define the accounts to be used in case of Bank Statements posting if the "Enable Bank Statement" flag is selected:

When posting bank statements, the "Bank Transitory Account" must match the accounts used upon clearing for all the payment methods in order to ensure properly balanced accounting.

Above means that the "Bank Transitory Account" must be the same one as the "Cleared Payment Account" for both "Payments In" and "Payments Out"; the system will guide us through the accounting configuration process to allow above mentioned matching:


In the Payment IN section you can define the following default accounts:

Defining these three accounts is not mandatory. User can configure the system to use one single account and assign it to one of the given steps. In addition system as well can be configured to move balances between accounts for the three steps and that is why there are three accounts available.

In the Payment OUT section you can define the following default accounts:


Again defining these three accounts is not mandatory. User can configure the system to use one single account and assign it to one of the given steps. In addition system as well can be configured to move balances between accounts for the three steps and that is why there are three accounts available.

Payment Method Configuration

Next you need to define which payment methods can be used for each finacial account you have created. In order to configure the payment methods to be used for transactions related to financial accounts:

  • Click on the 'Payment Methods' tab of the Financial Account window.
  • Create a new record for each payment method that you would like to associate with the Financial Account.
  • From the 'Organization' drop down list select the organization for which this combination of Financial Account and Payment Method will be available.
  • From the 'Payment Method' drop down list select the payment method that you would like to associate with the Financial Account. This automatically populates the subsequent options in this window with the default workflow configured for that payment method.
  • Any change to the payment method workflow configuration in this window will not change the default configuration, but will create a specific workflow for this Financial Account.
View larger

Defining alternate matching algorithms

During the reconciliation process, Openbravo uses a matching algorithm to automatically match transactions in a financial account with transactions contained in a bank statement.

You can develop alternate matching algorithms as a Java class implementing the interface org.openbravo.advpaymentmngt.utility.FIN_MatchingAlgorithm. Once developed, you can register that class for usage in the Matching Algorithm window, available at Financial Management' -> Receivables & Payables -> Setup -> Matching Algorithm.

Configuring Business Partners

Payment Methods

Once you have defined payment methods you can then associate the default payment method to be used on orders or invoices by business partner:

Financial Account

Once you have defined Financial Accounts you can then associate the default Financial Account when receiving payment from or making payment to a business partner. Please note that in order for a payment method to automatically receive from or pay to a Business Partner, the default Financial Account needs to be defined. If no Financial Account is defined then an invoice posting for that Business Partner will complete without the payment being automatically received or paid.

In order to associate the default Financial Account:

Accounting Process

Bank Statement Posting

We will illustrate Bank Statement posting concept with an example.

Example: bank statement posting after being imported

Let's consider a scenario where a bank statement containing 3 bank statement lines for a total amount of -5627.42€ is imported. The system will show below ledger entries after posting the bank statement imported.

Account Dr Cr
Bank transitory account 5627.42
Bank asset account 5627.42

Negative Bank Statement Lines:

Let's imagine that one of the bank statement lines has an amount = -4.627,42 that would mean a payment OUT: (Debit Amount = Payment OUT= Paid)

Bank statement line clearance posting:

Account Dr Cr
Vendor liabilities 4627.42
Bank Transitory account 4627.42

Therefore the complete set of posting will look like:

Invoice posting:

Account Dr Cr
Expense 4627.42
Vendor liabilities 4627.42

Bank Statement Posting:

Account Dr Cr
Bank transitory account 4627.42
Bank asset account 4627.42

Bank statement line clearance posting:

Account Dr Cr
Vendor liabilities 4627.42
Bank Transitory account 4627.42

Positive Bank Statement:

Let's imagine that one of the bank statement lines has an amount = + 1000,00, that would mean a payment IN: (Credit Amount = Payment IN = Received)

Bank statement line clearance posting:

Account Dr Cr
Bank Transitory account 1000.00
Customer 1000.00

Therefore the complete set of posting will look like:

Invoice posting:

Account Dr Cr
Customer 1000.00
Income 1000.00

Bank Statement Posting:

Account Dr Cr
Bank Asset Account 1000.00
Bank Transitory Account 1000.00

Bank statement line clearance posting:

Account Dr Cr
Bank transitory account 1000.00
Customer 1000.00

And Finally, the last bank Statement line for an amount = -2000.00, that would mean a payment OUT: (Debit Amount = Payment OUT= Paid)

Bank statement line clearance posting:

Account Dr Cr
Vendor liabilities 2000.00
Bank Transitory account 2000.00

Therefore the complete set of posting will look like:

Invoice posting:

Account Dr Cr
Expense 2000.00
Vendor liabilities 2000.00

Bank Statement Posting:

Account Dr Cr
Bank transitory account 2000.00
Bank asset account 2000.00

Bank statement line clearance posting:

Account Dr Cr
Vendor liabilities 2000.00
Bank Transitory account 2000.00

Payment Posting

The remaining sections determine how accounting is created for payment events occurring in this account.

In general, a payment goes through a life cycle consisting of three steps:

  1. Payment: represents the moment when the payment event is recorded. For instance, it represents the moment in which you receive a check from one of your customers.
  2. Deposit / Withdrawal: represents the moment in which the payment is deposited in your account. For example, it represents the moment in which you deposit a customer check in your bank and the funds become available.
  3. Reconciliation: represents the moment in which the payment is marked as reconciled and you confirm that your books match those of the financial institution holding the account. For example, it represents the moment in which you reconcile your system with a bank statement confirming the proper deposit of your customer check.

These steps represent diminishing stages of risk in the payment life cycle and you can use this screen to control at which step your payments are accounted for and how you can represent the diminishing risk from an accounting perspective:

At each stage we could potentially have a different currency or at least a different conversion rate. In practice:

Current version works based on the "System" conversion rates wich can be found at the application path:
General Setup // Application // Conversion Rates.

We will illustrate these concepts with a few examples:

Customer receivables cancelled at the time of payment receipt with no risk management

Let's consider a scenario where you decide to cancel your open receivables whenever your record a payment receipt and you consider that all recorded payments are safe and do not represent any significant risk.

In this case you would setup your default accounts as follow:

With this configuration, when you receive a payment of 100€, Openbravo will generate the following accounting entry:

Account Dr Cr
Bank 100
Receivables 100

Customer receivables cancelled at the time of payment receipt with risk management up to payment deposit

Let's consider a scenario where you decide to cancel your open receivables whenever your record a payment receipt and you consider that all recorded payments are safe and do not represent any significant risk.

In this case you would setup your default accounts as follow:

With this configuration, when you receive a payment of 100€, Openbravo generates the following accounting entry:

Account Dr Cr
Payment in transit 100
Receivables 100

When you deposit the payment, Openbravo generates the following accounting entry:

Account Dr Cr
Bank 100
Payment in transit 100

Vendor payables in other currency (e.g USD), than the Accounting Schema and Financial Account currency (e.g EUR)

This scenario implies in relation to the purchase/sales invoice in USD:

This scenario implies in relation to the payment out/payment in USD:

Invoice

On the 1st January receive an invoice for $1100 USD (including $100 tax).

Exchange rates

Account Debit Credit Calculation
Accounts Payable 990 EUR 1100 USD * 0.9 USD/EUR
Purchase Expense 900 EUR 1000 USD * 0.9 USD/EUR
Tax 90 EUR 100 USD * 0.9 USD/EUR

First Payment

On the 16th January make a payment of $550 USD, using the system exchange rate

Exchange rates

Payment posting:

Account Debit Credit Calculation
Accounts Payable 495 EUR 550 USD * 0.9 USD/EUR (exchange rate at invoice date)
Bank In Transit 440 EUR 550 USD * 0.8 USD/EUR
Currency Gain 55 EUR 495 EUR - 440 EUR

Note: The A/P entry must be caculated using the same exchange rate as the a/p credit in the original invoice journal. Otherwise the a/p account will not balance properly.

On the 16th January post the transaction in the bank account.

Financial Account transaction posting:

Account Debit Credit Calculation
Bank In Transit 440 EUR
Bank 440 EUR

Second Payment

On the 23th January make a payment of $550 USD, using a custom exchange rate

Exchange rates

Payment posting:

Account Debit Credit Calculation
Accounts Payable 495 EUR 550 USD * 0.9 USD/EUR (exchange rate at invoice date)
Bank In Transit 385 EUR 550 USD * 0.7 USD/EUR (exchange rate entered manually by end user)
Currency Gain 110 EUR 495 EUR - 385 EUR

Note: The A/P entry must be caculated using the same exchange rate as the a/p credit in the original invoice journal. Otherwise the a/p account will not balance properly.

On the 25th January record the transaction in the bank account.

Financial Account transaction posting:

Account Debit Credit Calculation
Bank In Transit 385 EUR
Bank 385 EUR

Vendor payables in the same currency (e.g USD) than the Accounting Schema (e.g USD) but in other currency than the Financial Account (e.g EUR)

This scenario implies in relation to the Bank (Financial Account) in EUR:

Besides, this scenario implies in relation to the Bank transaction posting:

Invoice

On the 1st January receive an invoice for $1100 USD (including $100 tax).

Exchange rates

Account Debit Credit Calculation
Accounts Payable 1100 USD
Purchase Expense 1000 USD
Tax 100 USD

First Payment

On the 16th January make a payment of $550 USD.

The Financial Account in EUR is used as the source of the payment.
In this scenario:

Exchange rates

Payment posting:

Account Debit Credit Calculation
Accounts Payable 550 USD
Bank In Transit 550 USD 550 USD 0.8 USD/EUR = 440 EUR (Deposit Amount)
440 EUR * 1.25 EUR/USD = 550 USD (Foreign Amount)

On the 16th January record the transaction in the bank account.

Financial Account transaction posting:

Account Debit Credit Calculation
Bank In Transit 550 USD
Bank 550 USD 440 EUR * 1.25 EUR/USD

Second Payment

On the 23th January make a payment of $550 USD, using a custom exchange rate

Exchange rates

End user update the exchange rate to:

while adding the payment, either from the Purchase Invoice or from the Financial Account.

Payment posting:

Account Debit Credit Calculation
Accounts Payable 550 USD
Bank In Transit 550 USD 550 USD * 0.7 EUR/USD = 385 EUR (Deposit Amount)
385 EUR * 1.428571 EUR/USD = 550 USD (Foreign Amount)

On the 25th January record the transaction in the bank account.

Financial Account transaction posting:

Account Debit Credit Calculation
Bank In Transit 550 USD
Bank 550 385 EUR * 1.25 EUR/USD

Special notes for Spanish users

Users of the Spanish Localization Pack should be using the following accounts coming from the Spanish statutory chart of accounts:

Payment Execution Process

The Payment Execution Process controls:

It is not possible to change the configuration of the payment run execution processes from the Openbravo user interface. It is, however, possible to view available payment methods:

  • Navigate to Financial Management -> Receivables & Payables -> Setup -> Execution Process where Openbravo provides two example payment processes:
    • Simple Execution Process
    • Print Check Simple Process.
  • Each payment process is associated with an Execution Process that is a Java class containing the logic necessary to correctly complete the payment process. In order to change the behaviour of these example processes (or add additional payment formats) it is necessary to edit the example Java class objects or add new execution processes.
View larger

Retrieved from "http://wiki.openbravo.com/wiki/Projects:AdvPaymentMngt/Configuration_Manual"

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