Projects:Reversepayment/Functional Specs
Contents |
Reverse Payment - Functional Specifications
Overview
This project aims to enhance payment processing option with the possibility to reverse a payment.
Purpose
Once a payment has been created and processed, this process will add the possibility to create a new one opposite to original.
This is a useful feature to support bounced checks. Once the bank communicates a check has been bounced, this process permits user to revert payment process and leave open items exactly as they were prior to check payment.
Scope
Payment processing will be enhanced with a new option which allows user to reverse an existing payment.
This process will be launched from payment window using reactivate button.
A new option (Reverse) will be available, and when selecting it it will create a new payment equal to original but opposite.
When process finishes it will display a message showing the document number for the newly created payment.
Assumptions
Dependencies
This feature belongs to Advanced Receivables And Payables module and it is dependent on core.
Constraints
Those payments with a generated credit amount different to zero and having that credit being used can not be reversed meanwhile the credit consumption is not undone.
User stories
- May 1: Invoice A for $100 payment terms immediate
- May 1: Check #1015 for $100 is received - Invoice A is considered paid.
- May 15: I go to the bank and deposit the check; my bank account balance is immediately incremented by $100.
For example, assuming that the balance in the morning of May 15 was $1,000; on May 16th, my bank statement shows:
- May 16, 2012 - Check #1015 deposit $100 Account Balance: $1,100
If on May 16, 2012, I reconcile my bank account, everything is fine.
- May 18: the bank reports that that the check bounced; the statement looks like:
May 18, 2012 - Check return -$100 Account Balance: $1,000
May 18, 2012 - Return handling fee -$25 Account Balance: $975
If I import at this point the bank statement into Openbravo, I need to record two new transactions:
- The first one causes the May 15th deposit to be reversed; it also causes invoice A to be marked as unpaid
- The second one needs to be accounted as a bank fee using a GL item
I then have the option to raise an addition invoice for $25 to the customer to recover this expense.
The payment date of the second should be defaulted to today, but should be possible to edit it.