We have been using CiviCRM's 'Campaign' functionality as a way of assigning additional information to contributions. It's how we have made CiviCRM more compatible with our Quickbooks, which makes extensive use of 'Classes'. So we match up 'Financial Types' from Civi with 'Accounts' in Quickbooks, and match 'Campaigns' in Civi with 'Classes' in Quickbooks. This has worked well as long as all financial types on a given Contribution page in CiviCRM were associated with a single 'Campaign'.
However we now have a need for contribution pages that not only record different financial types (through price sets), but also record different campaigns. The intention is to allow people to contribute towards multiple things with a single payment- for example: if I were to donate towards the 'Event Scholarship Fund', make a payment for my Membership, and make a donation towards the 'San Francisco Center', those would each have separate accounts and separate classes when they are entered into Quickbooks.
I would like to give donors the option to contribute towards many different areas and only have to enter their payment info once. As it currently is set up, I can only associate a single campaign with a contribution page. So the donor would have to visit multiple contribution pages and enter their payment info each time as it is currently set up.
Does anyone know of another way to accomplish this? To record both financial types and classes in CiviCRM?
I have considered adding a new financial type for each class and appending the class name to the end, but this would result in an unwieldy number of financial types. I thought about using custom fields in place of Campaigns, but couldn't figure out a clean way to use them to accomplish this same purpose. Campaigns work really well for us because of the way they are integrated throughout CiviCRM, but I can't figure out how to move forward with this and accept multiple donations on a single contribution page in a way that integrates with our accounting.