Processing-Only Reports in Business Central: What They Are and Why They Matter

 Have you ever needed to process data in Business Central without printing anything? That’s where Processing-Only Reports come in! They're powerful, easy to maintain, and great for handling background tasks like bulk updates, calculations, and data clean-ups — all while giving users a familiar interface for filters and scheduling.

In this post, we’ll dive into what they are, why they’re useful, and how to create one.

๐Ÿ”น What is a Processing-Only Report?

A Processing-Only Report in Microsoft Dynamics 365 Business Central is a report that doesn’t generate output like PDF or Excel. Instead, it’s built to process data behind the scenes — ideal for tasks like:

  • Updating records in bulk

  • Running business logic on filtered data

  • Showing progress and results with messages or dialogs

By setting the ProcessingOnly property to true, the report becomes purely functional — no printout involved.

๐Ÿ”น Why Use a Report Instead of a Codeunit?

At first glance, this might sound like a job for a codeunit. But here’s why reports are better in some cases:

FeatureProcessing-Only ReportCodeunit
Filter UI✅ Built-in❌ Manual setup
Data flow visualization✅ Report Dataset Designer❌ Fully code-driven
Scheduling✅ Out-of-the-box❌ Needs job queue
Simpler for end-users✅ Uses Request Page❌ Developer-heavy

๐Ÿ’ก Processing-only reports give you a perfect mix of flexibility for the developer and ease of use for the end user.

๐Ÿ”น Request Page Experience

When the ProcessingOnly = true is set:

  • The Print and Preview buttons are removed

  • The page still allows:

    • Filters

    • OK, Schedule, and Help buttons

This makes it ideal for processing tasks that may run on a schedule or user request — without needing output formatting.

๐Ÿ”น When to Use Processing-Only Reports?

Choose this approach when:

  • You don’t need a printed document.

  • You want to use filters and scheduling.

  • Your task needs user input or interactivity.

  • You prefer a low-code way to access records via data items.

๐Ÿ”š Bonus Tip

๐Ÿ‘‰ Don’t forget to use Dialog.UpdateProgress() or Report.ShowProgress() if your report takes time — it gives a better user experience.


Thanks For Reading...!!


Regards,

Khushbu Rajvi

Comments

Popular posts from this blog

Dynamics 365 Business Central: Enabling Custom and Default Tables in the "Search Company Data" Feature

Dynamic 365 Business central: Header on First, Footer on Last page in RDLC Reports

Dynamic 365 Business central: How to Automatically Insert Line Breaks After a Specific Character Limit