I may be missing something obvious, but what is the best way to capture billing information for an event registration, including for a registration of multiple people?

What I mean is, in addition to providing a credit card option, we allow optionally providing billing name, address, fax, and email.

Currently we are using a profile for the additional billing information (billing name, address, fax, and email), which gets attached to registrant #1. This caused a problem at first - an email address supplied for billing would overwrite the email address on registrant #1. "Solved" by replacing the email field in the billing profile with a new text field that is just for the profile (but unfortunately is not an email field, so is not validated for email).

Is there a better way, to collect this information and have it attached to the event registration itself, not to one of the contacts?

2 Answers 2


When you say registration, do you mean "of membership"?

If it's just registration of being part of your organisation, perhaps attach it to an activity of type "Registration" on the contact.

However, your message concerned me. In general CiviCRM isn't used for credit card information - there are a lot of laws surrounding how that information is stored. Tangentially, you should also read: https://en.wikipedia.org/wiki/Payment_Card_Industry_Data_Security_Standard

In general we would advocate using a dedicated payment processor extension and only storing transaction Ids in Civi.

  • Event registration - CiviEvent. Registering for an event. No, of course we don't store credit card details.
    – GHolmes
    Mar 13, 2016 at 12:09
  • When people don't pay by credit card, we capture billing details - billing contact person, email, address, fax - to invoice them. We've been capturing that in a profile - which doesn't make much sense for multiple registrations, in my opinion (since it is a profile and attaches to registrant #1).
    – GHolmes
    Mar 13, 2016 at 12:09
  • Not to mention it causes the email address to be overwritten on registrant #1 if you use a contact email field - and I'm not seeing (probably just missing it?) how to use any other email field in this profile, because when I add a new custom field to the profile an email address type doesn't seem to be an option, so we had to replace it with a text field that isn't validated for email. We were hoping there is a better way? To capture billing information for a group registration?
    – GHolmes
    Mar 13, 2016 at 12:09
  • Greg - I guess I am not following, but do you have your Billing profile set so that it only shows on Participant 1, or the subsequent ones as well?
    – petednz - fuzion
    Mar 13, 2016 at 20:48
  • I see I never came back to this ... sorry :) The idea was that one organization might register four (say) of their people for an event. If they did not pay by credit card, then we needed to collect information for a billing contact - one person, one point of contact to send an invoice to, call with questions/problems, and so forth. And the billing person might not be a registrant.
    – GHolmes
    Sep 23, 2016 at 12:59

I would suggest making the Contact 1 an organization profile and then the billing info attached to that profile with a contact name. Then additional profiles could be individuals that would collect whatever info for them.

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.