Clear Cutover Get a quote

Epicor Kinetic · Reporting

BAQ Report vs. RDD report in Epicor Kinetic: which one should you build on?

Applies to: Epicor Kinetic and Epicor ERP 10.2 reporting. Screen names, menu paths, and the actions available in BAQ Report Designer, Report Data Definition, and Report Style Maintenance vary across releases, deployment models (SaaS Cloud vs. On-Premises/Hosted), and security group permissions. Always build and test report changes in a pilot or staging environment before using them in production.

Short answer

An Epicor SSRS report has two parts: the data definition that extracts the records and the SSRS layout (.rdl file) that formats the page. A classic BAQ Report gets its data from a single Business Activity Query configured in BAQ Report Designer, returning one flat result set—making it the fastest way to build custom internal lists and analytical reports. An RDD (Report Data Definition) report extracts multiple related tables, calculated fields, or even multiple BAQs into separate report datasets, and is the architecture behind standard Epicor transactional documents like AR Invoices, Purchase Orders, and Packing Slips.

Key facts

  • Every SSRS-based Epicor report needs a data definition (RDD or BAQ Report) and an SSRS layout (.rdl file).
  • When a report runs, the Epicor Task Agent writes the extracted data into temporary tables (suffixed with a unique @TableGuid GUID) in the SSRS Report Database, and SSRS reads those temporary tables to render the PDF or Excel output.
  • A standard BAQ Report is built in BAQ Report Designer on top of one BAQ and writes to a flat BAQReportResult_[GUID] table.
  • An RDD (Report Data Definition) can combine multiple related database tables, Epicor internal calculated fields, or multiple BAQs (in Epicor 10.2.300+ and Kinetic) into parent-child datasets.
  • Report Style Maintenance links the report to its RDD, its SSRS .rdl path, and its company visibility.
  • Adding a field to an RDD-based SSRS report requires keeping three layers in sync: the RDD (Exclusions / Linked Tables), the RDL Dataset Query (SELECT statement), and the RDL Fields list.

The two approaches side by side

RDD Report BAQ Report
Data source Report Data Definition (Database tables, calculated fields, or multiple BAQs) A single BAQ configured in BAQ Report Designer
Data shape Multiple related datasets (header, detail, tax, and subreport tables) One flat result table (BAQReportResult) plus BAQReportParameter
Typically used for Standard transactional forms (AR Invoice, Order Ack, PO, Job Traveler, Packing Slip) Custom internal listings, operational summaries, and single-query reports
Speed to create Slower when modifying legacy system RDDs; moderate when building a multi-BAQ RDD Faster—build the BAQ, configure options/filters in BAQ Report Designer, and format in Report Builder
Prompts and filters Defined by the standard report UI or RDD criteria/prompts Defined via Option Fields, Filter Fields, and Sort Fields in BAQ Report Designer
Layout SSRS .rdl file SSRS .rdl file

How each one works under the hood

RDD report:

  1. A user submits the report and selects a Report Style.
  2. The Task Agent executes the Report Data Definition (evaluating table relationships, internal assembly calculations, or linked BAQs) and writes the rows into temporary tables (such as OrderHed_[GUID], OrderDtl_[GUID]) in the SSRS Report Database.
  3. SSRS runs the .rdl layout queries using the @TableGuid parameter and renders the document.

BAQ report:

  1. A user opens the custom BAQ Report screen, enters Option Fields or Filter values, and clicks Submit.
  2. The Task Agent executes the underlying BAQ with those parameters and writes the flat result set to BAQReportResult_[GUID] in the SSRS Report Database.
  3. SSRS formats the rows using your .rdl layout.

How a BAQ Report is created (general steps)

  1. Build and test the BAQ in BAQ Designer first. Verify that it runs quickly and returns the exact rows and columns you need.
  2. Open BAQ Report Designer (a separate screen from BAQ Designer), create a new BAQ Report definition, and select your BAQ ID.
  3. Define your Option Fields (value/range prompts like Date or Site), Filter Fields (lookup lists like Customer or Part), and Sort Fields.
  4. Use the actions in BAQ Report Designer (or Report Style Maintenance) to generate and download the starter SSRS .rdl file.
  5. Open the .rdl file in Microsoft Report Builder, format the layout (groupings, totals, headers), save, and upload the updated .rdl back through BAQ Report Designer or Report Style Maintenance.
  6. Attach the BAQ Report to a menu item in Menu Maintenance and test with realistic data volumes.

Pro tip for complex custom reports: If you are building a brand-new custom report from scratch that needs multiple independent datasets (such as a header dataset and two separate subreport detail datasets), you can also create a new Report Data Definition (RDD) using BAQs as the Data Sources instead of raw database tables.

