Vendix SFA
Product · Report Builder

Reports that update themselves.

Every tenant gets its own ReportDb in a star schema, fed by a Hangfire ETL pipeline that refreshes every fifteen minutes for sales, every hour for visits, and nightly for full rebuilds. The dashboards your team opens at 9 a.m. show data from 8:45 - not yesterday.

15 min
Sales freshness
8
Fact tables
10
RLS roles
Sales · Western · last 30 days last refresh 3 min ago

Net sales

Rs. 14.2M

↑ 12.4% vs last month

Outlets billed

847

↑ 38 new

Returns

Rs. 84K

0.6% of sales

Avg ticket

Rs. 16,759

Daily sales (Rs. millions)

Apr 15Apr 22Apr 29
Star schema · 15-min ETL

A separate database, just for reports.

Most SFA tools run reports against the same database that's processing every order. That's why their dashboards take eleven seconds to load - and why the rep entering an order at the same time waits a beat. Vendix runs reports off a separate database that's optimised for dashboards. Order entry stays fast. Dashboards stay fast. Both wins.

  • Eight measurable areas covered out of the box - sales, returns, visits, stock movement, sales orders, GRN, payments, batch movement.
  • Five ways to slice every number - by outlet, by product, by time, by territory hierarchy, by user.
  • Refresh schedule - sales every 15 minutes, inventory every 30, visits hourly, full nightly rebuild.
  • Refresh history visible to admins - duration, rows processed, success or failure - so "why is the dashboard old?" never becomes a ticket.

How fresh data reaches the dashboard

Live system

Transactions

Reps creating orders

Refresh

Every 15 min

Automatic

Reporting

Dashboards

What managers see


Group tenants get a bonus rollup

A consolidated reporting layer adds up every sub-tenant's numbers nightly. Holding companies see one P&L without each subsidiary exposing raw data.

app.vendixai.com · /reports

Power BI Embedded · Sales by region

Western
Rs. 4.8 M
Central
Rs. 3.3 M
Southern
Rs. 2.5 M
Northern
Rs. 1.6 M
Eastern
Rs. 1.1 M
Power BI everywhere

One report. Web, mobile, email.

Vendix uses Power BI Embedded (.NET SDK) so the same authored report renders inside the Blazor portal, inside the Android app via WebView, and inside the inboxes of anyone you put on a schedule. Power users can also point Power BI Desktop directly at the ReportDb for ad-hoc analysis - same data, no second pipeline.

  • Blazor iframe embed in the tenant portal - no second login.
  • Android WebView embed - works offline by caching the last render.
  • Scheduled email delivery - Daily, Weekly, or Monthly anchors via Hangfire's ReportEmailDeliveryJob.
  • Excel + PDF export via ClosedXML and QuestPDF - pixel-perfect.
Row-Level Security

Same dashboard. Different data.

A regional sales manager and a sales rep should see the same dashboard - but filtered to what each is allowed to see. Vendix wires Power BI's row-level security to the tenant's role hierarchy automatically. You author the report once. Five roles see five legitimate slices.

  • TenantAdmin sees all regions, all reps, all outlets.
  • RSM/ASM see their region or area - hierarchy walked via ManagerId.
  • SalesRep sees their own routes only.
  • ReportUser on a holding company sees the consolidated group view.

Same .pbix file · five legitimate views

TenantAdminAll regions · all reps
RSM WesternWestern Province only
ASM NegomboGampaha district only
SalesRep #042Routes NEG-04 + NEG-05 only
ReportUser (Group)All sub-tenants · consolidated

Everything you'd otherwise build.

Drill-through navigation

Click a region tile, jump to that region's breakdown. Click a rep, jump to their KPIs. Built into the report layer, not bolted on.

Favorites + saved filters

ReportFavorite entity per user - pin the views you actually use. Filters survive log-out so you don't re-pick "this month" every morning.

Excel + PDF + CSV export

ClosedXML for spreadsheets, QuestPDF (community licence) for pixel-perfect PDFs, native CSV for ad-hoc.

Mobile JWT API

6 endpoints under /api/mobile/reports - fetch KPIs, list reports, download PDFs straight to the Android app. Same auth as the rest of the mobile API.

Group consolidation

Holding-company tenants get a ReportDb_Group built nightly at 02:30 UTC. One P&L across every subsidiary, no manual export-and-merge.

EtlRunLog visibility

TenantAdmin sees every job's last run, duration, rows processed, errors. No "why is the dashboard old?" tickets.

Reports that aren't five days late.

On a demo we'll spin up a tenant ReportDb with your sample data, schedule it for fifteen-minute refresh, and email you a PDF. Three minutes from start to delivery.