The Monday report arrives before Monday does.
An inventory-first report builder, grids that filter, sort and export on every screen, and schedules that deliver the answers before anyone asks.
Reporting here is not a bolted-on BI tool reading yesterday’s copy — it runs on the same live views the warehouse writes to. Build a report by picking an entity, columns, filters and sorts; preview it instantly; then save it, share it, export it, or put it on a schedule that emails itself.
- Self-serve report builder over fifteen entity views — no SQL, no ticket to IT
- Eight product analytics views: stock status, bin detail, shelf life, sourcing, sales performance and more
- Scheduled delivery — timed runs emailed as XLSX or CSV to a recipient list
- Filter, sort, page and export on every grid across the platform
- Permission-gated, tenant-isolated, with full run history
What’s included
The reporting a distributor actually runs on — built for stock, lots, bins and money, not generic dashboards.
Build the report yourself
Point-and-click definitions over governed live views.
- Fifteen entity types. Customers, vendors, products, purchase orders, sales orders, AR aging and CRM opportunities, plus eight product analytics views — the questions that used to queue behind a database request.
- Column picker on live metadata. Available fields come from the entity itself, so a report never breaks because someone guessed a column name.
- Real filters, not a search box. Equals, ranges, contains, starts-with and in-list operators combine per column — “stock under reorder point in warehouse 2” is a filter, not an export-and-sort-in-a-spreadsheet job.
- Instant preview. Test a definition on live data before saving it, so a wrong filter costs seconds instead of a Monday-morning surprise.
- Share or keep private. Reports are personal by default and shareable to the whole team when they earn it; system reports are protected from deletion.
Inventory-first analytics
Eight prebuilt lenses on every product you carry.
- Stock status. On-hand, allocated and available in one row per product — the daily stand-up sheet without the morning export ritual.
- Bin-level detail. Where every unit physically sits, bin by bin, so a count discrepancy is chased to a location instead of a total.
- Sales performance windows. Movement over 30, 90 and 365 days per product — dead stock and runaway sellers surface themselves.
- Shelf life and lot expiry. Lots ranked by expiry date, so aging inventory is discounted on your schedule rather than written off on its own.
- Sourcing analysis. Which vendors supply each product on what terms — single-source risk stops hiding in the purchasing team’s memory.
- Composite product health. Stock, sales and sourcing rolled into one row per product, so the quarterly range review starts from evidence.
Reports that deliver themselves
The recurring report becomes infrastructure, not a chore.
- Scheduled runs. Any saved report runs on a timed schedule — daily, weekly, month-end — with no human clicking Run.
- XLSX and CSV to an inbox. Output lands with a recipient list attached, so the controller’s Monday file arrives whether or not anyone was at a desk.
- SFTP data feeds. Full extracts delivered to your own systems over SFTP — the data warehouse gets fed without a manual export.
- Full extracts, verified. Feeds stream the complete dataset in batches and are checked against the source count, so a truncated file never masquerades as a full one.
- Run history. Every execution keeps its row count, timing and status — “did the feed run last night?” is a lookup, not an investigation.
Grids everywhere
Every list in the platform behaves like a report.
- One grid contract. Every list screen pages, sorts and filters server-side through the same engine, so learning one screen is learning them all.
- Filter on any column. Operational questions get answered where the data lives — no exporting a list just to filter it.
- Export from the grid. The view you filtered is the file you get, which ends the copy-paste reconstruction of screens into spreadsheets.
- Drill to the record. Any row opens its full detail drawer in place, so the path from number to cause is one click.
Governed by default
Self-serve for users, without becoming a leak.
- Six separate permissions. View, create, edit, delete, export and schedule are distinct rights — a user can be allowed to look without being allowed to take.
- Tenant and organization isolation. Every report query carries your tenant and organization boundaries, so a report can never show data its runner could not see on screen.
- Audited changes. Creating, editing and deleting reports and schedules is written to the audit trail — reporting itself is accountable.
- Sane interactive limits. On-screen runs are capped to keep the system responsive for everyone; the uncapped path is the scheduled feed, where full extracts belong.
Eight ways to look at a product.
Most systems give you one product list and a lot of exporting. This one ships eight analytical views per product — stock status, bin detail, sales performance, sourcing, shelf life, kit usage, classification and a composite health score — each of them reportable, filterable and schedulable like anything else.
- From total to location — stock status tells you how much; bin detail tells you exactly where — discrepancies get chased to a bin, not debated.
- Expiry before write-off — shelf-life ranking puts every at-risk lot on a list while there is still time to move it.
- One row of truth per SKU — the composite view joins stock, sales and sourcing so range reviews stop being three spreadsheets and an argument.
The morning report writes itself.
Put any saved report on a schedule and it becomes infrastructure: a timed run, an XLSX or CSV, a recipient list, and a logged result. Feeds to your own systems go the same way — full extracts over SFTP, streamed in batches and verified against the source, so downstream systems get everything or an honest error, never a silent partial file.
- Timed, not remembered — daily, weekly or month-end schedules fire on their own — the report exists whether or not its owner is on vacation.
- Delivered where work happens — email for people, SFTP for systems — the same definition serves both audiences.
- Provably complete — every run logs rows, timing and status, and full extracts are checked against the source count before they are called done.
What report owners ask us
Do I need SQL or a separate BI tool?
No. The builder is point-and-click: choose an entity, pick columns from live field metadata, add filters and sorts, preview, save. It reads governed views inside the platform, so there is no extract to maintain and no second copy of the truth to reconcile.
Can a report email itself every Monday at six?
Yes. Any saved report takes a schedule with an output format — XLSX or CSV — and a recipient list. Every run is logged with its row count, timing and status, so you can prove it went out.
Can I report on lot expiry before it costs me?
Yes. The shelf-life view ranks every lot by expiry date, and it filters and schedules like any other report — most customers run it weekly so aging stock is moved on their terms instead of written off.
Can it feed our data warehouse?
Yes. Scheduled data feeds deliver full extracts over SFTP, streamed in batches with the final count verified against the source — a truncated file fails loudly instead of loading quietly.
Will users see data they shouldn’t?
No. Every report query carries tenant and organization isolation, and viewing, creating, editing, deleting, exporting and scheduling are six separate permissions — a user can be allowed to run reports without being allowed to export them.
Is there a row limit?
Interactive on-screen runs are capped at ten thousand rows to keep the system responsive for everyone. When you genuinely need everything, that is what scheduled feeds are for — they stream the complete extract without a ceiling.
Stop exporting to find out.
Fourteen days with the full platform — build the report your Monday meeting runs on and schedule it before the trial ends.
14 days · every module · no card