Budget Upload in Solution 7: Automating Budget & Forecast Upload Templates
Please read our Privacy Statement and Standard License Terms. By downloading any of the documents below, you are agreeing to our Standard License Terms.
NOTE: Solution 7 is migrating their website content and downloads to the Zone Help Center! Update your bookmarks and saved pages now!
- To download the latest editions of Solution 7, please select the correct edition under Downloads & Releases > Edition Downloads (NetSuite, IRIS, Dream).
Overview
You can use Solution 7 to build a budget or forecast template and then upload that template directly into NetSuite, without needing NetSuite's own CSV importer. There's no fixed layout for this — your template can be as simple or as complex as your process needs. Once your template is mapped, you can upload it as-is, or use Solution 7's automation feature to generate multiple versions of the same budget — for example, one workbook per location or subsidiary — and upload them all in a single pass.
From an upload point of view, Solution 7 treats a budget and a forecast identically — both use the same mapping, upload, automation, and function process described in this article. It's entirely up to you which one you're uploading; NetSuite itself doesn't distinguish between the two beyond how you label your budget category. For simplicity, this article uses the term "budget" throughout, but everything here applies equally if you're uploading a forecast.
Budget upload now supports Multi-Book too. Previously, you could only upload a budget to the primary book — you can now upload to a secondary book, an adjustment book, or any other accounting book, separate from the primary book. The process follows exactly the same steps as other budget upload scenarios, with one difference: an extra Accounting Book field appears alongside your other required fields on the Map Worksheet(s) screen.
This article covers:
- Building a budget template (using the same approach as a standard P&L report).
- Mapping a budget worksheet.
- Uploading a mapped worksheet to NetSuite.
- Automating budget generation across multiple locations, subsidiaries, or other NetSuite dimensions.
- Verifying an uploaded budget using the Budget functions.
- Troubleshooting a failed or incorrect upload.
Before you start, make sure you're comfortable with the basics of building summarized reports using Solution 7's Lists and Functions (see the Solution 7 Basic Concepts & Building Your First Report guide).
Building a Budget Template
You build a budget template the same way you'd build a standard P&L report — using the different list types to define your budget segments, such as the subsidiary, budget Category, accounts and accounting periods. If you're comfortable building a P&L, you already know how to build a budget template; see the Solution 7 Basic Concepts & Building Your First Report guide for that walkthrough.
You're not tied to any particular layout for a budget template — it can be as simple or as complex as your process needs, as long as it's laid out logically enough for Solution 7 to map it (see Mapping the Worksheet, below).
Two common approaches are:
- Flat upload format — a single, simple sheet with one row per budget line, and a column for each value NetSuite needs for the upload. This is closer to the format NetSuite's own CSV importer expects — you lay out the whole budget on one sheet, map it, and upload it directly without needing automation at all.
- Dynamic list format — similar to a report format (like a P&L) with accounts down the rows, periods across the columns, with pop-up lists used to toggle between dimensions like Subsidiary or Location. This format works especially well with the automation feature (see below), because you can toggle the pop-up lists to generate new versions of the template.
Keep it logical!
Whichever format you use, the only requirement is that it's laid out logically, with clear row and column headers Solution 7 can use to work out where each amount belongs — covered next in Mapping the Worksheet.
Mapping the Worksheet
Before you can upload a budget template, you need to map the worksheet. Mapping tells Solution 7 which cells on the sheet correspond to each NetSuite budget field.
-
On the Solution 7 ribbon, select Budgets & Forecasts > Map Worksheet(s).
- With your cursor in the Subsidiary argument, reference the Subsidiary pop-up list. Solution 7 will automatically lock the cell reference (e.g.
$C$3). - With your cursor in the Periods argument, reference the range of period cells across your template (e.g.
$E$4:$P$4). This is inserted as an array covering every period column. - With your cursor in the Accounts argument, reference the account number column from your template (e.g.
$B$7:$B$12). This is inserted as an array covering every account row. - Ensure the Account No. option is checked, if you're mapping by account number rather than account name.
- With your cursor in the Budget Category argument, reference the Budget Categories pop-up list.
- Click OK.
Flat upload format
Dynamic list format
The mapping works out where each amount belongs based on row and column headers — as long as the accounting period is identified as a column header and the account is identified as a row header, Solution 7 can work out that the amount sits at the intersection of the two. This means you're not restricted to one exact layout, as long as the sheet is logically structured.
Multiple budget categories
A budget category is NetSuite's term for a version of the budget (or forecast). You'll have at least one — the Legacy Budget category — but turning on Advanced Financials in NetSuite allows multiple budget categories, so you can upload and compare different versions separately.
Budget category determines the currency
The budget category you map to also determines the currency your budget amounts are uploaded as. Solution 7 doesn’t set or translate currency during upload. In NetSuite, every budget category is set up as either Global (amounts show in the currency of the root parent subsidiary) or Local (amounts show in the subsidiary base currency). Make sure the amounts on your template are already in the currency the mapped budget category expects. For more detail, see the Reporting in Multiple Currencies in Solution 7 guide.
Use automation to map multiple budgets
Mapping only applies to the sheet you're on. If your workbook has multiple sheets (for example, one per location), you'll need to map each sheet individually, unless you're using the automation feature to generate the sheets, in which case the mapping is carried over automatically to every sheet automation creates.
Automating Budget Generation
If you're generating multiple versions of the same budget — for example, one per location or subsidiary — the automation feature can build and upload them all from a single template, rather than you manually copying/pasting sheets and re-mapping each one.
If you are using the flat upload format, skip this section and move to the Uploading to NetSuite section of this article.
Setting up automation
- Build one version of your budget template as normal (using the dynamic list format), and select the cell that will change per budget version — for example, the Location. This can be multiple NetSuite dimensions: Location, Subsidiary, Year, and so on.
-
On the Solution 7 ribbon, click Define Automation.
-
Add the cell you identified in step 1, then click OK.
- Click Yes when prompted to copy the contents from the pop-up cell. This creates a new automation sheet.
Configuring the automation sheet
The automation sheet lists one row per version you want to generate, with several columns to configure:
- Dimension value — remove any rows for versions you don't want to generate, and add a row for each version you do (for example, one row per subsidiary).
- Workbook name — the name of the output workbook. Enter one name for every row to combine them all into a single workbook, or give each row its own workbook name to generate a separate workbook per version. Leaving a row blank inherits the name from the row above, so you don't need to repeat it for rows that belong in the same workbook.
- Email address — optional. If set up on your system, entering an email address here will email the resulting workbook to that address once generated.
- Additional options / token — used to name each sheet before it's generated (e.g. a short code identifying which version is on which sheet). Up to nine additional option cells are available per row.
Automation email
The email option depends on your system configuration, and can be affected by two-factor authentication on email accounts — if it doesn't work, this is normally something your IT team needs to resolve on their end, not a Solution 7 setting.
Output and sheet options
Before you run the automation, you'll also configure how the output is generated.
-
Output method — save the workbook, print it or email it. Click Save Sheet(s), Print Sheet(s) or Email Sheet(s).
- Select the sheet(s) you want to include in the automation output.
-
Sheet name — reference the token(s) entered in the automation sheet (e.g. {1} for token 1) to control what each generated sheet is named.
-
Copy sheet per automation row vs. per workbook — per row creates one new sheet for every row in your automation sheet (e.g. an individual report per location); per workbook creates one sheet per workbook regardless of how many rows it contains (e.g. a single front sheet or contents page for a reporting pack).
Optional steps:
- Zero suppression — hides any rows that come back as zero for a given version, so each generated sheet only shows the accounts relevant to it. The sheet(s) you are automating must have the zero suppression applied already.
- Formula handling — choose whether to leave the underlying Solution 7 formulas in the output (so you can refresh the sheet later), drop the formula and keep only the resulting value, or lock the formula's value in place.
-
Protection and folder structure — optionally protect the output or organize generated files into a new folder structure.
Once your options are set, click OK to run the automation. A progress indicator shows how many sheets have been generated (e.g. "1 of 4"), and the resulting workbook is saved to the same location as your original file by default — or to a specific folder if you set one in the workbook name field (e.g. C: user\documents\reporting\budget by sub).
Updates and changes
If you make a mistake in the automation sheet, you don't need to start over — just correct the row and re-run the automation. Saving with the same workbook name will overwrite the existing file rather than creating a duplicate.
Mapping automated sheets
Each sheet the automation generates needs to be mapped individually (as in Mapping the Worksheet above) before you can upload it — unless you already mapped the original sheet before running the automation, in which case the mapping is automatically copied across to every generated sheet.
Always map your worksheet before running automation!
It's worth mapping your original template before running the automation for this reason — it saves you having to map every generated sheet individually afterward.
Uploading automated sheets
Once you workbook has been automated and the sheet(s) are mapped, upload your budget through the Budgets & Forecasts > Upload To NetSuite feature, then select every sheet you want to upload.
Do not upload totals
Do not select total sheets or rows when uploading, as NetSuite will create a total from each budget total automatically. A totals sheet is for your own internal reference only.
Uploading to NetSuite
Once you've mapped a worksheet, you can upload the template to NetSuite directly from Excel.
- On the Solution 7 ribbon, select Budgets & Forecasts > Upload To NetSuite.
- Select the sheet(s) you want to upload.
- Click Upload.
- On the Budget Upload Confirmation dialog, check the Account ID and Role ID are correct, then click OK.
Note: To check your Account ID and Role ID, go to the Solution 7 ribbon and select Configure > Advanced.
Once you click OK, Solution 7 connects to NetSuite and uploads your mapped budget. When it finishes, a Budget Upload status report opens on a new worksheet, confirming what was uploaded and flagging anything that failed.
Speed vs size
Upload speed depends on the size of the sheet and the number of budget cells you're uploading — a small template with a handful of records uploads almost instantly, while a large template with many sheets and hundreds of cells will take longer. Your first upload of a budget also tends to be faster than uploading changes to an existing budget later.
Re-uploading your budget
If you need to make changes to a budget you've already uploaded, you can simply update the budget amounts on your sheet and upload again — NetSuite will replace the existing amounts for the accounts, periods, and other dimensions you upload, rather than adding a duplicate entry alongside them. You don't need to remove or reverse anything in NetSuite first.
Just upload changes rather than the whole template
You can select individual rows to upload rather than the whole sheet — useful if you've already uploaded a budget and only want to push through changes to one or two lines, rather than re-uploading everything.
If anything goes wrong during the upload, see Troubleshooting below.
Verifying an Uploaded Budget
Once you've uploaded a budget, you can confirm the values are in NetSuite by pulling them back into Excel using a Budget function, rather than checking manually in NetSuite.
- Select an empty cell below your uploaded budget amounts.
-
Select Function > NetSuite Budgets, then choose the function that matches how you want to reference the account — for example, NSGLABUD to look up by account number. Use NSGLAPBUD if you have uploaded a budget by secondary accounting book, customer, vendor, project, employee or other NetSuite classification.
[screenshot]
- With your cursor in the Subsidiary argument, reference the Subsidiary pop-up list and lock the cell.
- With your cursor in the Budget Category argument, reference the Budget Categories pop-up list and lock the cell.
- With your cursor in the Account argument, reference the account cell and lock the column.
-
With your cursor in the From Period argument, reference the period cell and lock the row.
-
With your cursor in the Location argument (if used), reference the Location pop-up list.
- Click OK, then copy the formula across and down to complete the check.
Budgets vs actuals
With both actuals and budget values available in NetSuite, you can build a variance report directly, since both figures are coming from the same source.
Live changes!
Because Solution 7 has a two-way connection with NetSuite, any change you make directly in NetSuite — for example, creating a new budget category — will appear in Solution 7's lists as soon as you refresh, ready to map and upload against.
Troubleshooting
If the Budget Upload status report or web services usage log shows an error, common causes include:
- Uploading to the consolidated subsidiary — the consolidated subsidiary is a rollup of all subsidiaries in NetSuite. To generate a budget consolidation, you must upload the budget to each individual subsidiary.
- Mapping errors — a required field (Subsidiary, Period, Account, Budget Category, or Location) wasn't mapped before you uploaded.
- Typos or mismatches — an account number or name that doesn't exactly match what exists in NetSuite (for example, an extra character) will cause that row to fail.
- Uploading a totals/wildcard sheet — see the note on automation above; a sheet built with a wildcard to total other versions cannot itself be uploaded.
If the upload succeeds but the figures in NetSuite look wrong — too large, too small, or clearly in the wrong currency — this usually isn’t an upload error at all, but a currency mismatch between your template and the budget category’s Global/Local currency setting (see the note on this in Mapping the Worksheet above). Check the budget category’s currency type and re-run the upload.
If you're investigating a failed upload in more depth (or asking your NetSuite admin or IT admin to), the Budget Upload status report includes a link to the web services usage log in NetSuite, which shows exactly what was sent and what NetSuite returned.
Summary
Solution 7's Budgets & Forecasts tools let you build a budget template once, map it to NetSuite's budget fields, and upload it directly — without NetSuite's CSV importer. If you're managing multiple budget versions, the automation feature can generate and map every version from a single template, ready to upload in one pass, and the Budget functions let you verify what's landed in NetSuite without leaving Excel.
Still need help? Contact Support.