Your finance office wants one number: what the museum store’s inventory was worth on June 30. Running a report that shows what’s on the shelves right now is fairly easy in Altru. Getting the value as of a past date is harder, and it helps to know why before you spend an afternoon in the query designer.
Why “as of a date” is the hard part
Altru’s merchandise area tracks each product’s current on-hand quantity and cost. Current is the key word. As sales, receipts, returns, and stock adjustments post, the on-hand number gets overwritten. What you have is a running balance plus a trail of transactions, not a saved snapshot for each day.
Whether your version of Altru includes a standard report that rebuilds inventory value for any past date isn’t something we’d promise either way. Reports and permissions vary by organization. Before you build anything, check the merchandise reports your role can see. Then ask Blackbaud support directly: “Is there a report that returns on-hand quantity and value as of a specific historical date?” If the answer is yes, use it. If it’s no, one of the approaches below will get you there.
Option 1: Take the snapshot on the date (best for the future)
The most reliable way to report value on a date is to capture it on that date. For every period your finance team closes (month end, fiscal year end, audit dates):
- Build a merchandise or product query that returns product name, SKU or lookup ID, category, current on-hand quantity, unit cost, and retail price.
- Add a calculated column, or a column you add after export, for quantity × unit cost. That gives extended value at cost, which is what accountants usually want for inventory on the balance sheet.
- Run it after the store closes on the last day of the period and export it to Excel or CSV.
- Save the file somewhere permanent and name it by date, for example Store inventory 2026-06-30.xlsx. That file is now your record for the date.
Put a recurring reminder on someone’s calendar. The query takes a minute to run, but you can’t go back and run it next week. By then, Monday’s sales have already changed the numbers.
Option 2: Work backward from today (when the date has passed)
If the date has already passed and nobody took a snapshot, you can rebuild it. Start with what’s on hand now and undo everything that happened since:
- Start with current on-hand quantity per product.
- Add back units sold after the target date. You sold them, so they were on the shelf that day.
- Subtract units received after the target date, for example from purchase orders.
- Subtract units returned to stock after the date.
- Reverse any stock adjustments after the date, such as shrink, damage, or count corrections.
To do this you’ll need queries on merchandise sales and on inventory transactions, each filtered to dates after your target, with quantity totaled by product. Join them to the on-hand list in a spreadsheet by product ID, then do the math. The closer the date is to today, the fewer transactions you have to unwind and the more you can trust the result.
Test the method before you use it on the date that matters. If you did a physical count recently, rebuild the value for that count date and compare it to what you counted. If the numbers are far apart, some transaction type is missing from your queries. Common culprits are adjustments entered by a different process, or transfers between locations if you have more than one stock location.
Which cost are you multiplying by?
This question causes more disagreement with finance than the quantities do. If a product’s cost changed between the target date and today, multiplying old quantities by today’s cost gives you a mixed number. Ask your finance team which costing method they report under, then confirm how Altru stores and updates product cost at your organization (a sandbox test or a support ticket will settle it). If cost changed during the window, keep a note of the prior cost for the affected products and use it for the historical calculation.
Also agree up front whether finance wants value at cost, at retail, or both. A query can return both, and showing both columns saves you a second request.
Cleanups that make every inventory report better
- Inactive products with stock on hand. Old SKUs that were retired without being zeroed out will inflate the total. Filter for them and decide whether they’re real.
- Products with no cost. A blank or zero unit cost quietly drops that item out of the valuation. Sort ascending by cost and fill in the gaps.
- Negative on-hand quantities. These usually mean items were sold before they were received in Altru. Fix the receiving process, and correct the count with an adjustment you document.
- Consignment goods. If you sell items on consignment, make sure they’re either left out of the valuation or clearly separated. They aren’t your asset.
Quick answers
Can I just filter my on-hand query by a date?
Usually not in a way that helps. A date filter on a product query limits which products appear, for example by date added. It doesn’t roll quantities back to what they were on that day.
Does a physical count replace all this?
For year end, a count reconciled into Altru with adjustments is the strongest number you can give auditors. Export the on-hand query right after the adjustments post and keep that file with the count sheets.



