A family of four walks up to the admissions desk with a membership card, a AAA card, and a coupon from the local paper. Can they use all three? The answer you want probably depends on the day: yes, if it’s a slow February afternoon and you want them to come back; no, if it means you’re giving away the gate on a holiday weekend. Altru doesn’t know which day it is. It only knows how your discounts are set up.
Stacking is the question of whether two or more discounts can apply to the same item or order. Some organizations want it on purpose, for example a member discount plus a one-day promo. Others discover it by accident when a reconciliation report shows admissions going out at a fraction of the posted price. Either way, the behavior comes from a few configuration choices you can control.
Decide the rule before you touch the setup
Write your stacking policy in one or two sentences before changing anything. A few common versions:
- No stacking, ever. One discount per order (or per ticket), and staff pick the best one for the guest.
- Member pricing plus one promotion. Membership pricing is the baseline, and a single promo or partner discount can apply on top.
- Stacking allowed, with a floor. Combine freely, but never below a minimum price, or never on certain programs or events.
If you can’t write the rule, the setup will drift. Front desk staff will each make their own call, and online sales will do whatever the configuration allows.
The pieces in Altru that control stacking
Price types versus discounts
The cleanest way to stop member discounts from stacking is to not treat membership as a discount at all. If members buy at a member price type (Member Adult, Member Child) instead of a regular price with a percentage off, then a promo discount applies to an already-reduced price, and the member benefit can’t be applied twice. It also makes reports easier to read, because the member price shows up as its own line rather than as a discount amount.
The tradeoff is more price types to maintain, and every program and event needs those price types added. For organizations that only discount members, that’s often worth it.
Item-level and order-level discounts
Depending on how each one is set up, a discount may apply to individual items or to the whole order. Mixing the two is where most unexpected stacking comes from: a ticket-level member discount plus an order-level promo code can both land on the same purchase. Review each active discount and note which level it works at. If your policy is “one discount only,” keeping all discounts at the same level makes the outcome far more predictable.
Automatic versus manually applied discounts
Some discounts apply automatically when conditions are met (such as a membership on the constituent record), and others are chosen by staff or entered as a promo code. Automatic discounts are the ones that surprise people, because staff may not realize one already applied before they add a second. Make a list of which discounts are automatic, and train the desk on them specifically.
Qualifications and limits on each discount
Depending on your configuration, discounts can usually be limited by sales channel, program, date range, and similar conditions. Confirm which limits are available on your discounts, then use them to keep discounts from overlapping in the first place. A partner discount that only applies at the desk, and a promo code that only applies online, can’t stack on the same order.
Is there a single “don’t combine” switch?
We’re not aware of one universal setting that tells Altru to apply only one discount per order across every discount type, and the exact options vary with how your discounts and sales channels are configured. Don’t assume. Confirm it two ways:
- Test it. In a sandbox or test environment, ring up an order with a member, apply a promo code, then add a staff-applied discount. Do the same through your online sales path. Record exactly which discounts applied and the final price.
- Ask Blackbaud support with that test in hand. A specific scenario (“member discount plus promo code on a general admission order”) gets a much clearer answer than “can we stop stacking?”
If the system can’t enforce the rule you want, enforce it with configuration (price types, channel limits) and with a short desk procedure.
Catch stacking after the fact
Even with good setup, check periodically. Build a query of orders from the last month with more than one discount applied, or where the discounted amount is a large share of the order total. Run it weekly at first. If it comes back empty for a month, move to monthly. If it doesn’t, the results will show you which discount pairs combine, which tells you exactly what to fix.
If you want stacking on purpose
Some organizations want a member to use a promo on top of their member price. That’s fine, as long as it’s deliberate:
- Name the discounts so staff can tell them apart on a receipt.
- Set end dates on promotions so a temporary deal doesn’t keep combining for years.
- Test the worst case: the deepest combination a guest could reach. If that price is unacceptable, tighten the limits on one of the discounts.
Quick answers
Why did a member get two discounts on one ticket?
Usually an automatic member discount combined with a promo code or a staff-applied discount, often at different levels (item and order). Check which discounts were on the order and what level each works at.
What’s the simplest way to prevent member discounts from stacking?
Use member price types instead of a member discount. The member benefit is built into the price, so it can’t be applied twice.



