EXPLAINER: How the shopping cart works

Hi Everyone,
We introduced a shopping cart in TroopTrack 4. The cart was introduced at the request of many users, driven by the desire to reduce transaction fees paid to payment processors like PayPal and Stripe.

The initial version of the cart supports the ability to add multiple RSVPs and “Event Items” to the cart, then check out all at once. For a family with four people in an organization, this saves $.90 in transaction fees. If they also bought event tee-shirts, then the savings goes up to $1.20.

In the past there was exactly one payment transaction per RSVP or item. It was easy to figure out where to post the fees and payments in your money accounts.

Combining multiple items into one payment complicated this. Here are a few questions we had to answer that had previously been easy:

  • What do we do with the fees? Do we split them across items, ignore them, or post a transaction against the main account?
  • How do we record the item level payments so that event accounts show the correct balance?

I thought about these questions quite a bit and asked a few customers for feedback during the TroopTrack 4 Beta. I wanted the transactions to reflect what you would see when you looked in Stripe, PayPal, and your bank account. In addition, I wanted it to be obvious what you are paying in transaction fees.

So here’s what happens when someone checks out.

  1. An ORDER is created with a unique identifier. You can see all orders by going to Manage -> Money -> Orders. You can also search for them by ID.
  2. A deposit is posted to your default account for the GROSS amount (pre-fee) of the transaction.
  3. A debit is posted to your default account for the FEE of the transaction. The two transactions should together equal the net amount of the payment. (See notes below)
  4. For each RSVP & EVENT ITEM in the cart, a TRANSFER is posted from the default account to the event account.


  1. Sean RSVPs for himself, his spouse, and his three children. The event fees for adults and children are $20 each, so his total pre-fees is 100. Sean's organization doesn't require its members to cover the payment processing fees (.30 + 2.9%) so Sean pays $100.00 through Stripe when he checks out.

  2. TroopTrack creates a detailed order that lists every item Sean purchased with an ID of “34-35-asdflaslfas”.

  3. TroopTrack posts a deposit of $100 to the default money account for his organization, in this case “Troop Checking”. This deposit includes a reference to the order created in step 2.

  4. TroopTrack posts a debit of $3.20 to “Troop Checking”. The net amount of these two transactions matches the net amount in Stripe of $96.80.

  5. TroopTrack creates five transfers to the event account, in this case it’s a special account created just for this event called “Movie Night”. There is one transfer for each RSVP, and each transaction indicates the name of the person the RSVP belongs to. Each transaction is $20. The transaction into the event account is associated to the RSVP, which allows the ticket to be viewed.


  • It’s possible (for now) to use the default account as your event account. We discourage this. It makes it very confusing because we end up transfer out of and into the same account for each RSVP. The best thing to do is to create an account for events in general and a special account for big events like summer camps. In the near future we will not allow you to use the default account for events.

  • Technically it might be simpler if we didn’t post the processing fees to your account, but we’ve gotten feedback that groups want to know what they are spending on these fees. While PayPal and Stripe publish these rates ($.30 + 2.9%), they don’t go into details about how they round fractions of a cent. This means it’s possible for us to be off by small amounts on fees.

I hope this is helpful.


1 Like