I don't really understand Contribution / Payment Method (Instrument) workflow. This is a typical scenario when creating Contributions (In many organizations that collect manually the money offline):

  1. Create a Contribution, Status: Pending, Payment Instrument: EFT/Bank (or any custom) enter image description here

  2. Then when go back to Contribution to Edit it, Payment Method drop-down is not displayed anymore (the only place to see the selected method is in Contribution / View) enter image description here

  3. Change Contribution Status to Completed

  4. It creates a new payment, but its Payment Method is empty enter image description here

So this behavior is kind of confusing, and I've got some questions to understand the logic behind it:

  1. Why Payment Method is available to be selected when you create a Contribution, but then when go back to Edit it, it disappears ? (just the drop-down, the payment_instrument_id value still stored in civicrm_contribution table)
  2. Why when Completing the contribution, the payment created doesn't share the Payment Method of its parent contribution?
  3. Is there any internal difference between Completing a Contribution or Recording a Payment?. Recording a Payment allows to select a Payment Method, but what's the point to select one for the Contribution then?

I think it's kind of confusing the way this was implemented in 4.7/5.x, but maybe I'm missing another point of view to understand it.

PS: this is based on CiviCRM 5.4.0

2 Answers 2


The reason is probably that no financial transaction (which is different from contributions) is recorded for pending contributions.

Once you have a financial transaction e.g. if you change the status to completetes you will be able to edit it in the edit contribution screen (click on the little pen - see screenshot). edit contribution screen

I think this behaviour was introduced only recently and I am not sure if it is a bug or a feature that you cannot change the payment instrument before you have a financial transaction.


my observation is that whether the contribution was pending or not in the first place, you can no longer change the payment method without generating this history log. And, even if you do attempt to change the payment method, it does not change it. enter image description here

  • 1
    how can you change the Payment Method if the dropdown is hidden after Creation? Anyway I'm feeling this Contributions / Payments / Methods workflow it's not very consistent, this could a be good place to discuss with others about this issue
    – luciano_s
    Aug 30, 2018 at 16:44
  • That's true it seems like the payment method is still stored with the contribution as well and cannot be changed via the UI after creation :(
    – Fabian
    Sep 3, 2018 at 6:44
  • Theres is an issue for this problem on gitlab: lab.civicrm.org/dev/core/issues/306
    – Fabian
    Sep 3, 2018 at 8:00
  • Recently upgraded, didn't know about this change. My users are hopping mad. It also appears some of the donation reports use the payment type entered first and no amount of changing it after the fact (adding rows in the lower section) will get the donation to show up on the reports. The only fix seems to be to delete the whole contribution and start over. So much for audit trail which seems to be the argument for why this was changed in the first place
    – Paul-Tahoe
    May 15, 2019 at 17:24

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.