Update a form instance with the new form definition

After completing and testing your form design, you’ll reach a point where you’re confident enough to deploy it to the server and start data collection. But, there may be times where you will re-evaluate your form design and update it afterwards, particularly if you realize something is impacting the quality of your data. You might have forgotten to include an important field in the form, you need to fix a wrong expression, or something else. It is easy to update the form, but what about the form instances that have already been started? What if they should also include those new form updates?

Luckily, even if a form instance has already been started, or even submitted to the server, you can still update it with the latest form definition in SurveyCTO Collect. That way, enumerators can fill out the new fields, they don't have to worry about faulty expressions, and they get all of the other advantages of the updated form definition. Below, we will walk you through how to use the “Reload with Updated Form” option to update the form instances saved on your devices.

This option is only available in SurveyCTO Collect, not web forms. To learn more about our platforms’ support, check out our documentation Designing for your target platforms.
This support article deals with updating form instances on collection devices. If you need to edit field values in a form, you can also use the review and corrections workflow. However, you cannot use the review and corrections workflow to add fields that did not exist or were not relevant when the form instance was submitted. For that, you will need to follow these steps to update the form instances on the devices.

1. Retrieve latest form definition

Once you have deployed the updated form definition on your server, on each collection device, download the latest form definition from Get Blank Form.

You can also set this up to occur automatically, which you can learn about in our support article Best practices for configuring and securing enumerator devices.

2. Turn on needed setting

By default, the "Reload with Updated Form" feature is disabled. To enable it, follow these steps  on each collection device:

  1. In SurveyCTO Collect, tap on the three-dot menu on the upper-right, and tap Admin Settings.
  2. Under User can access Form Entry items, enable the "Reload with updated form" option.

You can also enable this setting automatically using a default device configuration.

3. Reload form instance with updated form definition

If the form instance can still be found under Edit Saved Form, meaning it has not yet been submitted to the server, follow these steps for each form instance to update it with the latest form version:

  1. Go to the main menu of SurveyCTO Collect, and tap Edit Saved Form.
  2. Tap the form instance you would like updated. If it says the form has already been finalized, tap OK to continue through.
  3. Tap Resume.
  4. Tap on the three-dot menu in the upper-right.
  5. Tap the Reload with Updated Form menu option.


  2. When it is done reloading, tap either Resume, Go To Start, or Go To End.
  3. Complete the form, and submit it when you are done.

When the form instance reloads with the latest definition, as long as the new form definition has all of the old fields, all of the previously collected data will be kept.

Warning: When removing fields

Be careful when removing fields from a form, or changing their relevance. If the old form version had fields that have been removed from the new form version, or if those old fields are no longer relevant, but there was data entered for those fields, then when the form is reloaded with the updated version, the data for those old fields will be lost. 

For example, let's say the old form has a field called "field1", and the enumerator entered data for that field, but they have not yet submitted it to the server; if that field "field1" is removed from the deployed form, and then the enumerator updates the form instance's definition to the new version with "field1" missing, then the data for "field1" will be lost. Instead, it is a good idea to keep those fields in the form (maybe make them not required); that way, no entered data will be lost. You can always re-deploy the form later with those fields no longer relevant, after the data has been submitted.

Update submitted form instance

If the form instance has already been submitted to the server, you can delete that old version from the server, and submit the updated version. However, be very careful, and only delete the old version if it can also still be found on the collection device; otherwise, it may be completely lost. These steps include checking to make sure it is still on the device before deleting it from the server.

Instead of updating the form instance on the device, it may be easier to create a new, separate form that asks about the missing data. Then, you can congregate all of the data after it has been exported.
  1. In SurveyCTO Collect, tap on the three-dot menu on the upper-right.
  2. Tap Restore Data.
    1. If this is not an option, open Admin Settings, and under User can access Main Menu items, checkmark Restore Data. Then go back to the main menu, and restore the data. Check out our support article Using Restore Data to learn more about the uses and limitations of Restore Data.
  3. At the popup, tap OK.
  4. On the collection device, in SurveyCTO Collect, open Edit Saved Form.
  5. Find and open the form instance you would like to update.
  6. At the popup warning that the form instance has been finalized, tap OK.
  7. Tap either Resume, Go To Start, or Go To End.
  8. Once you have confirmed the form instance is still on the device, delete it from the server. To learn more, check out our support article Purging data on your server, section Option 3: Purge individual submissions. If you do not delete it from your server, there may be duplicate form instances on the server, or the new version may be rejected.
  9. Back on the collection device, within the form instance, tap on the three-dot menu in the upper-right.
  10. Tap the Reload with Updated Form menu option.
  11. If the new form definition has required fields that were not in the older version, fill out those fields.
  12. Submit the form instance to the server when it has been finalized.

Do you have thoughts on this support article? We'd love to hear them! Feel free to fill out this feedback form.


Please sign in to leave a comment.