# How to connect Power BI to Epicor Kinetic

> Source: https://netray.co/integrations/epicor-kinetic-power-bi
> Publisher: Netray (netray.co), AI and integration engineering for ERP and manufacturing systems.
> Section: Integrations

## Short answer

The most maintainable path is to publish BAQs as OData feeds or load a reporting database, then point Power BI at that with a scheduled refresh through an on-premises data gateway where needed. Avoid hitting production tables directly with heavy DirectQuery.

## System

Epicor Kinetic

## Capability

power-bi

## Intro

Kinetic includes its own dashboards, BAQ reports and Epicor Data Discovery, so the case for Power BI is usually cross-system reporting, finance packs the board already reads in Power BI, or a team that has Power BI skills and not Epicor ones.

The risk is performance and drift. The Erp schema is wide, user-defined columns vary by company, and a report that joins OrderDtl, JobMtl and PartTran live against production can slow users down. A deliberate extract pattern avoids this.

Once the data is modelled well, you can add natural-language Q&A on top, either Power BI's own features or a separate assistant over the same model.

## Use Cases

### On-time delivery and OTD by customer

**Description:** Compare promise date to ship date by order line and customer, with trend, and a drill to late lines.

### Inventory health

**Description:** On-hand by warehouse and bin against demand, with aging, slow movers and excess by ABC class.

### Job cost and margin

**Description:** Estimated versus actual labor, material and burden by job and part family, rolling into margin by customer.

### Shop floor performance

**Description:** Labor and machine time by work center, scrap and rework rates, and attainment against routing standards.

### Purchasing and supplier scorecards

**Description:** Late receipts, price variance and rejects by supplier, combined with quality data from another system.

### Backlog and cash forecast

**Description:** Open orders and billing schedules shaped into a revenue and cash view by month.

## System Surface

- BAQs published via the BaqSvc OData endpoint can be used from Power BI's OData feed connector. Authentication and paging behaviour vary by version, so test on real volumes.
- A reporting SQL Server database or restored copy of the Kinetic database for on-prem installs, with views over the Erp schema tables.
- A data warehouse or lakehouse loaded by scheduled pipelines, which is the most scalable option for years of PartTran and LaborDtl history.
- Epicor Data Discovery and Epicor-provided analytics offerings, which may cover part of the need depending on your licence.
- Power BI On-premises data gateway to reach an internal SQL Server or an on-prem Kinetic API from the Power BI service.

## How It Works

### Pick the source pattern

**Detail:** BAQ OData for small and medium models, a replica or warehouse for large history. Do not point heavy reports at the production database.

### Define the semantic model

**Detail:** Build conformed dimensions: Part, Customer, Supplier, Date, Plant. Keep facts at order line, job operation and transaction grain.

### Install the gateway if the source is internal

**Detail:** Use the on-premises data gateway in standard mode on a server with stable network access to the source, and cluster it for resilience.

### Use incremental refresh

**Detail:** Partition large facts by date and refresh only recent partitions. Schedule refresh outside peak shop hours.

### Build the first three dashboards

**Detail:** OTD, inventory health and job margin. Validate each number against a Kinetic report before launch.

### Add row-level security and Q&A

**Detail:** Apply row-level security by plant or customer group, then enable natural-language Q&A or an assistant on the model.

## Example Flows

### Weekly OTD review

**Trigger:** Refresh completes at 5:30 each morning.

**Steps:**

- Pipeline loads shipped lines and promise dates from the replica.
- Power BI computes OTD by customer and plant.
- Late lines are flagged with the Kinetic order number.
- The ops manager opens the report in the daily meeting.

**Result:** A single agreed number for on-time delivery, with drill to cause.

### Ask a question in plain language

**Trigger:** A finance lead types 'margin by customer last quarter' in the report.

**Steps:**

- Q&A maps the phrase to the model's measures and dimensions.
- Result renders as a chart.
- User pins it to a dashboard.

**Result:** Self-service answers, provided the model has clear names and synonyms.

## On Prem

On-prem Kinetic with Power BI is a common pairing. Keep the reporting data in your SQL Server or warehouse, install the on-premises data gateway, and let the Power BI service query through it. If policy forbids any cloud service, use Power BI Report Server with the same model, accepting that some cloud-only features are absent. For natural-language questions with no cloud dependency, run a private open-weight model over the same semantic model and expose it through an internal chat page, which Netray can build alongside the dashboards.

## Security

- Use a read-only SQL login or a service account limited to the reporting views and BAQs.
- Apply row-level security in the model, not just in report filters.
- Mask cost and margin fields for roles that should not see them.
- Control workspace and sharing settings, and audit exports to Excel.
- Document where the gateway runs and who administers its credentials.

## Options

### Power BI on BAQ OData feeds

**Fit:** Fast start, modest volumes, teams already writing BAQs.

**Effort:** Days to a couple of weeks per dashboard set.

### Replica or warehouse plus Power BI

**Fit:** Large history, many reports, or cross-system analytics.

**Effort:** Four to eight weeks for a first modelled domain.

### Netray with a natural-language layer

**Fit:** You want dashboards plus private Q&A over the same governed data.

**Effort:** Scoped pilot in weeks on top of your model.

## Pitfalls

- DirectQuery against production Erp tables, which hurts Kinetic users at month end.
- Ignoring user-defined fields that differ by company.
- Reports that disagree with Kinetic because of unit of measure, currency or void transactions.
- Putting a personal gateway on a laptop instead of a managed server.
- Building a giant flat table instead of a star schema.

## Faq

### Can Power BI connect directly to Epicor Kinetic?

**Answer:** Yes in a few ways: the OData connector against published BAQs, a SQL connection to a replica of the database on-prem, or a warehouse fed by your pipelines. Direct production database access is usually avoided because of load and support concerns.

### Do I need the on-premises data gateway?

**Answer:** If the source is inside your network and you use the Power BI service, yes. A cloud-hosted Kinetic API reachable from the internet may not need a gateway, but check security and refresh limits.

### BAQ or SQL view as the source?

**Answer:** BAQs respect Kinetic security and are easy for Epicor admins to maintain. SQL views on a replica are faster for large volumes and complex joins. Many sites use BAQs for small sets and views for history.

### Can Epicor's own analytics replace Power BI?

**Answer:** For Kinetic-only reporting, sometimes yes. Power BI is preferable when you need to combine ERP with MES, CRM or finance data, or when the company standard is Power BI already.

### How do I add natural-language Q&A?

**Answer:** Power BI offers Q&A and Copilot features subject to licence and tenant settings. For fully private deployments, run a local model over the same semantic model with a controlled set of measures, so answers match the dashboards.

## Search terms

epicor kinetic power bi, power bi for epicor, connect power bi to epicor, epicor power bi dashboard, epicor baq power bi, epicor odata power bi, epicor power bi gateway on-premises, epicor kinetic reporting power bi, epicor manufacturing dashboards power bi, epicor data warehouse power bi

---
Talk to an engineer: https://netray.co/contact?intent=erp_ai | Machine catalog: https://netray.co/agent/catalog.json
