How to Create a Custom Income Statement Report in Business Central?

In Dynamics 365 Business Central, you build a custom income statement using the native Financial Reporting feature (the current name for what used to be called Account Schedules). You define the report's rows from your chart of accounts, define the columns (like current period vs. prior period), then preview, print, or export the result to PDF or Excel. No coding or developer involvement is required, and setup usually takes under an hour.

If you've searched for this topic before, you may have landed on guides that still walk through "Account Schedules." That's not wrong exactly, it's just the old name. Microsoft renamed the feature to Financial Reporting starting in the 2022 release wave 2 update, and has since added several capabilities (through 2025 release wave 1 and 2025 release wave 2) that directly close the formatting gap this feature used to have. We'll walk through both the terminology and the newer capabilities below, so you're not building a report using outdated menu names.

What Is an Income Statement, and Why Build a Custom One?

An income statement (also called a profit and loss statement, or P&L) shows your company's revenue, expenses, and resulting profit or loss over a specific period. Business Central ships with a default Income Statement report, but most finance teams eventually need a custom version, whether that's to match a department structure, compare actuals to budget, add a variance column, or report by dimension (location, business unit, project).

Business Central gives finance users a no-code way to build these reports themselves, without needing an AL developer or a support ticket.

Account Schedules vs. Financial Reporting: What Changed

Quick clarification before we start, since this trips people up:

  • Account Schedules was the original name for this capability in Business Central and Dynamics NAV.
  • Financial Reporting is the current name, introduced in the 2022 release wave 2 update. The underlying engine (rows, columns, formulas) works the same way, but Microsoft separated the concepts more clearly: a Financial Report is now a combination of a Row Definition + a Column Definition + report-level settings (title, filters, status), rather than one page that does everything.
  • Since then, Microsoft has continued investing in this feature. 2025 release wave 1 added introductory/closing paragraphs, configurable negative-number formatting, and additional reporting currency (ACY) support. 2025 release wave 2 added scheduled report delivery by email, the ability to run a report across every value in a dimension, and Excel-based editing of row definitions.

If you're on a reasonably current version of Business Central, you'll see "Financial Reports," "Row Definitions," and "Column Definitions" in search, not "Account Schedules." We'll use the current terminology throughout this guide.

Prerequisites Before You Start

Before building your income statement, it helps to have three things in place:

  1. A clean chart of accounts, ideally with G/L account categories mapped. Categories make your row definitions more resilient. If someone renumbers a G/L account later, a category-based row keeps working; a hardcoded account range might not.
  2. Dimensions set up for anything you want to slice the report by (department, location, project, business unit).
  3. G/L budgets created, if you want a budget-vs-actual comparison column.

You don't need all three to build a basic income statement, but they matter for more advanced versions.

