If you require your applicants to complete a budget within your site this can be achieved internally within your form. Alternatively, if you wish for a budget to be uploaded to the application, you can consider uploading a template to the Files section and have them upload it to an Attach File task.
NOTE: The calculations provided in this article are examples that can be referenced for formatting purposes. Your calculations will vary based on your own configurations. For more information on setting up calculations, you can refer to Advanced Expression Piping: Overview
In this Article...
- Building the Questions
- Calculating the Sub Totals
- Calculating the Grand Total/Difference
- Asking users to update their budget later on
Building the Questions
The most common question types for creating budgets are either Single Column or Multi-Column Questions, using the Text Response variable to allow users to enter their totals. When building out a budget there are often two different sections for the user to complete: Revenue/Income and Expenses. In some cases, you may only request the expenses of the applicants.
For this example, we will walk through requesting information about someone's Income and Living Expenses.
- Start by Adding your questions to the form: Single Column and/or Multi-Column Questions
- Set up the rows and columns to allow for applicants to enter their amounts and any other information you need to collect
- Set a Floating Point Validation on the fields/columns. This will ensure that the values are entered in the correct format to be accepted in the calculation.
- Set an Identifier on the question. This is an important step to be able to calculate the totals.
- Repeat the above steps for each section that you need to collect. For our example, this may include Income, Rent/Utilities, Loans, Auto, etc.
NOTE: For Step 3, Commas and Spaces will not be accepted in a calculation and will cause an error if the user enters them in their response.
Here are two possible examples of a question setup, however, you can customize your question as you need to. These examples will be referenced throughout the article:
Setup A: Multi-Column | Setup B: Single Column |
![]() |
![]() |
Calculating the Sub Totals
- Add in either a Text Response,Hidden Field, and/or Section Heading directly below the question. After each Single-/Multi-Column question that we add, we want to see what the sub-total is for each question.
For more information on which question type you should choose, you can refer to Knowing which Question Type to Use - Next, we will create our calculation using the identifier we have set on the section. Follow Setup A: Multi-Column and Setup B: Single Column below for steps on creating the calculation.
Setup A: Multi Column
Since we have multiple columns in the question, in our example, we only want to calculate the second column into our subtotal.
- Within the Initial Value or Description of the question, start your expression by adding 2 curly brackets {{
- Add a space after the second bracket
- Enter SUM()
- Within the closed brackets add the identifier, which will be case sensitive. For our example, we set the identifier to be "income"
- Add the column indexing. The Amount column is the second column in the question so it will be [:1]
For more information, see Index an Entire Column - After your expression, add a space
- Close your rule with 2 closed curly brackets }}
- Enable Restore Initial Value to ensure your formula always recalculates if a user changes their responses.
When we're done, our questions will look like:
When the applicant is completing the form they will see the following:
Setup B: Single Column
- Within the Initial Value or Description of the question, start your expression by adding 2 curly brackets {{
- Add a space after the second bracket
- Enter SUM()
- Within the closed brackets add the identifier, which will be case sensitive. For our example, we set the identifier to be "rent"
- After your expression, add a space
- Close your rule with 2 closed curly brackets }}
- Enable Restore Initial Value to ensure your formula always recalculates if a user changes their responses.
Since we only have the one column we don't need to reference the column as we do for Multi-Column. Therefore, our final setup will appear as:
When the applicant is completing the form they will see the following:
Calculating the Grand Total/Difference
First, we can find the total amount of the expenses incurred (Rent + Loans + Auto). Now that we have added all of our questions and calculated all of our Sub Totals, we want to calculate everything together to determine what the grand total or difference is.
This calculation will appear as such, depending on the question type:
Setup A: Multi Columns | {{ SUM(rent[:1],loans[:1],auto[:1]) }} |
Setup B: Single Columns | {{ SUM(rent,loans,auto) }} |
If you are then looking to find the difference between your Income and Expenses, the calculation may be:
{{ (SUM(income[:1])) - (SUM(rent,loans,auto)) }}
NOTE: When performing the above calculations, be aware of our In-Form Piping restrictions which prevent you from performing calculations on a piped value on the same page. For more information, you can refer to our help section on Same Page vs. Next Page Piping
Asking users to update their budget later on
As time passes, budgets can change. If you need to ask your applicants to update their budget after initially submitting their application, this can best be done using Reusable Applicant Tasks.
If you set up your Budget as a Reusable Applicant task you can have a different instance of the same form in a later stage or even in a different program. You can also have the responses auto-populated in the second version of the form to allow the applicant to see their original responses and update them as necessary.