Why this matters
Budgets are usually built by finance at an aggregated level — by location, business unit or product family — and often in currency rather than units. To compare that budget with the forecast and track the gap item by item, planners usually have to split it across items themselves, often by hand in Excel. When you upload the budget at an aggregated level, SKU Science does this split for you.
Splitting on volume alone can be misleading: a budget in euros spread by units gives cheap, high-volume items far more money than they actually represent. By telling SKU Science what your file contains and which year to use as reference, you get a budget at your forecast level (item, or even item × country) that matches both your financial target and each item's real mix and seasonality, without any manual allocation in Excel.
Nothing changes if you keep the defaults. Units with the default granularity gives exactly the same result as before. If your rows are not at an aggregated level, no split happens: the values in the file are loaded as they are into each item's budget, without any processing.
New to aggregated imports? Read Upload external forecasts or budgets at an aggregated level first.
Set up the import
The Budget allocation panel appears in the import wizard only when the import type is budget and These rows are at an aggregated level is ticked.
In Definition of the forecast level, choose the aggregated fields of your file, for example Location.
Tick These rows are at an aggregated level.
After the SKU matching step, in the Budget allocation panel just above the summary table, select Values in the file are and Reference year for the allocation. The next section helps you choose.
Your file has one row per group and period. Example of a budget in euros by location, while the forecast is by Item × Location:
Location | Date | Budget |
France | 2027-01 | 9500 |
France | 2027-02 | 9800 |
France | 2027-03 | 10000 |
Germany | 2027-01 | 14200 |
Germany | 2027-02 | 13900 |
Germany | 2027-03 | 15100 |
Which options should I choose?
Pick the value type that matches what your file contains, and the reference year whose mix you want to reproduce. The budget is always stored in units, whatever you choose.
Values in the file are
Your budget is… | Choose | How it is converted to units |
Quantities | Units (default) | Split as is |
Revenue, e.g. a finance budget in $ or € | Item selling price | Each share divided by the item's selling price |
Cost of goods | Item cost | Each share divided by the item's cost |
Margin | Profit | Each share divided by the item's profit |
Weight, volume, pallets… | Your custom multiplier field | Each share divided by the item's multiplier value |
The three financial fields are always offered. Custom fields appear under the names set in your account configuration, and only if they are flagged as multipliers. The file must be in the currency of the selected field.
Reference year for the allocation
The reference year decides each item's share, period by period.
A future year (default: the year after your forecast start date) splits the budget on your consensus forecast. Use it to reflect the expected mix, including launches and phase-outs already in the forecast.
A past year splits it on adjusted demand. Use it to reproduce the mix actually observed, including planner corrections, if any.
The current year mixes both: history up to the forecast start date, forecast after.
The list offers up to five years: next year, the current year and the three previous years, newest first. A year only appears if it holds data, and each carries a hint:
Hint | Meaning |
Forecast only | Every period of the year is on or after your forecast start date |
History + forecast | The year straddles the forecast start date |
History | Every period of the year is before your forecast start date |
How the budget is split
Each period of your budget takes its shares from the same period of the reference year: March 2027 is keyed on March 2025, October 2027 on October 2025. Each item therefore keeps its own seasonality. The year shift is set once, from the first period in the file, so a budget from April 2027 to March 2028 stays on a single reference year.
For every group and every period:
Reference quantity. Read each eligible item's quantity for the matching period of the reference year: adjusted demand before your forecast start date, consensus forecast on or after it. Negative values count as zero.
Valuation. Multiply it by the item's value for the selected field (1 with Units).
Share. Divide by the group's total for that period.
Allocation. Apply the share to the amount in the file.
Back to units. Divide by the item's field value and round to whole units.
Example: a budget in euros
Location France, March 2027, budget of 10,000 €. Value type: Item selling price. Reference year: 2025.
Item | Price | Adjusted demand, Mar 2025 | Reference value | Share | Budget € | Stored units |
A | 10 € | 300 u | 3,000 € | 37.5 % | 3,750 € | 375 u |
B | 50 € | 100 u | 5,000 € | 62.5 % | 6,250 € | 125 u |
C (discontinued) | 20 € | 80 u | excluded | – | – | 0 u |
Total |
|
| 8,000 € | 100 % | 10,000 € | 500 u |
Check: 375 × 10 + 125 × 50 = 10,000 €. A split on volume alone would have given A 75 % of the budget; valuing it gives A 37.5 % of the money.
The formula
In plain text: stored units of item u = file amount × reference quantity of u ÷ sum over the group of (reference quantity × field value). With the example: 10,000 × 300 ÷ (300 × 10 + 100 × 50) = 375 units for A.
Symbol | Meaning |
| The item receiving budget |
| Any item of group A, u included |
| The period: month, or ISO week on a weekly account |
| The group covered by one file row, discontinued items left out |
| Amount in the file for group A and period m |
| Quantity of u in the same period of the reference year |
| Value of v for the selected field; 1 with Units |
| Units stored for u in period m |
Which items receive budget?
For every item that takes part, the upload replaces its existing budget for the periods in the file. Periods outside the file are left untouched.
Situation | What happens |
Discontinued item | Excluded for the whole budget, whatever its end-of-life date. Its budget is set to 0 for the file's periods and its share goes to the rest of the group |
Item taken out of the forecast (baseline forced to zero) | Excluded the same way |
New item, no adjusted demand before the reference year | Keyed on its consensus forecast for the budget's own period; the rest of the group keeps its reference-year quantities, all in one total |
Successor of a replaced item | Takes part normally and inherits the predecessor's share, since its adjusted demand carries the transferred history |
Selected field empty or zero | Share of 0, no budget. Reported as MISSING_PRICE |
Group with no reference data for a period | Shares fall back to the consensus forecast of the budget's own period |
Group with no reference data and no forecast | Nothing written for that period; existing budgets are kept |
File row matching no item | Reported, nothing written |
Read the import report and troubleshoot
An aggregated budget upload adds three lines to the usual import report:
Budgets updated: the number of items whose budget was written.
Budget value type: the value type used.
Reference year: the year used, with its data source in brackets.
The full report, with one line and one code per situation, is in the comment column of the upload's entry in the audit trail. The job notification and the confirmation email show the two settings, not the codes. Quote the code when contacting support.
Report codes
If the upload stops with a message instead of a report, the selected field is empty for every item the budget covers, or the account has no forecast start date. Nothing is written.
Code | Level | What it means | What to do |
EMPTY_AGGREGATE_NOT_ALLOCATED | Error | A group and period had no reference data and no forecast to fall back on. Nothing written, existing budgets kept. The line gives the value not allocated | Check the group has a forecast for that period, or pick another reference year |
UNMATCHED_ROW | Error | A file row matched no item | Check the spelling of the aggregated values in your file |
MISSING_PRICE | Warning | Items with no value for the selected field received no budget. Never reported for a Units upload | Fill in the field in the item master data and re-upload |
EMPTY_AGGREGATE_FALLBACK | Warning | A group and period had no reference data, so the budget year's consensus forecast was used as the key | No action needed if the forecast mix is acceptable |
DISCONTINUED_EXCLUDED | Info | Discontinued items left out of the allocation | None |
NEW_PRODUCT_FORECAST_KEY | Info | New items keyed on their forecast of the budget year | None |
ROUNDING_GAP | Info | Stored units, valued back, miss the file amount slightly. Only with a value or multiplier type | None, rounding effect |
Limits to keep in mind
One value per item. Each item has a single selling price, cost, profit or multiplier, not one per year. A past reference year is therefore valued at today's prices.
Budgets are stored in units. The amount you see later is recomputed as stored units × the item's current field value, so it moves if that value changes.
No currency conversion. Mixed-currency files are not supported.
Rounding. With Units, the remainder goes to the largest item so the group sums back exactly. With a value or multiplier type this correction is not possible, and any gap is reported as ROUNDING_GAP.
Going further
Weekly accounts. The year is the ISO year and periods are ISO weeks, so week 1 may start in late December of the previous year.
Remembered settings. Your last choice is pre-selected at the next budget upload in the same account, if still available. Otherwise the panel defaults to Units and next year. If no recent year holds history or forecast, the panel says so and the budget cannot be allocated.
Why adjusted demand. Using adjusted rather than raw demand means the split already reflects planner corrections and history transferred from predecessors to successors.
New items with a past reference year. New items are weighted at the budget year's level, the others at the reference year's level. If strong growth is expected, new items come out slightly over-weighted. With a future reference year, every item is keyed on the forecast, so this does not apply.
Questions about an import? Contact us through the messenger at the bottom right of the screen.