How a custom document is based on a standard RDD (general steps)

This is the standard workflow when a customer-facing form (such as ARForm for invoices, OrderAck, or POForm) needs an extra field or layout change. Our dedicated SSRS add-field guide covers every step in detail:

  1. Never edit a Base/System RDD or standard SSRS .rdl file directly.
  2. Open Report Data Definition, load the standard definition (for example ARForm), and click Duplicate Report to save a custom copy (for example ARForm_Cust).
  3. If the field you need is already on a table in the RDD, go to the Exclusions tab and uncheck Exclude Column (and Exclude Label if needed). If the field lives on a related lookup table, add it via Linked Tables > Description Fields or add a child table and Relationship.
  4. Open Report Style Maintenance, duplicate the standard style, point the new style to your custom Data Definition (ARForm_Cust) and a custom .rdl path, and use Download SSRS Report to get a local copy of the .rdl.
  5. Open the .rdl in Microsoft Report Builder, add the column to the dataset's SQL SELECT expression and to the dataset's Fields list, place the field on the canvas, and use Upload SSRS Report in Report Style Maintenance.

Caution on Sync Dataset: Avoid clicking the Sync Dataset button in Report Style Maintenance on complex standard Epicor RDDs (like ARForm, OrderAck, or JobTrav). On complex out-of-the-box reports, Sync Dataset frequently overwrites or breaks the multi-table SELECT expression inside the .rdl dataset and can wipe out existing layout fields. Always edit the dataset query expression and field list manually in Microsoft Report Builder, and keep a backup copy of your .rdl before testing.

Which one should I choose?

  1. "I need an internal operational list or summary with filters that users can export to Excel or print." First check if a Kinetic Grid / Dashboard fed by a BAQ solves the need without any SSRS work at all. If a formatted PDF is required, build a BAQ Report in BAQ Report Designer.
  1. "I need to modify an existing customer-facing or shop-floor form (Invoice, PO, Order Ack, Packing Slip, Job Traveler)." Duplicate the standard RDD and Report Style, expose the needed fields, and edit the .rdl copy in Microsoft Report Builder.
  1. "I am building a brand-new custom PDF document that needs multiple separate datasets or subreports." Build a custom RDD powered by multiple BAQs, which gives you the speed of BAQs with the multi-dataset capability of an RDD.

Common problems

  1. The new field shows #Error or is blank on the SSRS report. Check all three places in order: (a) Is Exclude Column unchecked on the RDD Exclusions tab? (b) Is the column included in the SELECT query expression inside the .rdl DataSet Properties? (c) Is the field mapped in the .rdl DataSet Fields tab with the exact case-sensitive name?
  1. Clicking Sync Dataset broke a standard form. Restore your backed-up .rdl file, upload it via Report Style Maintenance, and add the new field manually in Microsoft Report Builder instead of using Sync Dataset.

3. A BAQ Report or RDD report times out. The underlying BAQ or RDD table relationships are scanning too many rows (common with PartTran or TranGLC). Add indexed criteria and see our BAQ report timeouts guide.

FAQ

What is the difference between a BAQ report and an RDD report in Epicor?

A classic BAQ report is built in BAQ Report Designer from a single Business Activity Query and writes one flat dataset (BAQReportResult). An RDD report uses a Report Data Definition that can pull multiple related database tables, Epicor calculated fields, or multiple BAQs into parent-child datasets for complex forms like Invoices and Purchase Orders.

Where do I create a BAQ Report in Epicor Kinetic?

First build your query in BAQ Designer, then open BAQ Report Designer to attach the BAQ, configure Option/Filter/Sort prompts, and generate or upload the SSRS .rdl layout.

Should I use the "Sync Dataset" button in Report Style Maintenance?

Avoid using Sync Dataset on standard Epicor transactional RDDs (such as ARForm or OrderAck), as it can overwrite complex SELECT expressions in the .rdl and break the report. Instead, add new fields manually to the dataset query and Fields list in Microsoft Report Builder.

Can a Report Data Definition (RDD) use BAQs as its data source?

Yes. In Epicor 10.2.300+ and Kinetic, you can build an RDD that uses one or more BAQs as data sources instead of raw database tables.

References

Cross-check against official Epicor documentation matching your release and hosting model:

  • Epicor Kinetic help: Report Data Definition (RDD)
  • Epicor Kinetic help: BAQ Report Designer
  • Epicor Kinetic help: Report Style Maintenance
  • EpiUsers community: The Truth About Report Style "Sync Dataset"

Systems I work on