← All postsDevelopment ยท 3 November 2026

Report layouts in Business Central: RDLC, Word or Excel, and how to design the dataset

Business Central reports have a dataset (what data, in what shape) and one or more layouts (how it looks). The layout choice is the one people argue about; the dataset design is the one that decides whether the report is fast, extensible and reusable. When to use RDLC, Word and Excel, how to design a dataset that survives, report extensions, and the five mistakes in most inherited reports.

A Business Central report is two things. The dataset, defined in AL, says which tables, in what nesting, with what columns and filters. The layout says how the dataset is rendered: RDLC (the SQL Reporting Services format), Word, or Excel, and since version 20 a user can have several layouts per report and pick one at run time. Most arguments are about the layout. Most problems are in the dataset.

Which layout

RDLCWordExcel
Best forPrecise documents and complex lists: invoices with dense tables, multi-section statements, anything with conditional formatting and running totalsDocuments a business user should be able to edit: letters, simple invoices, certificates, labelsAnalytical outputs: anything the user will pivot, chart or filter; management reports
Who maintains itDeveloper, in Report Builder or VS CodeA capable user, in Word, with the report's XML mappingA capable user, in Excel, with the dataset as a table and their own sheets on top
Expressions and logicFull: VB expressions, grouping, conditional visibilityLimited: repeating sections, conditional content via field codesExcel formulas, pivots and charts over the data sheet
Weak pointsSlow to render large datasets; hard for non-developers; page-break quirksTables that need to break across pages with repeated headers; totalsNot for printed documents

The practical rule: documents customers see are RDLC (or the new document report experience in version 29, which brings themes and reusable headers to Word layouts and is worth adopting for new documents); anything internal that ends up in Excel anyway should be an Excel layout from the start; Word for the letters and labels the business wants to tweak without a developer.

Designing the dataset

Report extensions

Since version 18 you extend a report you do not own: add columns to a data item (dataset { add("Sales Invoice Line") { column(PalletConfig; "CON Pallet Configuration") } }), add data items, add request page fields, and add your own layouts. Then the standard Sales Invoice carries your field and your layout shows it, with no copy of the report and no merge at the next update. This replaces the NAV habit of copying report 206 to 50206 and modifying it, which is still the most common thing we find in inherited code and the first thing we retire.

Layouts without a developer

Version 20 onwards: any user with permission can create a layout for any report (Report Layouts page, New, choose RDLC, Word or Excel), start from the standard one, edit it, and set it as the default for themselves, a company or everyone. Excel layouts in particular mean the finance team can own the management report format while the developer owns the dataset. The developer's job is to make the dataset complete enough that they never need to come back for a column.

The five mistakes in most inherited reports

  1. A copied standard report with a 50000 number and a decade of edits, instead of a report extension.
  2. Filtering by skipping records in triggers instead of data item filters.
  3. Business logic in the layout (RDLC expressions deciding which VAT text to print) instead of a column computed in the dataset.
  4. Three near-identical reports because three departments wanted a different column, instead of one dataset and three layouts.
  5. No request page defaults, so the scheduled version was never set up and someone runs it by hand on the first of the month.

Reports are where users judge the system, because the invoice is what the customer sees and the management pack is what the board sees. They deserve the same design discipline as the posting code. If your document pack is a set of copied reports, the AL code check will list them and the extension-based replacement is usually quicker than the first copy was.

Talk to us
Want this done in your Business Central?
Book a 30 minute callGet the monthly newsletter

More from the blog