# Epicor BAQ (Business Activity Query)

> Source: https://netray.co/glossary/epicor-baq
> Publisher: Netray (netray.co), AI and integration engineering for ERP and manufacturing systems.
> Section: Glossary

## Short answer

An Epicor BAQ (Business Activity Query) is a saved query built in Epicor's Query Builder over ERP tables. It feeds dashboards, SSRS and Crystal reports, BPM logic and the REST API (as BAQ services), and can be updatable in some cases.

## Aliases

- BAQ
- Epicor Business Activity Query
- Epicor Dashboard BAQ

## Category

erp-core

## Full Definition

A BAQ is defined in Business Activity Query Designer in Epicor 10 and Kinetic. Developers choose tables (such as JobHead, JobOper, OrderHed, Part, PartWhse), join them, apply criteria and calculated fields, and set display fields. The result is saved under an ID and can be run in Dashboards, exported, or called from outside.

BAQs underpin much of Epicor reporting. Kinetic exposes them through the REST API as BaqSvc endpoints with OData parameters, which makes them a convenient read path for integrations and AI assistants. Updatable BAQs let a dashboard edit data through business objects, for example updating a ship-by date on order releases.

Performance depends on joins and filters. Queries without selective criteria on large tables such as LaborDtl or PartTran can become slow and block users on shared servers. Security is controlled by BAQ permissions and company, and BAQs can also be exported and imported between environments with the Epicor Data Management Tool.

## Why It Matters

- BAQs are the standard way to extract Epicor data without direct database access, so they are central to integration design.
- Business users commonly build them, creating undocumented logic and performance risk.
- Updatable BAQs can write data, so permission and audit design matter.
- Reusing governed BAQs gives AI tools a safe, role-aware read layer compared with raw SQL.

## In Practice

A planner needs open job operations past due. A BAQ joins JobHead and JobOper where JobClosed is false and JobComplete is false, with a calculated field for days late against the operation due date. The same BAQ is exposed through REST for a daily Teams alert and used in a dashboard grid.

## Faq

### What is a BAQ in Epicor?

**Answer:** It is a stored query that selects, joins and filters Epicor tables, used as the data source for dashboards, reports, and API calls.

### Can I call a BAQ from outside Epicor?

**Answer:** Yes. In Kinetic and Epicor 10 with REST enabled, BAQs are available as BaqSvc endpoints, subject to the caller's security and API key.

### Why is my BAQ slow?

**Answer:** Usually missing selective criteria, joins across large transaction tables, or calculated fields evaluated per row. Filter early and review the generated SQL.

## Search terms

epicor baq, business activity query, epicor query builder, epicor baq rest api, epicor updatable baq, epicor dashboard, epicor kinetic reporting

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