Custom reports are reports you build and save yourself in Rundoo's Report Builder — same dataset, same columns, same filters each time, one click to run.

In the POS mode, Analytics group on the left, open Reports and flip to the Custom reports top tab. That's where every report your team has saved lives.

Custom vs default reports

Rundoo ships with ~50 default reports (Sales, Margin, Aging detail, Cash register detail, Taxes — the full list is in Running Reports). A default report is a preset your team can't edit — the columns, filters, and grouping are fixed. Open one, pick a date range, and run it.

A custom report is your own preset of the same Report Builder. You pick the dataset (Sold products, Transactions, Aging detail, etc.), the columns that matter to you, the filters that narrow to your slice, and the grouping you want — then save it under a name your whole team can reopen later. The two top tabs on the Reports page split them:

<aside> 💡

The fastest way to make a custom report is to Duplicate a default report that's close to what you want, then edit it. You don't have to build from an empty dataset.

</aside>

Building a custom report

From the Reports page, tap Create report at the top-right. A scrollable dropdown appears with every dataset the builder supports — the top of the list carries the everyday ones (Products, Customers, Sold products, Sales, Orders, Transfers, Interactions, Vendors), and scrolling reveals more specialized ones (Transactions, Jobs, Inventory, Aging detail, Taxable transactions, Price rules, Spiffs, Gift card balances, Single entries (POS), Agents, Payout transactions, and others). Pick one and you land in the builder.

Single entries (POS) is the row-per-GL-posting dataset — one row per single entry on the POS side of the ledger. It's what you reach for to debug or reconcile POS transactions in accounting: tying a sale's tender to its GL tax account, its department revenue, and its cost of goods, line by line. It's also what powers the WIP summary dashboard and what Rundoo AI queries when you ask reconciliation questions.

Price rules is the dataset for auditing every alternate price, quantity break, promotion, and custom price configured across your catalog — one row per rule. Use it to answer "which products have a quantity break configured?" or "show me every custom price expiring this month." Pair it with columns like Product name, Base quantity, Percentage, Start date, Expiration date. See Product prices for how alternate pricing is configured.

Each dataset decides what a single row in your report means — Sold products gives you one row per line item sold, Customers gives you one row per customer account, Orders gives you one row per purchase order. Pick the row shape first; everything else — which columns make sense, which filters apply — flows from that choice.

Once you're in the builder, four controls shape the report: