Altru Merchandise Margin and Markup Not Updating
← Back to Blog

Why Merchandise Margin and Markup Aren’t Updating in Altru

October 21, 2026

You raise the retail price on a plush toy in the gift shop, save it, and the margin figure next to it looks exactly the same as before. Or the markup reads zero on an item you know makes money. Before you assume Altru is miscalculating, it helps to know what those two numbers are built from, because when they look wrong the cause is almost always one of their inputs, not the math.

Margin and markup are not the same number

Both use the same two inputs, cost and selling price, but they divide by different things:

  • Margin = (price − cost) ÷ price. A $20 item that cost $8 has a 60% margin.
  • Markup = (price − cost) ÷ cost. The same item has a 150% markup.

Mixing the two up is one of the most common reasons the numbers seem wrong. Someone checks the markup against a target that was set as a margin, or the other way around, and the figure looks off even though it’s right. Do a quick hand calculation on one item before you dig any further.

The usual reasons the numbers look stuck

1. The cost never changed

Margin and markup only move when price or cost moves. If your vendor raised prices but the item’s cost in Altru still shows last year’s figure, every margin calculation is based on old cost. This tends to happen when new stock is received through a process that doesn’t touch the item’s cost, or when nobody enters the new unit cost at all. Check the cost field on the item itself first.

2. Cost is zero or blank

Markup divides by cost. If cost is zero, there’s nothing meaningful to show, so you may see a blank, a zero, or an odd value depending on where you’re looking. Items added in a hurry before an event, consignment pieces, and donated stock are the usual suspects. A query for merchandise items where cost is blank or zero will find them quickly.

3. You changed the price in one place but are reading it in another

If an item has variations, such as sizes or colors, each one may carry its own price and cost. Updating the parent item doesn’t necessarily change every variation, and a report that rolls up variations will still reflect the old values. Spot-check two or three variations directly.

4. The report is showing history, not the current item setup

Sales reports generally reflect what happened at the time of each sale: the price actually charged and the cost recorded then. Changing an item’s price today shouldn’t rewrite last month’s margins, and in most accounting setups you wouldn’t want it to. If you’re comparing an item record with a sales report, you’re comparing current setup with past transactions, and they will disagree.

5. Discounts and price overrides

Member discounts, promotions, and manual price overrides at the register lower the price actually received. A margin figure based on the item’s set price won’t match a figure based on what people actually paid. In a shop where most buyers are members, that gap can be large and completely legitimate.

6. The screen hasn’t been refreshed

It sounds obvious, but a figure displayed on a page you opened before saving may not recalculate until you reload the record. Close it, reopen it, and look again before chasing anything else.

A short diagnostic routine

  1. Pick one item that looks wrong. Write down its current price and cost exactly as Altru shows them.
  2. Calculate margin and markup by hand using the formulas above.
  3. If your hand numbers match what Altru displays, the calculation is fine and the problem is an input: stale cost, a variation that wasn’t updated, or a misread margin versus markup.
  4. If your hand numbers don’t match, note where you’re seeing the figure (the item record, a specific report, a query) and whether the item has variations or recent inventory activity.
  5. Repeat with a second item from a different category. One bad item points to data entry; a whole category points to a process.

If step 4 is where you land, and the inputs are clearly correct but the displayed figure is not, that’s worth a case with Blackbaud support. Bring the item, both values, your hand calculation, and where you saw the discrepancy. Exactly how and when Altru recalculates these fields can depend on your configuration and version, and support can confirm that faster than trial and error on live data. If you have a sandbox, reproduce it there first.

Keeping it from drifting again

  • Tie cost updates to receiving. Whoever checks in a new shipment should also confirm the unit cost. Make it a line on the receiving checklist, not a separate task someone remembers later.
  • Review zero-cost items monthly. Save the query from above and run it before each month-end close.
  • Decide which number you manage to. Pick margin or markup as your shop’s target metric and use it consistently in buying decisions and reports. Mixing them causes a lot of avoidable confusion.
  • Separate list margin from realized margin. Look at item setup when you’re pricing, and at sales reports when you’re judging performance. Expect them to differ by roughly your average discount.

Quick answers

Will changing an item’s cost update margins on past sales?
It generally shouldn’t, since past transactions reflect the values at the time of sale. If you need to correct historical cost for reporting, confirm the right approach with your finance team and Blackbaud support before editing anything.

Why is markup higher than margin for the same item?
Because markup divides the profit by the smaller number (cost) and margin divides it by the larger one (price). For any profitable item, markup will always be the bigger percentage.

Continue reading

How to Track Instructor Activity for Scheduled Programs in Altru

How to Track Instructor Activity for Scheduled Programs in Altru

“How many classes did Maria teach last spring, and which ones?” It sounds like a question Altru should answer in ten seconds. In practice, many education departments end up digging through calendars, email threads, and a payroll spreadsheet to piece it together, because the instructor was never recorded anywhere a query could find. Altru is

How to Turn a Group Sales Overpayment Into a Donation in Altru

How to Turn a Group Sales Overpayment Into a Donation in Altru

A school books a field trip for 60 students, sends a check for the full quote, and then 48 kids show up. The teacher says, “Keep the difference, it’s a gift.” Now you have a group sales order that is overpaid, money that is really a donation, and a deposit that has to balance. The

Can a Spouse Be a Fundraiser in Altru? Solicitor Credit for Couples

Can a Spouse Be a Fundraiser in Altru? Solicitor Credit for Couples

It happens more often than you’d expect. A board member and her husband both care about your capital campaign. She asks a friend for a gift, but it was really his introduction and his follow-up phone call that closed it. Development wants him credited as the fundraiser on that gift. Then someone at the desk

Social Good platform

See it in action

Get started with Social Good

Book a demo to see Social Good Software in action for Altru.

Book a Demo
Social Good platform

See Social Good in action

Tell us a bit about your organization and we’ll take you straight to short demo walkthroughs of the software.

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.