Projects:Aprmadvancedmatching/Functional Documentation advancedmatching
Contents |
Advanced Matching Algorithm
Introduction
The existing "Standard" Matching Algorithm allows Imported Bank Statement lines to be matched just with existing financial account transactions.
The "Advanced Matching Algorithm" new feature must allow Imported Bank Statement lines to be matched not only with existing financial account transactions but also with existing payments, invoices, orders or by registering credit for the Business Partner.
Process Overview and Assumptions
It is possible to import a "Bank Statement" file for a given "Financial Account" at the application path:
" Financial Management // Receivables & Payables // Transactions // Financial Account",
as the first step for Reconciliation process.
It is also possible to select a "Standard" Matching Algorithm for a given "Financial Account", at the application path:
"Financial Management // Receivables & Payables // Transactions // Financial Account // Account - Matching Algorithm field",
which allows to match the imported bank statement lines to existing financial account transactions.
There should be a new "Advanced Matching Algorithm" which allows matches to:
- existing financial account transactions (current behaviour), and..
- "Payments in/out" if the financial account transaction is not found
- "Invoice payment plan" if a payment in/out is not found
- "Order payment plan" if an Invoice payment plan is not found
- and finally to generate a credit for a Business Partner in case there are no transactions to match found.
Besides the "Advanced Matching Algorith" must also:
- Create the corresponding financial accounts transactions after matching.
- Allow unmatching at any time at described below:
- The matches should be highlighted in Green and be already checked as Matched.
- It should be possible to "unmatch" a proposed match and then manually rematch that line using the existing "find" or "add" processes.
- Once the user has completed the matching process they click on the "Reconcile" button. This then triggers the accounting events defined by the accounting workflow.
Design Considerations
A new module needs to be created for the "Advanced Matching Algorithm"
The new "Matching Algorithm" could be setup as by default "Matching Algorithm" for a given Financial Account at the application path:
"Financial Management // Receivables & Payables // Transactions // Financial Account // Account - Matching Algorithm field"
This new module must contain a new mathing logic as described in the section below.
Overall Module Information
- Name: Advanced Matching Algorithm
- Description: This module allows Imported Bank Statement lines to be matched not only with existing financial account transactions but also with existing payments, invoices, orders or by registering credit for the Business Partner.
- Help: The Standard Matching Algorithm allows Imported Bank Statement lines to be matched just with existing financial account transactions.
The "Advanced Matching Algorithm" adds the possibility to match a bank statement line with a "payment" if the financial account transaction is not found; or with an "invoice payment plan line" if a payment is not found; or with an "order payment plan line" if an invoice payment plan lines is not found; and finally to generate a credit for a Business Partner in case there are no transaction to match found. "Advanced Matching Algorithm" also creates the corresponding financial accounts transactions while matching and finally it adds unmatching at any time. - License: Openbravo Commercial License
Advanced Matching Algorithm
There should be a new "Advanced Matching Algorithm" which allows matches to:
- the existing financial account transactions same way as "Standard" matching alogithm allows, which can be found at the application path:
"Financial Management || Receivables & Payables || Transactions || Financial Account || Account >> Transactions "
and it should also allow matches to:
- either a "Payment in" or a "Payment out" as applicable, if the corresponding "financial account transaction" has not been created yet and therefore, it can not be found.
- the advanced matching must also create the corresponding "financial account" transaction with "Cleared" status = Yes, once matched.
- either a "Purchase/Sales invoice payment plan" as applicable, if the corresponding payment out/payment in has not been created yet and therefore, it can not be found.
- the advanced matching must also create the corresponding "payment in" or "payment out", as applicable to be later on posted; and besides, change the Outstanding amount field to 0,00
- the advanced matching must also create the corresponding "financial account" transaction with "Cleared" status = Yes, once matched.
- either a "Purchase/Sales Order payment plan" as applicable, if the corresponding "Purchase/Sales invoice payment plan" has not been created and therefore, it can not be found
- the advanced matching must also create the corresponding "payment in" or "payment out", as applicable to be later on posted; and besides, change the Outstanding amount field to 0,00
- the advanced matching must also create the corresponding "financial account" transaction with "Cleared" status = Yes, once matched.
- the order payment plan information will be inherit by the invoice payment plan, if the invoice is created by using the option "Create Lines From".
and finally, in case there is no transaction of any of the transaction types detailed above created, the advanced maching must alow to:
- generate a credit for a the corresponding Business Partner to be later on used.
All the matches should be highlighted in Green and be already checked as Matched.
Besides the "Advanced Matching Algorith" must also alow unmatching at any time, as described below:
- It should be possible to "unmatch" a proposed match at any time, even after a transaction has been selected to be match.
- It should be possible to manually rematch a line being first match and then unmached by the end-user manually, by using the existing "find" or "add" processes.
Once the user has completed the matching process they click on the "Reconcile" button. This then triggers the accounting events defined by the accounting workflow.
Matching Criteria
- Payments matching criteria:
- The Organization of the payment must belong to the Organization tree of the Bank Statement.
- The "Business Partner" of the payment must match the Bank Statement Line Business Partner
- The payment amount sign must match the BanK Statement Line sign
- a negative sign means a payment out
- a positive sign means a payment in or receipt
- The payment amount must match the Bank Stament Line amount
- The payment currency must math the Bank Statement currency
- The payment date must be = or < to the Bank Statement Line date
- and finally, in case all of the above match:
- In case of several payments with the same payment date, the advanced matching algorithm will take into account the payment document number, the oldest document number will be taken first.
- Invoices matching criteria:
- The Organization of the invoice must belong to the Organization tree of the Bank Statement.
- The "Business Partner" of the invoice must match the Bank Statement Line Business Partner
- The invoice amount sign must match the BanK Statement Line sign
- a negative sign means a payment out
- a positive sign means a payment in or receipt
- The invoice amount must match the Bank Stament Line amount
- The invoice currency must math the Bank Statement currency
- and finally, in case all of the above criteria match:
- The payment priority must be taken into account at first sort if any. Those invoices with a higher priority will be matched first. (For more information about Payment Priorities module, take a look here:"Payment Priorities" )
- The due date must be taken into account at second sort. Those invoice having the same payment priority or those invoices with no payment priority, will then be matched by having into account the closest payment plan due date.
- The Document Number must be taken into account at third sort. Those invoices having the same payment priority and the same payment plan due date, will then be matched by having into account the invoice document number, the oldest invoice document number will be taken first.
- Order matching criteria:
- The Organization of the order must belong to the Organization tree of the Bank Statement.
- The "Business Partner" of the order must match the Bank Statement Line Business Partner
- The order amount sign must match the BanK Statement Line sign
- a negative sign means a payment out
- a positive sign means a payment in or receipt
- The order amount must match the Bank Stament Line amount
- The order currency must math the Bank Statement currency
- and finally, in case all of the above criteria match:
- The payment priority must be taken into account at first sort if any. Those orders with a higher priority will be matched first.
- The due date must be taken into account at second sort. Those invoice having the same payment priority or those invoices with no payment priority, will then be matched depending on the closest payment plan due date.
- The Document Number must be taken into account at third sort. Those orders having the same payment priority and the same payment plan due date, will then be matched by having into account the order document number, the oldest order document number will be taken first.
- Credit payment matching criteria:
- The credit payment amount sign relies on the BanK Statement Line sign
- a negative sign means a credit payment out creation
- a positive sign means a credit payment in creation
- The credit payment amount sign relies on the BanK Statement Line sign
User Interface changes
End-user must be informed of the type of document being match with a bank statement line, therefore:
- there should be a new column named "Matched Document" at the "Match using imported bank statement lines" window, as shown below: