We are trying to streamline the billing process and would like to understand if CiviCRM is a good fit.

We've seen others use CiviCRM for walk-a-thons and bowl-a-thons. But, is it possible to execute the following:

12 Runners Donors can pledge $0.25 - $10.00 per mile on any runner up to 15 miles This pledge is doubled for running 1 bonus miles (16 total) run and tripled for running 3 bonus miles (18 total)

We need to be able to collect donor information and billing/credit card upfront and charge after the runner results are announced. For example..

If Sarah pledges $1.00/mile on Runner #1 $2.50/mile on Runner #2

Credit card information is collected upfront

Results: Runner #1 - 16 Miles = 15 miles, 1 Bonus Mile Player #2 - 8 Miles

Invoice Shows Charges for:

Player #1 - $30 ($1.00 * 15 * 2) Player #2 - $20 ($2.50 * 8)

Is this doable?

Thank you in advance,


2 Answers 2


If you are working with a Payment Processor that can tokenize credit cards then you can do this:

Have people 'register' by Starting a Recurring Series of 2 installments - an initial contribution of $1

Then when you know what $ amounts they owe you (admin) can go in a transact one time against the token (any $amount)!

Cancel the Recurring Series to prevent the token from being charged again.


Not sure if this response will still be relevant, but while what you describe can technically be achieved, you will run into PCI compliance issues by collecting credit card information up front since credit card information only passes through Civi to the payment processor - it doesn't store that information. If you forgo the collection of credit card information, then you could generate pledges from the sponsorship information in advance of the event, then modify those pledges based on the actual results, and then issue invoices for payment online.

Hope this helps, Tamar

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.