Apply

How to Build a Budget Form

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

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.

  1. Start by adding Single Column and/or Multi-Column questions to the form.
  2. Set up the rows and columns to allow for applicants to enter their amounts and any other information you need to collect
  3. 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.
  4. Set an Identifier on the question. This is an important step to be able to calculate the totals.
  5. 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

Example of Setup A Multi-column question setup

Setup B: Single Column

Example of Setup B Single-column question setup
  1. 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
  2. Next, we will create our calculation using the identifier we have set on the section. Review Setup A: Multi-Column and Setup B: Single Column below for steps to create your calculation.

Though there are multiple columns in the question, for this example, we only want to calculate the second column into our subtotal.

  1. In the Initial Value or Description of the question, start your expression by adding 2 curly brackets {{
  2. Add a space after the second bracket
  3. Enter SUM()
  4. Within the closed brackets add the identifier, which will be case sensitive. For this example, we set the identifier to be "income"
  5. 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
  6. After your expression, add a space
  7. Close your rule with 2 closed curly brackets }}
  8. Enable Restore Initial Value to ensure your formula always recalculates if a user changes their responses.
Example of Income as the Identifier.

When we're done, our questions will look like:

Example question calculating the second column into our subtotal.
  1. Within the Initial Value or Description of the question, start your expression by adding 2 curly brackets {{
  2. Add a space after the second bracket
  3. Enter SUM()
  4. Within the closed brackets add the identifier, which will be case sensitive. For our example, we set the identifier to be "rent"
  5. After your expression, add a space
  6. Close your rule with 2 closed curly brackets }}
  7. Enable Restore Initial Value to ensure your formula always recalculates if a user changes their responses.
Example of rent as the Identifier.

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:

Final setup B example screenshot.

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 ColumnsSetup B: Single Columns
{{ SUM(rent[:1],loans[:1],auto[:1]) }}{{ 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)) }}

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.