Turning in circles here and going crazy- I created a contribution page with a price set that includes numerical fields when guests want to purchase multiple individual tickets for our upcoming gala, in addition to radio button options.

Nowhere am I able to create a contribution report that exports the total transaction amount and the value for this numerical field. For example, I want to quickly see that $1800 = 2, $900 tickets. So I will need the item price $900, quantity =2, and total = $1800.Obviously I can infer this but I want to export this quickly and frequently and be able to forward to my team without manual manipulation.

I've tried a contribution details report, find contributions, and a Civi bookkeeping transactions report with filters by my target financial type. None of these options are giving me the data I need. I thought this was a relatively simple ask...but not with Civi...I contacted our support who was also stumped and advised to use pivot charts which I'm not an export in. I also tried IF formulas in excel and I have too many criteria. I just want my simple registration data.

...can anyone point me in the right direction?...

2 Answers 2


The Extended Reports extension has a couple price set reports that should give you what you need.

Another option would be to build your own table in SearchKit.


Below is a SearchKit that I quickly threw together and exported. Install it by going to Search menu » SearchKit, then clicking Import (it's just under the New Search button. It shows each line item in its own row, though you could group together for one line per registration.

Lars's suggestion of Extended Reports is easier to customize to your needs, but this is more flexible. You also don't need to install an extension.

Ideally in the future events are set up as event pages, which have better support for listing tickets purchased this way, but this or Extended Reports will get you similar functionality with a Contribution Page.

      "records": [
          "name": "Line_Item_Example",
          "label": "Line Item Example",
          "form_values": null,
          "mapping_id": null,
          "search_custom_id": null,
          "api_entity": "Contribution",
          "api_params": {
            "version": 4,
            "select": [
            "orderBy": [],
            "where": [],
            "groupBy": [],
            "join": [
                "LineItem AS Contribution_LineItem_contribution_id_01",
            "having": []
          "expires_date": null,
          "description": null
      "match": [
  • As an aside @KHeath - if your support can't answer a simple question with a better answer than "Pivot Tables", you should consider replacing your support: civicrm.org/civicrm/experts Aug 16, 2023 at 2:34
  • Thank you both so much for these suggestions! Incredibly helpful and it will make our lives so much easier going forward. The gala takes a lot of staff time and attention and we're constantly checking the contributions to see if our outreach efforts have converted into tickets and revenue.
    – Kheath
    Aug 17, 2023 at 19:04

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.