Step 1: Create a New Financial Report

  1. Select Search (Alt+Q), enter Financial Reports, and choose the related link.
  2. On the Financial Reports page, choose New to start from scratch, or select an existing report (like the built-in Income Statement) and choose Copy Report Definition to use it as a starting point. Copying is usually faster.
  3. In the Name field, enter a short code (you can't change this later, so pick something meaningful).
  4. In the Display Title field, enter the name that should appear on the report, for example "Income Statement by Department."
  5. Choose a Row Definition and Column Definition, or leave them blank for now if you're creating new ones from scratch.

Step 2: Build the Row Definition

The rows of your income statement define which accounts appear, and in what order.

  1. From the Financial Reports page, choose Edit Row Definition.
  2. To pull accounts in automatically, choose Insert G/L Accounts, scroll to the income statement section of your chart of accounts, select the accounts you want, and choose OK. This is the fastest way to build rows if your report structure closely follows your chart of accounts.
  3. Alternatively, type row definitions manually if you want more control over grouping, subtotals, or custom labels.

Key fields in a row definition

  • Row No. – A unique identifier you can reference later in formulas. If inserted from the chart of accounts, this defaults to the G/L account number. If typed manually, a convention like P0001, P0002 keeps things organized. Row numbers don't print on the report.
  • Description – The label that prints on the report. Defaults to the G/L account name when inserted automatically.
  • Totaling Type – Determines where the row pulls its value from: a posting account or range, a formula referencing other rows, a totaling account, or a formatting-only row (underline, double underline, blank row).
  • Totaling – Works with Totaling Type:
    • Posting: list one account, a range (40000..40999), or combine ranges with a pipe (40000..40001|40500..40990).
    • Formula: reference other Row Nos. with math operators, e.g., P0001 + P0002.
    • Totaling Account: reference a totaling account already defined in your chart of accounts.
  • Row Type – For an income statement, always Net Change. (Balance at Date and Beginning Balance are used for balance sheets.)
  • Show Opposite Sign – Revenue accounts typically post as negative amounts in the chart of accounts. Check this on revenue rows so income displays as a positive number.
  • Show – Controls visibility: Yes (always show), No (hide, useful for helper rows used only in formulas), or If Any Column Not Zero (only show rows with activity).
  • Formatting fields – Bold, Italic, Underline, Double Underline, New Page.
  • Indentation – Use Process >> Indent or Outdent to nest line items under subtotals.

Tip: If your G/L accounts change frequently, build rows around G/L account categories instead of hardcoded account ranges. It's more setup up front but saves rework every time your chart of accounts changes.

Step 3: Build the Column Definition

Columns define what values appear side by side, current period, prior period, budget, variance, and so on.

  1. From the Financial Reports page, choose Edit Column Definition (or, from within a row definition, Process >> Edit Column Layout Setup).
  2. Create a new column layout, giving it a Name and Description.
  3. Add columns as needed. A common income statement layout is: Current Period, Previous Period, Variance.

Key fields in a column definition

  • Column No. – Internal identifier, not printed, referenced in formulas.
  • Column Header – The label that appears on the report.
  • Column Type – Net Change (most common for income statements), Formula (for calculated columns like variance), or Subsidiary (for comparing across companies).
  • Ledger Entry Type – Entries, unless comparing to budget, then Budget Entries.
  • Amount Type – Usually Net Amount, unless you specifically need only debit or credit amounts.
  • Budget Name – Required if Ledger Entry Type is Budget Entries.
  • Formula – References other Column Nos., e.g., C001 - C002 for a variance column.
  • Show Opposite Sign – Don't enable this on both the row and the column for the same figure, or the signs cancel out.
  • Comparison Date Formula – Defines the offset period, e.g., prior month or prior year.
  • Show – Always, Never (for helper columns), or conditional on positive/negative values.
  • Rounding Factor – Round to whole dollars, thousands, or millions.

Step 4: Preview, Print, or Export the Report

Once your row and column definitions are ready:

  • On-screen preview with drill-down: Open the financial report and use the preview pane below the Dimensions FastTab, or choose Related >> Overview. Click any figure to drill down into the underlying transactions.
  • Export to Excel: From the report view, choose Actions >> Excel >> Export to Excel >> Create New Document.
  • Print or save as PDF: Choose Reports >> Print, select your report and date range, then print, preview, or output to PDF, Word, or Excel. You can also schedule the report to run on a recurring basis.

Formatting Your Income Statement: What's Native Now vs. What Still Needs Help

This is the section where older guides tend to be out of date. For years, the standard advice was: Business Central's native tool can't do advanced formatting (custom fonts, multi-column spanning headers, colors, branded layouts), so you'd need to either export to Excel, hire a developer, or buy a third-party tool like Jet Reports.

That's still partly true, but the gap has narrowed significantly:

Formatting needNative Financial Reporting today
Bold, italic, underline, double underlineYes, built in
Company logo placement on printed/PDF reportsYes, configurable in General Ledger Setup
Intro and closing paragraphs on the reportYes, added in 2025 release wave 1
Custom negative number format (minus sign vs. parentheses)Yes, added in 2025 release wave 1
Reporting in a second currency (ACY) alongside local currencyYes
Scheduled report delivery by email or report inboxYes, added in 2025 release wave 2
Running one report across every dimension value at onceYes, added in 2025 release wave 2
Editing row definitions directly in ExcelYes, added in 2025 release wave 2
Custom fonts, cell colors, conditional formatting, complex spanning headersNo, still requires Excel formatting, a developer customization, or a third-party tool

If your income statement just needs to be accurate, well-organized, and presentable, the native Financial Reporting feature can likely get you there today without any add-on. If you need pixel-level branded formatting (colored bands, spanning "Trend Results" headers, conditional cell shading), you still have three options:

  1. Export to Excel and format there – free, works with what you already have, but formatting doesn't persist automatically each time you refresh.
  2. Integrate a financial report with an Excel template – Business Central supports connecting a financial report to a formatted Excel workbook template, so your formatting stays intact each time you refresh data. This is a middle ground most teams overlook.
  3. A third-party tool like Jet Reports (insightsoftware) – purpose-built for complex, branded, multi-entity financial statements built directly in Excel. Worth it if your reporting needs are genuinely complex or you're reporting across many subsidiaries.

Common Issues When Building a Custom Income Statement

  • Report shows no data: Usually a date filter or dimension filter issue. Set filters using the Options and Dimensions FastTabs on the Financial Report page, not the general Filter pane, which can silently fail to apply.
  • Revenue shows as negative: Enable Show Opposite Sign on the revenue rows.
  • Totals don't match the chart of accounts: Double-check for overlapping account ranges in your Totaling field, a common cause of double-counting.
  • Report breaks after a chart of accounts change: This is the classic argument for building rows on G/L account categories instead of hardcoded account numbers.
  • Formatting resets after refreshing in Excel: Use the Excel template integration (mentioned above) instead of a one-off manual export if you need repeatable formatting.

Best Practices for Custom Income Statements in Business Central

  1. Start from a copy, not a blank page: Use Copy Report Definition on an existing report (yours or Microsoft's sample) to save setup time.
  2. Use G/L account categories for rows wherever possible, for resilience against chart-of-accounts changes.
  3. Name and document your reports: Report definitions aren't versioned; a good code and description save future confusion.
  4. Back up before major edits: Copy or export a report definition before changing it, since saved changes overwrite the previous version.
  5. Assign a status: Use Active, Draft, or Retired statuses (or your own) so users don't accidentally run an outdated report.
  6. Reassess before buying a third-party tool: Given how much native formatting has improved recently, re-test what Financial Reporting can do before assuming you need Jet Reports or a custom development project.

Frequently Asked Questions

How do I create an income statement in Business Central?

Search for Financial Reports, create a new report (or copy an existing one), define the rows by inserting accounts from your chart of accounts, define the columns for the periods or comparisons you want, then preview, print, or export the report. No developer is required.

What happened to Account Schedules in Business Central?

Account Schedules was renamed to Financial Reporting starting with the 2022 release wave 2 update. The underlying functionality is the same, but the feature is now organized around Financial Reports, Row Definitions, and Column Definitions as separate, reusable pieces.

Can I build an income statement without a developer?

Yes. Financial Reporting is a no-code, self-service feature intended for accounting and finance users, not developers.

Can Business Central email a financial report automatically on a schedule?

Yes, as of the 2025 release wave 2 update, you can schedule a financial report to run automatically and have the output delivered by email or to the report inbox.

Do I still need Jet Reports or another third-party tool for a custom income statement?

Not necessarily. Native Financial Reporting now covers most formatting needs, including company logos, intro/closing paragraphs, and Excel template integration. Third-party tools like Jet Reports are still worth considering for highly complex, branded, or multi-entity statements, but they're no longer a requirement for a professional-looking income statement.

How do I compare actuals to budget on an income statement?

Create G/L budgets first, then in your column definition, set Ledger Entry Type to Budget Entries and specify the Budget Name. You can add a formula column to calculate the variance between actual and budget columns.

Final Thoughts

Business Central's Financial Reporting feature (what you may still know as Account Schedules) remains the fastest, most accessible way to build a custom income statement, and it's gotten noticeably more capable over the last two release waves. For most companies, that means you can build a clean, professional, board-ready income statement natively, without a developer and without necessarily needing a third-party add-on.

If your reporting needs go beyond what native tools offer, whether that's highly complex multi-entity consolidations, branded formatting at scale, or deep drill-through analytics, it's worth a conversation about whether a report customization or a tool like Jet Reports makes sense for your team.

Dynamics Squarecan help you build, refine, or troubleshoot your financial reports, or evaluate whether a third-party reporting tool is worth the investment for your specific needs.

Need help getting your income statement set up correctly? Talk to our Business Central experts for a free consultation.

Sarbin Kumar Mukhiya - Author
Sarbin Kumar Mukhiya

Sarbin Kumar Mukhiya is a Senior Dynamics 365 Solution Specialist with over 10 years of professional experience in auditing, taxation, accounting, and ERP consu...

Business Central for Professional Services

Discover how Dynamics 365 Business Central helps professional services firms manage projects, billing, resources, and profitability in one platform.

Top 5 Business Central Partners in the USA

Compare the top 5 Microsoft Dynamics 365 Business Central partners in the USA, including Dynamics Square, RSM, Hitachi Solutions, Innovia, and Sikich, plus how to pick the right one.

Phone