Home / Blog / 10 NetSuite financial reporting tips
10 NetSuite financial reporting tips, from people who close books in it every month

Bring it to a free 30-minute call with Narek. No pitch.
Book a callMost NetSuite financial reporting problems are setup problems, not software problems. Report by accounting period, build one shared layout with sections based on account types, classify every transaction at entry, put budget columns inside the statement, calculate consolidated exchange rates and lock the period before the pack goes out, and schedule the pack so it arrives by itself. Do those once and the monthly reports become a click.
- Set reporting by accounting period first. Half of the "wrong" NetSuite reports we see are date-range reports with unlocked periods.
- Put the work into layouts and classifications once, and every statement after that is a click.
- In OneWorld, consolidated exchange rates and period locks are part of reporting, not an afterthought.
Why NetSuite reports disappoint at first
NetSuite ships with a full set of financial statements: income statement, balance sheet, cash flow, trial balance, budget versus actual, and consolidated versions of each for groups. When a client tells us "the reports are wrong", the reports are almost always right. They are showing an account that was set up in a hurry: transactions without a department, an income statement run by date range while last month is still open, consolidated rates that nobody calculated. The ten tips below are the settings we fix first when we take over an account.
The ten tips, in the order we apply them
- Report by accounting period, not by date. In Home, Set Preferences, on the Analytics tab, set Report by Period to Financials Only. Financial statements then run by period, other reports keep their date ranges. If it is set to Never, budget columns show zeros and the Budget vs. Actual report cannot work. This one setting explains a surprising share of "the numbers moved" complaints.
- Build one layout and let every statement share it. NetSuite stores the rows and sections of a financial statement in a layout, not in the report. A custom layout starts as a copy of the standard one, and several statements can share it, so your management income statement, your comparative and your budget version all look the same. They live under Reports, Financial, Financial Row Layouts.
- Define sections by account type and number range, never by a list of accounts. A section built on criteria picks up every account of that type, including the ones created next month. A section built from a hand-picked list silently drops the new account, and the statement still adds up, so nobody notices.
- Classify at entry, not at month-end. Departments, classes and locations, plus custom segments for anything else you report on (a profit center, a product line), only work if every transaction carries them. Decide which are required, make them mandatory on forms, and fix the missing ones in the week they happen. Recoding a quarter of transactions in the close is how the close runs late.
- Put budget next to actual inside the statement. Budget fields are available as columns in the Financial Report Builder, and the standard Budget vs. Actual report already gives amount, budget, variance and percent of budget. Import budgets by CSV with account names that match the chart of accounts exactly. One limit: custom segments are not available in the budget reports, so budget by department, class or location.
- Use View Columns By for the split you always need. On the Edit Columns page, View Columns By adds a persistent column per department, class, location, subsidiary or custom segment every time the statement runs, so nobody re-selects it in the footer. Keep it sensible: a report cannot have more than 30 data columns.
- Add a percent of income column to the income statement. Select the amount column in the preview and tick "Add % of Income Column". Every total row then shows its share of income, which is the first thing a board member looks for anyway.
- In OneWorld, calculate consolidated exchange rates before you close. Consolidated reports translate each subsidiary with the rates in Lists, Accounting, Consolidated Exchange Rates: average for the income statement, current for most of the balance sheet, historical for equity. If nobody sets them, NetSuite uses a rate of 1. And by design, subsidiary-level reports will not add up to the consolidated report, because they use transaction rates instead. Expect that, and explain it once.
- Lock the period, then run the pack. A closed period cannot be posted into by anyone, so a report run after the close will give the same answer next week. Reports run from open periods will not. Work through the Period Close Checklist in order, and use Quick Close only when you are sure: it marks the tasks done, it does not run them. Reopening a period reopens every later period with it.
- Schedule the pack and keep each report light. Click Schedule in a report footer to email it on a fixed rhythm to recipients in your account. A scheduled report that takes more than three minutes at peak hours is switched off automatically, so trim columns and run heavy reports off-peak, and do not start several big reports at once. Our day 10 schedule has the pack going out the morning after the lock.
Was every number in it run after the period was locked? If you are not sure, the next question from the board may get a different answer from the one in the pack.
Which tool for which job
NetSuite gives you four ways to get numbers out, and picking the wrong one is the second most common cause of ugly reporting.
| You need | Use | Why |
|---|---|---|
| A formatted statement for the board or the bank | Financial statement (Financial Report Builder) | Sections, layouts, budget columns, subsidiary context |
| A list with a formula, an alert or an exception | Saved search | More flexible filters and formulas, and it can email itself when something appears |
| Ad hoc analysis, pivots and charts across records | SuiteAnalytics Workbook | Drag and drop, joins across record types, quick drill-down |
| The same numbers in Excel or another tool every month | Export, or SuiteAnalytics Connect | Export to CSV, Excel or PDF; Connect gives read-only access to the tables |
Oracle's own summary is blunt: saved searches "support more complex data manipulations than reports and the ability to send email alerts, but don't show the same level of presentation formatting." Use each for what it is good at.
Where AI helps, and where it does not
NetSuite now offers Narrative Insights, a generative AI summary on some standard reports (the income statement, balance sheet, cash flow, trial balance and budget versus actual among them). It is a useful first read of what moved. It does not run on customized reports, Oracle itself says the summary "may not be completely free of errors", and it can differ each time you generate it. Treat it as a draft commentary for a person to check, not as the commentary.
In our own work, AI drafts the variance notes and flags the accounts that moved more than usual. An accountant reads the flags, checks the reason in the ledger, and writes the two sentences that go to the client. That is the part that cannot be scheduled.
Give every report in the monthly pack a named owner in your team, and keep the pack to the reports someone actually reads. A pack of thirty reports that nobody opens is slower to produce and hides the three that matter.
What we do when we take over a NetSuite account
We open the preferences, the layouts, the classifications and the last three closed periods before we touch a single report. Usually two or three of the ten settings above are the whole problem. If your reports take days to assemble or nobody trusts them, that is the review we start with on a NetSuite consulting engagement, and it is read-only until you say otherwise.
Where this goes wrong
| The problem | What it costs you | The fix |
|---|---|---|
| Sections are built from hand-picked account lists | New accounts silently fall out of the statement | Build sections on account type and number ranges |
| Reports run before the period is locked | The pack you sent on Monday no longer matches the system on Tuesday | Lock the period, then run the pack, then send it |
| Consolidated rates never calculated | Subsidiary reports and the group report disagree and nobody knows which is right | Calculate consolidated rates as a close task, every period |
Our NetSuite team builds and runs monthly reporting packs inside client accounts, so these are the settings we fix first when we take one over.
Sources we opened and checked for this guide:
First published 2024. Rewritten and checked in September 2026. If something here is out of date, tell us and we will fix it.




