A powerful and intuitive extension for managing, organizing, and executing custom reports in Microsoft Dynamics 365 Business Central. This extension provides a centralized dashboard for all your custom reports with advanced filtering, favorites management, and quick-access navigation.
Main Dashboard with Quick Run Report, Filters, and integrated Subpages
- Centralized Overview: Single page to view all custom reports (ID range 50000-100000)
- Quick Run Report: Execute any report directly from the dashboard without navigation
- Inline Actions: Run reports and open related pages with one-click inline buttons (βΆ and π)
- Smart Filtering: Filter reports by favorites and categories
- Auto-Population: Automatically discovers and lists all custom reports in your environment
Quick Run Report feature with inline execution button
- Mark frequently used reports as favorites with a single click
- Visual highlighting of favorite reports with attention styling
- Quick filter to show only favorite reports
- Add/Remove favorites directly from the list
Favorite reports with visual highlighting and filter options
- Organize reports into logical categories:
- Sales - Sales-related reports
- Purchase - Purchasing and procurement reports
- Finance - Financial reports and statements
- Inventory - Stock and inventory reports
- Manufacturing - Production and manufacturing reports
- Service - Service management reports
- Human Resources - HR and employee reports
- Administration - Administrative reports
- Other - Miscellaneous reports
- Filter reports by category with dropdown selection
- Extensible enum for adding custom categories
Category dropdown and filtering in action
- Inline Run Buttons (βΆ): Execute reports directly from the list with visual feedback
- Inline Page Links (π): Open associated list or card pages instantly
- Report Selections Integration: View and manage standard BC report selections
- Direct Access: Navigate to Report Selection Sales/Purchase and Company Information
- Lists all custom reports with full details
- Editable fields for report metadata:
- Report ID and Caption
- List Page No. and Card Page No.
- Category assignment
- Custom notes/information
- Favorite toggle with visual feedback
- Inline action buttons for quick execution
Custom reports list with inline βΆ Run and π Link buttons
- Pre-filtered standard BC report selections (Sales & Purchase)
- Supported document types:
- Purchase: Quote, Order, Invoice, Credit Memo
- Sales: Quote, Order, Shipment, Invoice, Pro Forma Invoice, Credit Memo
- Automatic page number resolution for list and card pages
- Inline buttons for running reports and opening pages
Standard BC Report Selections with inline execution and navigation
- Microsoft Dynamics 365 Business Central (Cloud)
- Platform version: 27.0.0.0 or higher
- Runtime: 16.0 or higher
- Object ID range: 50100-50149 available
- Download the
.appfile from the releases section - Open Business Central Administration Shell
- Run:
Publish-NAVApp -ServerInstance BC -Path "path-to-app-file.app" - Install via Extension Management in Business Central
- Assign the "Report Overview" permission set to users
- Search for "Report Overview" in the Business Central search (Alt+Q)
- The page will automatically populate with all custom reports
- Enter a Report ID in the "Quick Run Report" section
- The report caption will be displayed automatically
- Click the βΆ Run Report button to execute immediately
- Navigate to the Report Overview Subpage
- Check the "Is Favorite" checkbox for reports you use frequently
- Use the "Show Favorites Only" filter to see only marked reports
- Alternative: Use the Actions menu β Favorites β Add to Favorites
- Select a report in the Report Overview Subpage
- Choose a category from the Category dropdown
- Use the "Category Filter" on the main page to filter by category
- βΆ Button: Click next to any Report ID to run the report instantly
- π Button: Click next to List/Card Page No. to open the associated page
- Visual feedback: Buttons are highlighted when the target is valid (non-zero)
Inline action buttons with visual feedback for quick access
- Show Favorites Only: Toggle to display only favorite reports
- Category Filter: Select a category to filter reports
- Show All Reports action: Clears all filters instantly
- View pre-filtered selections in the Report Selections Subpage
- Run standard reports directly with inline βΆ buttons
- Open related document list/card pages with inline π buttons
- Navigate to full Report Selection pages via the Settings actions
| Object Type | Object ID | Object Name | Description |
|---|---|---|---|
| Table | 50100 | Report Test | Stores custom report metadata and user preferences |
| Enum | 50100 | Report Category | Categorization options for reports |
| Page | 50100 | Report Overview | Main dashboard (Card Page) |
| Page | 50102 | Report Overview Subpage | Custom reports list (ListPart) |
| Page | 50101 | Report Selections Subpage | Standard report selections (ListPart) |
| Codeunit | 50100 | Report Overview Mgt. | Business logic and report management |
| PermissionSet | 50100 | Report Overview | Grants access to all extension objects |
- Scans
AllObjWithCaptionfor reports in range 50000-100000 - Auto-populates the
Report Testtable on page open - Uses FlowFields for dynamic report caption lookup
- Main page filter controls trigger
ApplyFilters()procedure - Calls
SetFilters()on subpage with filter parameters - Subpage applies
Rec.SetRange()for efficient filtering
- Small-width fields (Width=1) with symbol characters (βΆ, π)
- Non-editable with DrillDown triggers
- Conditional styling with
StyleExprfor visual feedback - Favorable style for active/valid targets
- Single assignable permission set
- Execute (X) permissions for codeunits, pages, and reports
- RIMD (Read, Insert, Modify, Delete) for table data
The Report Category enum is marked as extensible. To add custom categories:
enumextension 50100 "My Report Categories" extends "Report Category"
{
value(50100; "My Custom Category")
{
Caption = 'My Custom Category';
}
}To scan a different report ID range, modify the FillTestTable() procedure in codeunit 50100:
SetRange("Object ID", YourStartID, YourEndID);- No compilation warnings or errors
- NoImplicitWith feature enabled
- All fields and actions have descriptive ToolTips
- Reduced cyclomatic complexity (<8) in all procedures
- Follows AL coding best practices
- Dashboard Pattern: Main Card page without SourceTable for pure overview
- ListPart Integration: Embedded subpages with filter propagation
- Inline Actions: User-friendly button placement for efficiency
- FlowFields: Dynamic data loading for performance
- Procedure-based Filtering: Explicit filter control between pages
- Navigate to the Report Overview Subpage
- Enter text in the "Test Information" field
- Information is stored per report and persists across sessions
- Find the Page ID for your list or card page
- Enter the ID in "List Page No." or "Card Page No."
- Use the inline π buttons to navigate directly
This is an open-source Business Central extension. Contributions are welcome!
- Report bugs or request features via GitHub Issues
- Submit pull requests with improvements
- Share your customizations and extensions
- Improve documentation
This project is licensed under the MIT License - see the LICENSE file for details.
- Built for the Microsoft Dynamics 365 Business Central community
- Designed with user experience and efficiency in mind
- Inspired by the need for better report management in BC projects
For questions, issues, or feedback:
- Create an issue on GitHub
- Check existing documentation and issues first
- Provide detailed information about your BC version and setup
Made with for the Business Central Community
For version history and changelog, see CHANGELOG.md