Details
-
Type: New Feature
-
Status: Done/Fixed
-
Priority: Trivial
-
Resolution: Won't Fix
-
Affects Version/s: 4.7.10
-
Fix Version/s: 4.7.12
-
Component/s: CiviContribute
-
Labels:None
-
Documentation Required?:None
-
Funding Source:Needs Funding
Description
Issue:
The problem is that currently CiviCRM forces a payment method, which is linked to a financial account, to be provided for pending pay later transactions. It is initially used to determine the Accounts Receivable asset account to be used. But unless the person recording the payment later remembers to change it, the default payment method of Check is used to determine the appropriate asset/bank account for the bookkeeping entry. This can mess things up if a different payment method should actually be used. Plus the reporting is messy / inaccurate when reviewing transactions for Payment Method of Check, for example, when the results include some that are still in Pending status.
Trying to keep the scope constrained for this change.
Let's keep Payment Method as required, and add in the tarball and on upgrade a new option, 'To Be Determined', as per attached image.
Let's not force To Be Determined to be default until there has been some consultation and we've had some use of this new Payment Method, though that's the direction I would like to take things.
On Contribution Create (civicrm/contribute/add?reset=1&action=add&context=standalone), and on Contribution Edit when the contribution is in Pending pay later status, display To Be Determined as an option in the Payment Method drop down. Add a validation to prevent To Be Determined from being the Payment Method if the status <> Pending. (NB: future work could improve treatment of accounts for Refund Pending.) Do not include To Be Determined as a Payment Method option when editing a contribution with other statuses, or on the Record Payment/New Payment form currently available for Events and soon to be added for other contributions. Do a validation just to be safe to prevent it from being saved in this case.
Implement same approach for New Membership (civicrm/member/add?reset=1&action=add&context=standalone) and Register Event Participant (civicrm/participant/add?reset=1&action=add&context=standalone) when Record Payment is enabled, treating the field labeled Payment Status as same as status in previous paragraph.
For front end contribution/membership and event registration forms, when Pay Later is selected, let's leave the Payment Method defaulting to Check.
Pradeep, I don't think that Payment API has payment method as a field, but I think the Contribution API has it. Please ensure there is validation added to the API to prevent To Be Determined from being the Payment Method except in cases where the contribution status is Pending.
Attachments
Issue Links
- supplements
-
CRM-18573 Don't force payment for backoffice pending contribution
- Done/Fixed