Invento Software LimitedERPNext → Power BICase StudyDistribution

BestinBrands’ Reporting Already Worked. So Why Did One Report Still Take Days?

Every month, the BestinBrands team entered its figures into Salesforce, and the comparisons came back on their own: this month against last, this year against the year before. That part worked. The reports that had to pull from more than one system were a different story.

CompanyBestinBrands
IndustryMulti-brand distribution & marketing
CountryBangladesh
PlatformsERPNext·Power BI
01 / 06
Where BestinBrands started
BestinBrandsMulti-brand distribution & marketing · Bangladesh

Reporting already worked. Comparisons ran on their own.

BestinBrands distributes and markets international brands across several consumer categories in Bangladesh. Each month the team entered its figures into Salesforce, BestinBrands’ own platform, and month-over-month and year-over-year comparisons were produced automatically. Reports went out every month.

What Salesforce did wellTurned monthly figures into month-over-month and year-over-year comparisons with no manual rebuilding.
Whose it wasSalesforce was BestinBrands’ own platform, set up and run by their team before Invento was involved.
What still took effortReports that combined ERPNext, MariaDB and other systems were prepared outside it, by hand.

Two kinds of reporting, before the pipeline

The comparisons were automatic. The cross-system reports were not, and the most complex of them took three to four days to prepare.

BestinBrands reporting before the ERPNext to Power BI pipeline: monthly figures entered into Salesforce produced month over month and year over year comparisons automatically, while reports combining ERPNext, MariaDB and other systems were exported to Excel, cleaned and reconciled by hand, taking 3 to 4 days for the most complex report
Reporting before the pipeline
02 / 06
Where the effort went

The gap was not capability. It was distance from ERPNext.

ERPNext held the operational data. The reporting that worked lived in a separate platform, fed monthly, and the reports that crossed several systems were assembled in spreadsheets. BestinBrands was not ineffective. It was spending real days on work a pipeline could carry.

Reporting sat apart from ERPNext

Figures reached Salesforce through a monthly entry, so reports showed what had been loaded rather than what ERPNext held.

Cross-system reports needed hands

Anything combining ERPNext, MariaDB and other systems was exported, cleaned and reconciled in Excel. The most complex took three to four days.

Every transfer is a chance for error

Accuracy matters most to BestinBrands. Each time figures are re-entered or copied, a small mistake can slip through unnoticed.

History had to stay usable

As the portfolio grew, past periods had to stay available for comparison without slowing every refresh.

03 / 06
What Invento built

We kept what worked and moved it onto ERPNext.

ERPNext stays the system of record. We built a reporting layer that reads from it directly, carries the comparisons BestinBrands already relied on, and brings the cross-system reports into the same model. Automation handles the repetitive assembly. The final check before numbers go out is still a person’s call.

ERPNext to Power BI reporting architecture: ERPNext, MariaDB and other business systems feed a two-node data gateway cluster, then ETL and transformation, scheduled incremental refresh with archived history, into one Power BI semantic model serving 124 recurring reports and 20+ dashboards
The reporting architecture, end to end

Layer 01Read from the source

A permanent route from ERPNext, MariaDB and other systems into Power BI, through an on-premises gateway. Reports read the system the business runs on, not figures entered somewhere else.

Layer 02Write the rules once

Cleaning, standardising, business calculations and period comparisons live in one shared model.

A definition changes in one place, and all 124 reports follow it.

Layer 03Refresh on a schedule

Scheduled refreshes update the data on their own. Incremental loading processes only what changed, and archived history stays available for trend analysis without slowing every run.

Layer 04Keep it running

A two-node gateway cluster with a fallback node means reporting does not depend on one machine staying healthy.

The cross-system report, automated

Five stages, none of which need a person to start them. A person still reviews the result.

1ConnectGateway cluster
2ExtractIncremental
3TransformReusable ETL
4ModelShared layer
5Report124 outputs

Does your ERP hold numbers your reports never see?

Send us the report that takes your team the longest. We will show you what it takes to build it once.

Show us your hardest report
04 / 06
The dashboards

One model underneath. Nine ways to look at the business.

