A school group books for next spring: 80 student admissions, 10 chaperones, a planetarium add-on, and a lunch package. They pay a deposit. Weeks later the business office asks for a statement, and the balance due report you print shows the order total, what has been paid, and what is still owed. It does not show what any of it was for. The teacher forwards it to the district, and the district asks for a line-item breakdown before it will cut a check.
The fix is to stop treating the Altru order balance due report as the customer-facing document and build an itemized view of the order yourself, using a query and a simple statement template.
What the balance due report is built for
The standard balance due output is designed as an internal collections tool: which orders are open, how much is outstanding, and when payment is expected. Totals are the point. Item detail usually lives on the order itself, in group sales or advance sales, not on the summary.
Whether your version of the report has a hidden option to include line items is something to confirm rather than assume. Open the report parameters and look for any detail or itemization setting, and if you don’t find one, ask Blackbaud support whether a detailed variant or customization is available for your environment. Don’t spend an afternoon hunting for a checkbox that may not exist.
Build the itemized view with a query
The dependable route is an ad-hoc query on orders that pulls the line items alongside the payment information. The exact field names vary, so explore the order and reservation areas of the query tree, but you are looking for something like this:
- Order identifiers: order or reservation number, constituent name, group name, event or visit date.
- Line item detail: item description (price type, program, event, merchandise, fee), quantity, unit price, and line total.
- Adjustments: discounts and any fees, if they are stored at the line level.
- Payment detail: amount paid to date and balance remaining, usually at the order level.
Filter to orders with a balance greater than zero, or to a single order number when you’re answering one customer’s question.
Watch the row multiplication
When you mix line items and payments in one query, an order with five items and two payments can come back as ten rows, with the paid amount repeated on every one. If you total that column, you’ll overstate what the group has paid. Two ways around it:
- Run two queries, one for items and one for payments, and join them in a spreadsheet by order number.
- Keep only order-level totals (order total, amount paid, balance) in the item query, and display them once per order using grouping or subtotals after export.
Before you send anything to a customer, check that your item lines add up to the order total Altru shows. If they don’t, a discount or fee is probably sitting at the order level rather than on a line, and you’ll need to show it as its own line in the statement.
Turning the query into a statement
For a handful of groups, exporting the query to a spreadsheet and formatting it as an invoice is fine. Build the template once: your logo, remittance address, a table of items, then subtotal, discounts, payments received, and balance due. Save it, and each time you only paste in new rows.
If you send statements every week during school-group season, that copy-and-paste step is where errors creep in. Someone pastes last week’s export, or filters the wrong order. At that point it’s worth making the data arrive on its own rather than being exported by hand.
A few habits that keep the numbers trustworthy
- Use clear item names in Altru. Price types called “Adult – Grp” or “Pkg B” are fine for staff and confusing on an invoice. Clearer descriptions on the Altru side mean less editing later.
- Record the reason for any price override on the order, so an unusual line price doesn’t trigger a question you can’t answer three months later.
- Re-run before sending. Balances change as payments post. A statement built from yesterday’s export can be wrong by morning.
- Keep the internal report for internal use. The balance due report is still the right tool for your collections follow-up list. The itemized statement is a separate document for the customer.
Keeping the itemized sheet current
Once the query is built, Social Good’s Data Bridge can sync it from Altru to Google Sheets, so your group sales team works from a sheet that stays up to date instead of a weekly manual export. Your invoice template can reference that sheet, and the query in Altru stays the single source of the numbers.
Quick answers
Can I just edit the order to show the prices to the customer?
The order record shows its items to staff, but that screen isn’t designed to be sent to a customer. An itemized query export gives you something you can format and send.
Why does my query show the same payment several times?
Each line item gets its own row, and the order-level payment repeats on each one. Split items and payments into separate queries, or count order totals only once per order.



