I've tried importing participants in the standard way, then importing contributions for their event deposits (partial payments), then using API CSV import to connect them via a ParticipantPayment import. However, things don't seem to behave correctly afterward.

Bringing the data directly in via SQL on civicrm_participants, civicrm_contributions, and civicrm_participant_payments doesn't seem to work either.

What is the correct way to convert in the data so these participants will be connected with their deposits?

1 Answer 1


In the end, this can't be done with a simple import. We must populate all of the following tables:

  • civicrm_participant
  • civicrm_line_item
  • civicrm_contribution
  • civicrm_participant_payment
  • civicrm_financial_item
  • civicrm_financial_trxn
  • civicrm_entity_financial_trxn

Given that complexity, I created a staging table and brought it all in via SQL scripts.

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.