Different teams need different cuts of the same numbers, so we built specialised views on one shared model rather than one dashboard trying to serve everyone. The comparisons BestinBrands already used now sit beside everything else.

BrandContribution, sales, quantity and period growth by brand.
ProductSKU-level detail beneath the headline sales totals.
ChannelPerformance across sales and distribution channels.
Door / locationPerformance by individual door, store or reporting location.
InventoryStock positions alongside the views inventory analysis needs.
Month over monthThe comparison BestinBrands relied on, now calculated on ERPNext data.
Year over yearCurrent against prior periods, on the same definitions as every other view.
ManagementHigher-level views for broader business analysis.
ReconciliationComparison across business datasets and sources.
05 / 06
What changed

Three to four days became about one.

The comparisons BestinBrands relied on stayed. What changed was everything around them: the numbers now come from one place, and the report that used to take days of preparation arrives ready for a person to check.

~1 day
For the most complex report,
down from 3 to 4 days
124
Recurring reports
on one shared model
20+
Power BI
dashboards
1
Source of truth:
ERPNext
Before
After
Monthly figures entered into Salesforce
Figures read from ERPNext on a schedule
Comparisons in a separate platform
The same comparisons, in one model with every other report
Cross-system reports prepared in Excel
Combined in the pipeline before anyone opens a report
The most complex report took 3 to 4 days
The same report is ready in about a day
Each re-entry or copy could introduce an error
No manual re-entry between ERPNext and the report
Business rules lived inside individual workbooks
Rules defined once, reused by 124 reports
History had to be kept usable as it grew
Only new data is processed; history stays available
  • ✓Managers see brand, product, channel and location performance from one model built on ERPNext data
  • ✓Month-over-month and year-over-year comparisons, which Salesforce produced before, now run on ERPNext data alongside every other view
  • ✓Fewer manual transfers mean fewer places for an error to enter, and a person still signs off before numbers go out
  • ✓Reporting keeps up as the portfolio grows, instead of slowing down
06 / 06
Does this sound familiar?

Most companies already have reporting. The question is how far it sits from the system they run on.

Your reports live outside your ERP

If figures are re-entered into another tool each month, every report depends on that step being done, and done right.

Some reports still need a spreadsheet

When the reports that cross systems are assembled by hand, they are the ones that take days.

One person knows how the report works

When the logic lives in someone’s workbook, it leaves when they do.

Closing the distance does not mean throwing away what works. It means reading from ERPNext, writing the rules once, and letting your team spend its time on what the numbers mean.

FAQ

Questions about ERPNext and Power BI reporting

Can Power BI read directly from ERPNext?
Yes. At BestinBrands, an on-premises data gateway reads ERPNext, its MariaDB database and other business systems on a schedule, so Power BI reports read the data ERPNext holds rather than an export or figures re-entered somewhere else.
Do we have to give up the reporting we already have?
No. BestinBrands already had month-over-month and year-over-year comparisons running in Salesforce. We carried those comparisons into the Power BI model, where they now run on ERPNext data beside every other view. The aim is to keep what works and automate what does not.
How does an ERPNext to Power BI pipeline keep reports accurate?
Figures are read straight from ERPNext with no manual re-entry, and business rules are written once in a shared semantic model, so all 124 recurring reports use the same definitions. A person still checks the numbers before they go out.
What happens if the gateway server goes down?
The gateway runs as a two-node cluster with a fallback node, so scheduled refreshes do not depend on one machine staying healthy.
Does refresh slow down as years of history pile up?
No. Incremental refresh processes only the data that changed, and archived history stays available for year-over-year and trend analysis without being reprocessed on every run.
Have a question about your own reporting?Ask our ERPNext team

Is your reporting reading from your ERP, or from a copy of it?

Invento connects ERPNext to Power BI and builds the reporting layer around how your business already reports, keeping what works and automating what does not.

Talk to us about your reporting or browse our work
Monthly entry into Salesforce→Scheduled read from ERPNext
3 to 4 days for the hardest report→About a day
Cross-system prep in Excel→Done in the pipeline
Rules in separate workbooks→One model, 124 reports

What changed for BestinBrands