We often have participants for an event who have a portion of their fee paid by another entity. Sometimes, the other entity pays for more than one participant in the same transaction. I realize that Civi doesn't have an out-of-the-box method to handle this, so I've been toying around with an extension to make it happen.

What I don't understand is this: If J.Smith makes a $200 contribution that is to pay for Participant A ($100) and Participant B ($100), it would seem that creating a new entity_financial_trxn as follows would do the trick:

  • entity_table = "civicrm_contribution"
  • entity_id = contribution id of the participant payment
  • financial_trxn_id = id of the transaction for J.Smith's contribution
  • amount = 100

But this applies the full amount of J.Smith's contribution ($200) to the Participant Payment, rather than just $100. This is not what I expect when entity_financial_trxn.amount is the "allocated amount of transaction to this entity".

I guess my question is: Is this in fact the intended behavior? If not, what is the purpose of entity_financial_trxn.amount?

(I should also note that we do not use civi's accounting features, so maintaining audit-level financial transactions is not a concern.)

Civi 5.19.1

  • cant you do this by using line item for the participant? – Pradeep Nayak Feb 11 at 21:57

I would suggest

  1. Create participant for Participant A
  2. Create participant for Participant B
  3. Create a $200 contribution against J.Smith contact
  4. Add line $100 line item for Participant A and Participant B with contribution id from #3
  5. Add participant payment entry linking contribution from #3 with participant id from #1 and #2.

If you are using drupal than whole process can be done using webform without any customization. (Probably caldera form for wordpress)

Thanks Pradeep

| improve this answer | |
  • Thanks for the suggestion, but this doesn't get me what I am looking for. This results in an additional line item added to the participants, in addition to what is already the total fee, so the original Participant line item selection needs to be edited. But even more importantly, the additional participant_payment entry doesn't show up at all. (Does Civi assume only one payment per participant entry?) Even if the payment showed up, there's nothing in a participant_payment that would indicate that only a portion of the contribution should be applied (as with entity_financial_trxn). – Phil Morice Brubaker Feb 12 at 15:29
  • If your system dont want to maintain accounting entries than you should not think of civicrm entity financial trxn entries.. portion of payments can be handled in line item it self. If its a case a participant can have multiple line items and only few line items he will pay than probably you may need to think adding a entity table to manage that or use soft credit functionality – Pradeep Nayak Feb 12 at 15:50
  • Upon further exploration, I think this does get me there. I do have the case where the participant pays some themselves, and others pay for a portion. But, I think you have me on the right track to sort it out. – Phil Morice Brubaker Feb 13 at 18:39

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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