The quick answer
Go to Transactions > Financial > Set Up Budgets, choose the Subsidiary, Year and Budget Category, check Apply on each account, and type an amount in the first month. Fill repeats that amount in every month. Distribute divides it across the year's periods. Save, then open Reports > Banking/Budgeting > Budget vs. Actual with the same periods, budget category and subsidiary context.
A budget is only useful once a report compares it with what actually posted. This example starts with first-quarter actuals and no budget, so Budget vs. Actual shows zeros in the budget column. It then enters an FY 2026 budget for one revenue account and one expense account and reruns the same report. The person and operating-company names in the screenshots are fictional example data.
Before you start
You need a role that can set up budgets and run financial reports. The example uses Administrator in a OneWorld account with one subsidiary, Example Supply Co. Accounting periods for FY 2026 must exist, and the actuals have to fall inside the report's periods and accounting basis. Unapproved or non-posting transactions generally don't show up as actuals. In a Multi-Book account, the budget also takes an Accounting Book, and the report has to use the same one. Menu labels can vary by role and enabled features.
Budget Category only appears when Multiple Budgets is enabled. Budgets created without it belong to Legacy. The report footer can remember a category from an earlier run, so check it every time. If the report later shows a saved budget as zero, open the Analytics subtab of Home > Set Preferences and make sure Report by Period is All Reports or Financials Only, not Never.
01. Run the report before the budget
Go to Reports > Banking/Budgeting > Budget vs. Actual. In the footer, set From to Jan 2026 and To to Mar 2026, keep Budget Category at Legacy, choose Example Supply Co. in Subsidiary Context, and click Refresh.
The report shows 4100 - Service Revenue with an Amount of $131,240.00 and 6520 - Software Subscriptions with $10,206.00. Budget Amount is $0.00 on both rows. Those amounts are the posted actuals the budget will be measured against.
02. Open Set Up Budgets and set the context
Go to Transactions > Financial > Set Up Budgets. Choose Example Supply Co. in Subsidiary and FY 2026 in Year. Keep Budget Category at Legacy. If Budget Category Type and Currency are shown, they come from the category and are read-only here, so read them rather than assuming them.
Leave Customer/Project, Item, Class, Department and Location blank. Blank dimensions give an undimensioned budget per account for the whole subsidiary. Picking a class or location would address a separate budget for that combination. Keep Account Type at Income and Expense so the grid lists income and expense accounts. The columns are the fiscal year's periods, normally twelve months, and a Total column. The other Account Type choices (Income, Expense, Balance Sheet, Existing, All) change which accounts the grid lists; Existing is the quick way back into a saved budget.
03. Enter revenue with Fill
On the 4100 Service Revenue row, check Apply and enter 42,500.00 in Jan 2026. Typing an amount doesn't check Apply for you. Click Fill. Every later month now shows 42,500.00.
Scroll the grid right. Nov 2026 and Dec 2026 hold 42,500.00 too, and the row Total is 510,000.00, twelve months of 42,500.00. Fill doesn't split the amount.
04. Enter the expense with Distribute
Uncheck Apply on Service Revenue. Fill and Distribute act on every checked row, so a row you leave checked gets changed again. Check Apply on 6520 Software Subscriptions, enter the annual 37,800.00 in Jan 2026, and click Distribute.
Every month, Jan 2026 included, now shows 3,150.00, and the row Total stays 37,800.00. Service Revenue still shows 42,500.00 a month. Distribute rounds each period to the cent. When the amount doesn't divide evenly, the periods may not add back to what you typed, so check the Total before you save.
05. Save and check the Budgets list
Click Save. A confirmation appears and the Budgets list opens. You can also reach it from Transactions > Financial > Set Up Budgets > List.
The list has one row per account for FY 2026 and Example Supply Co.: Service Revenue with an Amount of 510,000.00 and Software Subscriptions with 37,800.00, both in category Legacy. Department, Class and Location are blank because the budget has no dimensions.
06. Rerun Budget vs. Actual
Go back to Reports > Banking/Budgeting > Budget vs. Actual, confirm the same periods, budget category and subsidiary context, and click Refresh.
- 4100 - Service Revenue: Budget Amount $127,500.00, three months of 42,500.00. Amount $131,240.00. Amount Over Budget $3,740.00 and % of Budget 102.93%. Revenue ran ahead of plan.
- 6520 - Software Subscriptions: Budget Amount $9,450.00, three months of 3,150.00. Amount $10,206.00. Amount Over Budget $756.00 and % of Budget 108.00%. Spending ran ahead of plan, which is worth a closer look.
In the standard report, Amount Over Budget is Amount minus Budget Amount, and % of Budget is Amount divided by Budget Amount. The sign doesn't tell you whether it's good news. More revenue than budget usually is; more expense usually isn't. Compare with step 1. With the same footer settings, the Amount column hasn't changed; only the budget columns moved.
A budget in NetSuite doesn't stop anyone from posting a transaction that goes over it. The report is how you see it.
Common questions
What's the difference between Fill and Distribute?
Fill copies the first period's amount into every later period, so 42,500.00 in January becomes 42,500.00 a month and 510,000.00 for the year. Distribute treats the first period's amount as the total and divides it across the year's periods, so 37,800.00 becomes 3,150.00 a month. Both only touch rows with Apply checked.
Why does my budget show an amount only in January?
Because the amount was typed into January and saved without Fill or Distribute. Typing a first-period amount doesn't spread it anywhere. Look across the monthly columns and the row Total before you save.
Why does Budget vs. Actual show a Budget Amount of zero?
The report didn't find a budget that matches its footer. Check the periods, Budget Category, Subsidiary Context and any More filters such as class or location against the saved budget. If they match, check that Report by Period under Home > Set Preferences > Analytics isn't set to Never.
How are Amount Over Budget and % of Budget calculated?
Amount Over Budget is the actual amount minus the budget amount. % of Budget is the actual amount divided by the budget amount, so 131,240.00 against 127,500.00 is 102.93%. Whether being over is good depends on the account: more revenue than planned usually is, more expense usually isn't.
Does a budget stop transactions that go over it?
No. A standard NetSuite budget is for planning and reporting. Blocking or warning on over-budget spending needs something else configured in the account, such as an approval workflow.
How do I edit a budget instead of creating another one?
Open it with Edit from the Budgets list, or open Set Up Budgets with the same subsidiary, year, category and dimensions and set Account Type to Existing. Saving the same combination updates those amounts rather than adding a second budget. A different class, location or category is a different budget.
What happens if I pick a class or location on the budget form?
The budget belongs to that class or location instead of the whole subsidiary. To compare it, filter Budget vs. Actual the same way with More, because actuals posted to a different class or location won't line up against it. Which dimensions you can pick depends on the features enabled in the account.