Projects:Remittances/Configuration Manual
Contents |
Document Status
Date | Author or editor | Description of change | Document status | Document version |
July 29th, 2011 | Patricia San Juan | Document creation & sent for review | Final | V1 |
March 20th, 2015 | Patricia San Juan | Document update due to remittances including different currencies new feature | Final | V2 |
Introduction
This document describes how to install and configure "Remittances" infraestructure for APRM on top of a either :
- a standard Openbravo ERP 2.50 instance with APRM
- or a standard Openbravo ERP 3.0 instance
"Remittance" is a community module which adds remittance support to the existing APRM functionality.
A remittance is a group of "payments in/out" which can be remitted to the bank. The bank will then manage either the collection of the money from the customers or the payment to the vendors/suppliers.
This module supports several remittance types:
- "Remittance for Discount" - it is possible to remit "Payment In" for which the bank will manage its collection before its due date.
- "Remittance Not for Discount" - it is possible to remit "Payment In/Out" for which the bank will manage its collection/payment on its due date.
- "Single payment in remittances" - It is possible to remit several sales invoices/order to the bank in a single payment.
- "Single payment out remittances" - It is possible to remit several purchase invoices/order to the bank in a single payment.
- "Multi-currency remittances" - It is possible to remit orders/invoices or payments in other currency than the financial account currency or even mix several currencies within the same remittance
This module also provides the ability to print a remittance as well as the infrastructure to define a "remittance" file generation logic.
From a high perspective, the following steps are needed in order to use the new functionality:
- Install the Remittance module
- Deploy remittance data set
- Configure remittance types
- Configure payment methods
- Configure business partners
- Configure financial accounts
Installing Remittances
To install the module:
- Login as System Administrator
- Navigate to General Setup // Application // Module Management
- Click the Add Modules tab
- Find the Remittance module within the list of modules available
- Click on install now and follow the guided installation flow.
A detailed guide on how to install can be found in the Install Module video.
Note:
It is important to highlight that there are 3 new "tables" which should be setup as "Active" = Yes, for the corresponding General Ledger Configuration at thee application path
Financial Management // Accounting // Setup // General Ledger Configuration:
- REM_Remittance: this one manages the Remittance posting.
- REM_RemittanceLine_Cancel: this one manages the Remittance Settlement posting.
- REM_RemittanceLine_Return: this one manages the Remittance Protest posting.
Deploying Remittance dataset
Remittance introduces new transactions in the system that require:
- a new document type named "Remittance" which can be found at the application path : Financial Management // Accounting // Setup // Document Type.
- a new remittance type named "Printable Remittance" which can be found at the application path : Financial Management // Receivables & Payables // Setup // Remittance Type
- a new payment method named "Remittance" which can be found at the application path: Financial Management // Receivables & Payables // Setup // Payment Method
- and finally a new execution process named "In Remittance" which can be fount at the application path: Financial Management // Receivables & Payables // Setup // Execution Process; liked to the Payment Method "Remittance".
Above listed reference data are installed with the module but need to be applied to each new or existing Client.
To do so:
- Existing Client:
- Login as Client Administrator
- Navigate to General Setup -> Enterprise -> Enterprise Module Management
- For the (*) organization, choose the Remittance reference data set described as "Remittance infraestructure - contains process execution, payment method..."
- Click OK
- Repeat for every client.
- New Client:
- Login as System Admin
- Navigate to General Setup -> Client -> Initial Client Setup
- Select the remittance reference data described as "Remittance infraestructure"
- Click OK
It is important to remark that there is a know issue happening on those Openbravo instalation for which "Core Document Types" were not applied as a Core dataset.
If you try to apply the "Remittance Dataset" in to those installation, you will get an error:
The way to solve this is:
- Run below SQL query in order to get the Standard GL Category ID for your Client:
- select client.name as client_name, glcat.gl_category_id, glcat.name as gl_category_name from gl_category glcat join ad_client client on glcat.ad_client_id = client.ad_client_id where glcat.name = 'Standard'
- Open "Document_Types.xml" file which can be found in the path:
- org.openbravo.module.remittance/referencedata/standard/Document_Types.xml
- Replace the ID shown here: <gLCategory id="FC670B83E59C4E7CBD6B999D3F28B251" entity-name="FinancialMgmtGLCategory" identifier="Standard"/>, by the ID you got by running the SQL query
Payment Methods configuration
A payment method is required in order to easily identify the documents which may be included in a remittance for its collection or payment.
Below basic "Payment Method" will be "automatically" created after applying remittance reference data set to the legal entity:
- Name: Remittance
- Active: Yes
- DEFAULTS PAYMENT IN:
- Payment IN Allowed: Yes.
- Automatic Receipt: No.
- Receive Payments in Multiple Currencies:No.
- Automatic Deposit: No.
- Execution Type: Automatic.
- Execution Process: In remittance.
- Deferred: Yes.
- Upon Receipt Use: <NULL>.
- Upon Deposit Use: <NULL>.
- Upon Reconciliation Use: <NULL>.
- Payment IN Allowed: Yes.
- DEFAULTS PAYMENT OUT:
- Payment OUT Allowed: Yes.
- Automatic Payment: No.
- Make Payments in Multiple Currencies: No.
- Automatic Withdrawn: No.
- Execution Type: Automatic.
- Execution Process: In remittance.
- Deferred: Yes.
- Upon Payment Use: <NULL>.
- Upon Withdrawal Use: <NULL>.
- Upon Reconcialiation Use: <NULL>.
- Payment OUT Allowed: Yes.
Above configuration indicates that:
- "Remittance" payment method can be used for both "Payment IN" and "Payment OUT" transactions.
This means that this payment method will allow to create either "purchase/payment" remittances including purchase orders/ invoices and payments out or "sales/collection" remittances including sales orders/invoices and payments in. - No accounting will be triggered in either step (receipt-payment / deposit-withdrawal / reconciliation-reconciliation).
That is the way it should be for the system to post according to "remittance posting logic" taking into account the ledger accounts setup for each "Remittance Type",
otherwise posting logic will be the one setup in the payment method linked to a remittance type, for those case where the remittance type has been setup as "Posting allowed = No". - "Remittance" payment method is linked to a deferred execution process which means that the payments created under this payment method can be executed by being included in a remittance document.
Note:
It is really important to configure payment methods to be used in Remittances, the way it is described above, otherwise there could be:
- double posting
- payments with a status which is not the proper one in order to be later on handle in a desirable way.
"Remittance" payment methods must be assigned as payment method to:
- the "Remittance Type" to be used while creating a remittance
- as well as to the Financial Account for which the remittance is going to be created.
- It is important to remark that once a payment method has been assigned to a financial account, its setup can be once again modify. For instance a remittance payment method do not allowing making payments in multiple currencies overall, can be setup to allow making payments in multiple currencies for a given financial account. Therefore, the setup done at this last level is the final setup to be used while creating remittance from a given financial account.
It is possible to create additional payment methods, by example:
- a "Payment Remittance" method of payment allowing just "Payment OUT" transactions, for which "Remit for Discount" will not work as "Remit for Discount" functionality is supported just for Payment IN (collection) remittances.
- a "Collection Remittance" method of payment allowing just "Payment IN" transactions, for which "Remit for Discount" functionality will work.
but always the way it has been described above.
Remittance Types configuration
A remittante type is required prior to any remittance creation.
A remittance type is needed to setup the main features and the behavior of a remittance.
There is a new window where the end-user is able to:
- review/adjust the "Printable Remittance" remittance type, which is automatically created after installing & deploying the remittance module
- or to create new remittance types as required
This new window is located at the application path:
Financial Management // Receivables & Payables // Setup // Remittance Type
"Printable Remittance" type is setup by default as described below:
- Name: Printable Remittance
- Payment method: Remittance (see section above)
- Remit for discount: No
- Posting allowed: Yes
- Java class Name:empty
Above configuration means that while creating a new remittance by using "Printable Remittance" type:
- "Remittance" payment method is going to be used
- it is possible to remit "Payment In/Out" for which the bank will manage its collection/payment on its due date
- and the remittance will be posted according to the remittance posting logic.
The end-user is able to modify the "Printable Remittance" type by adding the ledger accounts of a given general ledger configuration in the "Accounting" tab.
Those accounts are the accounts to be used while posting remittance transactions to the ledger:
- Sent account
- this account is going to be used for posting a remittance to the ledger.
The payment amount will then be booked from either the Receivable/Payable Account to the Receivable/Payable In Remittance account.
- this account is going to be used for posting a remittance to the ledger.
- Settlement account
- this account is going to be use for posting the settlement of a remittance to the ledger, that means to post the payment/collection of the money in the bank.
The payment amount will then be booked from either the Receivable/Payable In Remittance account to the Settlement account.
- this account is going to be use for posting the settlement of a remittance to the ledger, that means to post the payment/collection of the money in the bank.
Note: We recommend to configure for "Spain" at least 2 additional remittance type, to be used just in case of "Payment In" transactions:
- Name = Remit for discount
- Payment Method = Discount Remittance
- End-user could consider to create a payment method for Remittance which just allows "Payment In" transactions which needs to be collected before its due date.
- Remit for Discount = Yes
- Payment Method for Discount = Wire Transfer (by example). This is the payment method to be used for managing the collection of the payments in before its due date. The bank can transfer in advance the collection of the payments in before its due date, in other words before the date when the customer may pay its debt.
- G/L item = Discount Risk, linked to the ledger account 52080 "Deudas por efectos descontados" (Spain)
- Posting allowed = Yes
- Java Class Name = empty
- Sent Account = 43110 "Efectos Comerciales Descontados" (Spain)
- Settlement Account = 57200 "Bancos" (Spain)
- Name = Remit for collection
- Payment Method = Collection Remittance
- End-user could consider to create a payment method for Remittance which just allows "Payment In" transactions to be collected on its due date.
- Remit for Discount = NO
- Posting allowed = Yes
- Java Class Name = empty
- Sent Account = 43120 "Efectos Comerciales en Gestión de Cobro" (Spain)
- Settlement Account = 57200 "Bancos" (Spain)
Finally, end-user could also create as many "Remittance Types" as "Financial Accounts" to be used in order to get the proper accounting.
Let's imagine that we do have two financial accounts "Bank 1" and "Bank 2", and the ledger "bank" account for each of them is 57201, in the case of "Bank 1", and 57202, in the case of "Bank 2").
If that is the case we will need to create two remittance types, one pointing to the "Bank" ledger account 57201 as settlement account, and the other one pointing to the "Bank" ledger account 57202.
Multi-currency Remittance Types configuration
As already mentioned, it is also possible to configure remittances which do allow to remit orders/invoices or payments in other currency than the financial account currency or even mix currencies within the same remittance.
For doing so, "multi-currency" remittance type needs to be related to a payment method which do allow making/receiving payments in other currencies.
For instance, "Remit for collection" remittance type above can allow to remit sales invoices in an other currency than the financial account currency, if it is related to a "Payment Method" (i.e. "Payment In Remittance Multi-currency), that allows "Receiving Payments in Multiple Currencies". See image below:
Multi-currency Remittance Types accounting
It is required to properly defined conversion rates valid from-to within a given period range in the "Conversion Rates" window.
That conversion rates are going to be used while posting remittances that include transactions in both EUR and USD currencies for instance being post to a general ledger in EUR.
In that case USD to EUR conversion rate valid at a given period range will be required.
It is important to remark that:
A) A remittance can include either invoices, orders or payments.
Depending on the transaction type included in a remittance the conversion rate "valid from-to date" used while posting any of its phases can change.
b) Besides the above remittance process has 4 steps that can be post to the ledger:
- remittance post = once processed a remittance can be post to the ledger to reflect that accounts payable/receivable balance is now moved to a different account.
- remittance settlement post = a remittance can be settled to reflect that the money has been finally either collected or paid. This step can also be post to the ledger.
- remittance discount post = a payment in remittance for discount once processed creates an additional discount payment to reflect that the money is being paid by the bank before its due date. That discount payment can also be post to the ledger.
- remittance protest post = a remittance can be protested to reflect that the money has not been finally either collected or paid. This step can also be post to the ledger.
Having said that, it can be summarized that:
- if an invoice is being remitted valid conversion rate from-to date to be used while
- posting the remittance:
- is the one set at invoice accounting date, that can either be defined in the conversion rates window or entered in the invoice, "Exchange Rates" tab.
- posting remittance settlement/discount:
- is the one defined at settlement/discount accounting date
- posting remittance protest:
- is the one set at invoice accounting date, that can either be defined in the conversion rates window or entered in the invoice, "Exchange Rates" tab.
- posting the remittance:
- if an order is being remitted valid conversion rate from-to date to be used while
- posting the remittance:
- is the one set set at remittance transaction date
- posting remittance settlement/discount:
- is the one defined at settlement/discount accounting date
- posting remittance protest:
- is the one set at remittance transaction date
- posting the remittance:
- if a payment is being remitted valid conversion rate from-to date to be used while
- posting the remittance:
- is the one set at corresponding invoice accounting date, that can either be defined in the conversion rates window or entered in the invoice, "Exchange Rates" tab.
- posting remittance settlement/discount:
- is the one defined at settlement/discount accounting date
- posting remittance protest:
- is the one set at corresponding invoice accounting date, that can either be defined in the conversion rates window or entered in the invoice, "Exchange Rates" tab.
- posting the remittance:
Finally, bank revaluation Gain&Loss accounting entries caused by currency conversion changes at the time of settlement/discount posting, are also going to be created.
Financial Accounts configuration
Remittance payment methods need to be related to the financial account to be used while sending remittances to the bank.
For doing that end-user must navigate to the "Financial Account" window which can be found at the application path:
Financial Management // Receivables & Payables // Transactions // Financial Account
For a given financial account setup as "Bank" type, the payment method "Remittance" must be included in the "Payment method" tab.
Above setup implies that every time that a remittance is created for a given financial account only those "remittance" payment methods linked to that financial account could be selected.
It is also required that the financial account to be used for "Remittance for Discount" type, has:
- a "Discount Payment Method" set up in the tab "Payment Method", by example a "Transfer" payment method.
- and a "Business Partner" set up in the field "Business Setup" of the Financial Account.
The reason why is:
- In the case of a "Remittance for Discount", the bank will pay to the company the remittance amount in advanced, in other words:
- the company will receive a payment in of the remittance amount, from a business partner who is the bank.
Additionally, it is required to select payments from financial accounts in which payment method "Remittance" is not configured.
This is required when the company receives a promissory note and it is deposited in a "cash drawer" (financial account). When payment is made, the promissory note may be remitted in the financial account in which is to be deposited. This financial account must be configured with "Remittance" payment method.
Business Partner configuration
It is required to setup for each business partner the "Payment Method" and the "Financial Account" which are going to be used by default while managing payments for that business partner.
For doing that end-user must navigate to the "Business Partner" window, which can be found at the application path:
Master Data Management // Business Partner
- In the case of a Vendor, "PO Payment Method" and "PO Financial Account" can be setup by default in the "Vendor" tab.
- In the case of a Customer, "Payment Method" and "Financial Account" can be setup by default in the "Customer" tab.
It is important to remark that it is possible to include in a Remittance, payments do NOT necessary linked to a remittance payment method.
Remittance Execution process
Remittance Not for Discount
A Remittance which is not setup for discount can include:
- either Payment IN
- or Payment OUT transactions
which are going to be sent to the bank in a printed format, for the bank to manage its payment on its due date.
Normally, a Remittance not for discount of Payment IN transactions is known as "Remittance for Collection".
Remittance process start by creating a remittance in the "Remittance" window which can be found at the application path:
Financial Management // Receivables & Payables // Transactions // Remittance.
Once there end-user can create a new remittance by entering below required data/input:
- Organization = organization for which the remittance needs to be created
- Document type = set to "Remittance" document type by default
- Remittance type = end-user can select in this field the remittance type to be used
- Transaction date = this is the remittance transaction date which is also going to be the accounting date after posting the remittance
- Expected Date = the system will only show for its selection and inclusion in the remittance, the transactions with a due date before or equal to the expected date entered in this field by the user.
- Name = Remittance name
- Financial Account = financial account to which the remittance is going to be sent in a printed format
- Single Payment = No.
- This field if selected allows to create just one payment for all remittance lines. For getting that working all remittance lines need to have at least the same currency.
After that, end user will be able to select:
- payment in/out to include in the remittance, by using "Select Payments" process button.
- orders and/or invoices to include in the remittance, by using "Select Orders or Invoices" process button.
Once in the "Select Orders or Invoices" window, see image below, it is possible to:
- select transactions for alternative payment methods by clicking on the "Show payments for alternative payment methods" check-box
- and select transactions for alternative currencies by clicking on the "Show payments for alternative currencies" check-box.
This last one is allowed only if the payment method related to the remittance type selected for the financial account, allows to receive/make payments in multiple currencies.
Once the transactions have been selected and processed, the system will show them in the "Lines" tab.
After that end-user can process the remittance by using "Process" button in the top. Depending on the "grouping" option selected while processing, the system will create:
- as many payments as lines
- or as many payments as business partners in case of grouping by business partner
- or as many payments as business partners and due dates in case of grouping by business partner and due date
- or as many payments as invoices in case of grouping by invoice.
- or as many payment as invoices and due dates in case of grouping by invoices and due date.
After that end-user can post the remittance by using "Post" process button in the top. Remittance posting will look like:
Payment IN (Remittance)
Remittance type - Sent Account (DEBIT)
Receivables account (CREDIT)
Payment OUT (Remittance)
Payables account (DEBIT)
Remittance type - Sent Account (CREDIT)
Later on the Bank will let the end-user know which transactions included in a remittance have either finally collected or paid, and when. Once known end-user should either "Settle" or "Protest" remittance lines in the window "Settle / Protest Remittance".
and get them posted to the ledger by going back to the remittance window "Settled" or "Protested" tabs.
The system will then show below posting:
Payment IN - Remittance Settle
Remittance Type - Settlement Account (DEBIT)
Remittance Type - Sent Account (CREDIT)
Payment IN - Remittance Protest
Accounts Receivable (DEBIT)
Remittance Type - Sent Account (CREDIT)
Payment OUT- Remittance Settle
Remittance Type - Sent Account (DEBIT)
Remittance Type - Settlement Account (CREDIT)
Payment OUT- Remittance Protest
Remittance Type - Sent Account (DEBIT)
Payables account (CREDIT)
It is possible to redraw unpaid payments with status "Awaiting Execution", by including them in a remittance:
- end-user will be able to do so manually by creating a new remittance and selecting the payment
- or it will possible to do it automatically while executing the payment from the "Payment In" "Payment Out" window, and selecting the option "Include in an existing remittance or create a new one".
It is also possible to write-off an unpaid payment which was included in a Remittance:
- automatically while executing the payment, and selecting the option "Write-off".
Remittance for Discount
A Remittance for discount can include:
- Payment IN transactions
which are going to be sent to the bank in a printed format, for the bank to manage its collection before its due date (discount date).
Remittance process start by creating a remittance in the "Remittance" window which can be found at the application path:
Financial Management // Receivables & Payables // Transactions // Remittance.
Once there end-user can create a new remittance by entering below required data/input:
- Organization = organization for which the remittance needs to be created
- Document type = set to "Remittance" document type by default
- Remittance type = end-user can select in this field the remittance type to be used, which in this case is a remittance setup as "Remit for Discount"
- Transaction date = this is the remittance transaction date which is also going to be the accounting date after posting the remittance as well as the discount charge date
- Expected Date = the system will only show for its selection and inclusion in the remittance, the transactions with a due date before or equal to the expected date entered in this field.
- Discount Date = end-user can enter here the discount date agreed with the bank.
- Name = Remittance name
- Financial Account = financial account to which the remittance is going to be sent in a printed format
- Single payment = No
After that, end user will be able to select:
- payment in to include in the remittance, by using "Select Payments" process button
- sales orders and/or sales invoices to include in the remittance, by using "Select Orders or Invoices" process button.
Once in the "Select Orders or Invoices" window, once more it is possible to:
- select transactions for alternative payment methods by clicking on the "Show payments for alternative payment methods" check-box
- and select transactions for alternative currencies, by clicking on the "Show payments for alternative currencies" check-box.This last one is allowed only if the payment method related to the remittance type selected for the financial account, allows to receive/make payments in multiple currencies
Once the transactions have been selected and processed, the system will show them in the "Lines" tab.
After that end-user can process the remittance by using "Process" button in the top. Depending on the grouping option selected while processing, the system creates:
- as many payments as lines
- or as many payments as business partners in case of grouping by business partner
- or as many payments as invoices in case of grouping by invoice.
Additionally, a"Discount payment" is also created.
Once executed and posted in the "Payment In" window, the system will show below posting:
Bank Payment Method for discount - Upon Receipt or Upon Deposit Use Account (DEBIT)
Remittance Type - GL item account (CREDIT)
Note: Above posting would depend on how the "Discount" Payment Method has been setup.
If the account used is upon receipt, the account "upon deposit" will be later on use, while posting the transaction in the Financial Account window.
In that case, below posting will then be shown:
Bank Payment Method for discount - Upon Deposit Use Account (DEBIT)
Bank Payment Method for discount - Upon Receipt Use Account (CREDIT)
After that end-user can post the remittance by using "Post" process button in the top.. The system will then show below posting:
Remittance type - Sent Account (DEBIT)
Receivables account (CREDIT)
Later on the Bank will let the end-user know which transactions included in the remittance for discount have either been finally collected on the due date or not.
Once known the end-user should either "Settle" or "Protest" remittance lines in the window "Settle / Protest Remittance", and get them later on posted to the ledger by going back to "Remittance" window, "Settled" or "Protested" tabs. The system will then show below posting:
Remittance Settle
Remittance Type - GL item account (DEBIT)
Remittance Type - Sent Account (CREDIT)
Remittance Protest
Receivable account (DEBIT)
Remittance Type - Sent Account (CREDIT)
It is also required to create a payment out for the bank for the unpaid payment by using the Remittance Type - GL item in the Financial Account. The system will then show below posting:
Remittance type - G/L item account DEBIT
Financial Account - Withdrawal Account CREDIT
This version of the module does not include the accounting logic for Remittance Protest. In the case of either a "Remittance for collection" or a "Remittance for discount", end-user will have to manually create that kind of posting by using a GL Journal. Posting will look like as shown below:
Manual booking after a "Remittance Protest":
(43150) Protest Remittance DEBIT
(43000) Account Receivable CREDIT
Manual booking before a "Remittance Protest" redraw:
(43000) Account Receivable DEBIT
(43150) Protest Remittance CREDIT
It is possible to redraw unpaid payments with status "Awaiting Execution", by including them in a remittance:
- end-user will be able to do so manually by creating a new remittance and selecting the payment
- or it will possible to do it automatically while executing the payment from the "Payment In" "Payment Out" window, and selecting the option "Include in an existing remittance or create a new one".
It is also possible to write-off an unpaid payment which was included in a Remittance:
- automatically while executing the payment, and selecting the option "Write-off".