“Can we just add a fee to memberships?” sounds like a one-line change. In practice it raises three separate questions: what the fee is for, who is required to pay it, and where the money lands in Altru. Answer those first and the setup choice usually becomes obvious.
Start by naming the fee
Organizations usually mean one of these when they say “membership fee”:
- A card processing fee to recover what your payment processor charges on each transaction.
- A service or convenience fee for buying online or by phone.
- An administrative or enrollment fee, such as a one-time joining fee for new members or a card replacement charge.
- A shipping or fulfillment fee for mailing physical cards or a welcome packet.
These behave differently. A one-time joining fee shouldn’t repeat at renewal. A processing fee scales with the price. A replacement card fee has nothing to do with a new membership sale at all. Lumping them together is how fees end up in the wrong revenue account.
What Altru gives you to work with
Altru membership levels carry a price, and that price flows into membership revenue. As far as we know, there isn’t a dedicated “fee” field on a membership level that automatically adds a separate charge to every sale. Configurations and releases differ, so if you need certainty, test in a sandbox or ask Blackbaud support before you commit to a plan that depends on it.
That leaves a few workable approaches.
Option 1: Build the fee into the level price
The simplest route. Raise the membership price by the amount of the fee and stop thinking of it as a fee.
It works everywhere: front desk, phone, web forms, renewals. The downsides are that it isn’t visible as a fee, all of it books as membership revenue, and it can complicate the tax-deductible portion you communicate to members. If your membership benefits already make the deductible amount a careful calculation, talk to your finance team before raising prices this way.
Option 2: Sell the fee as its own item in the same transaction
Some organizations set up a separate sellable item (a fee, a merchandise-style item, or a similar add-on) and add it alongside the membership at the point of sale. That keeps the fee out of membership revenue and lets you post it to its own GL account.
The catch is that it depends on staff remembering to add it, and it doesn’t carry over to every channel the same way. Check how your web forms handle it before you rely on this for online sales. Run a few test transactions and look at the resulting revenue records and batches so you know exactly what accounting will see.
Option 3: Separate levels by channel
Some teams create a second set of membership levels with a higher price for online purchases. We’d steer most people away from this. It doubles the levels staff have to choose from, splits your reporting, and makes renewals messier when a member who joined online renews at the desk. If you do it, name the levels clearly and build your membership queries to roll them back together.
Option 4: Make the fee optional
Instead of requiring a fee, invite members to cover processing costs. Many supporters are glad to, and it sidesteps most of the rules around mandatory card surcharges. The tradeoff is that you recover only part of your cost. Make sure the covered amount posts somewhere you can report on, not buried inside the membership amount.
Check the rules before charging a mandatory card fee
A required fee that applies only to card payments is a surcharge, and surcharging is regulated. Card network rules set disclosure and cap requirements, some states restrict or prohibit surcharges, and debit cards generally can’t be surcharged. Before you add one, confirm with your payment processor and your finance or legal advisor. A flat convenience fee or an optional cover-the-fee choice is often simpler to defend.
Also think about how the fee interacts with the membership’s tax-deductible value. A fee that’s clearly separate from the membership is easier to explain on acknowledgments than one folded into the price.
A short checklist before go-live
- Decide which fee type you’re adding and whether it applies to new joins, renewals, or both.
- Agree with finance on the GL account the fee should post to.
- Run test transactions in every channel you use: desk, phone, web, and renewals.
- Pull a query of the test revenue and confirm the fee and membership amounts land where you expect.
- Update receipts, acknowledgment letters, and your website so members see the fee before they pay.
- Write one sentence for front-desk staff explaining the fee, because members will ask.
An optional approach for online sales
If the goal is recovering card processing costs on online memberships, Social Good’s Cover the Credit Card Fee option lets members choose to cover processing fees during checkout, with the data written back to Altru. It’s voluntary by design, so it fits organizations that want cost recovery without a mandatory surcharge.
Quick answers
Can I charge a one-time joining fee that doesn’t repeat at renewal?
Not automatically as far as we know. Most teams handle it as a separate item added only to new joins, with a note in staff procedures. Test in a sandbox to confirm what your setup supports.
Should the fee count as membership revenue?
That’s a finance decision, but most organizations prefer to keep fees in their own account so membership revenue reflects actual membership sales.



