Update an input form#
An input form is generated from a template workbook. Changing what contributors see means changing the template and then regenerating, with a decision to make about work already in progress.
The two templates#
| Template | Campaign | Sheets |
|---|---|---|
Timberline_Budget_Input_Model.xlsx |
Segment & Channel Budget Input | Budget Entry, Fixed Costs, Summary |
Both are in Workspace ▸ Files ▸ Timberline ▸ Financial Reports ▸ Source Files.
Change the template#
- Download the template from workspace files.
- Edit in Excel with the Reportworq add-in available. The forms are full of add-in formulas; saving them without the add-in bakes errors into the cells.
- Upload back over the same file record so the campaign's binding survives, it binds to the file id, not the name.
- Regenerate the forms in the campaign, then open one as a contributor and check it.
What you are usually changing#
Adding or moving input cells#
Input cells are defined by a binding formula that names the range:
=RW_CONTRIBUTION_INPUT($D$10:$D$33, "volume",
"Account", $A:$A, "Channel", $B:$B, "Market", $B$1, "Time", $B$2, "Measure", "Volume")
If you add rows to the grid, extend the range in the binding to match. A cell inside the visual grid but outside the bound range looks editable and writes nowhere, the most common way a form goes quietly wrong.
The dimension arguments alternate dimension, source. A column reference ($A:$A) means the value
varies down the range; a cell or literal ($B$1, "Volume") means it is fixed for the whole block.
Adding a dimension to the target cube means adding a pair here.
The budget form has nine bindings, one for the volume/price/cost drivers, five for row-blocks of the plan, one for fixed costs. The compensation form has seven, one per measure.
Adding validation#
=rw.contribution.check(D10, ISNUMBER(D10), "Not a number", FALSE)
Cell to check, the test, the message the contributor sees, and whether a failure blocks submission. The budget form has twenty of these, all numeric checks, all non-blocking.
Put them in a column outside the print area, the budget form keeps them in column L. Contributors should see the message, not the formula.
Changing what a sheet is called, or whether it appears#
- Worksheet names can be parameterized:
%param:Employee%-Comp. - Suppression can drop a sheet entirely. The compensation form's Sales sheet is suppressed from a
Suppresscell, so it disappears for employees it does not apply to.
Adding a calculated block#
Not everything on a form is input. The budget form's Summary sheet is a read-only contribution-margin waterfall that recalculates as the contributor types, it makes the form feel like a model rather than a data-entry screen, and it is worth copying.
The rules that will bite you#
Keep write-back formulas out of sight. Contributors see #NAME where a Reportworq function sits, so
put bindings and checks in hidden rows or columns outside the print area.
Extend the binding when you extend the grid. See above. This is the big one.
Do not touch the reserved names the add-in generates. The form carries a small family of prefixed names, obvious in the Name Manager because they look nothing like the readable ones, that belong to the report view and control how a dynamic-row grid expands. Renaming or moving them breaks the grid.
One parameter maps to one cell per worksheet. The compensation form needs both Employee (Comp) and
Employee2 (Sales) for what is conceptually one value. Adding a third sheet that needs the same scope
means a third named range.
Set the print area deliberately. It defines what a contributor sees and what an exported workbook contains. The budget campaign has hide non-print area and lock non-input cells switched on for export, and both depend on the print area being right.
What happens to forms already in progress#
Regenerating replaces the form. Work already entered is held in the campaign's runtime state rather than in the template, but a structural change (moved rows, a renamed sheet, a changed binding range) can mean previously entered values no longer line up.
Safe sequence when a campaign is live:
- Make the change on a copy of the campaign first and generate one form to check it.
- If the change is structural, tell contributors before regenerating.
- If the campaign is essentially finished, run the export first so the numbers are safely in the model.
The auto_archive action includes a refresh forms option, which is the built-in way to regenerate
at the end of a cycle. Leave it disabled on the demo store, enabling it archives the campaign.
Related#
- Build a campaign · Campaigns at large scale
- Where the files live
- Customer guide: Contribution functions
Feedback on this page
Comments, questions, requests, or something missing or unclear? Email us - the page you are on is filled in for you.
Email feedback on this pageOr write to support@reportworq.com directly.