Talk to the ODK team about form finalization and edits in ODK Collect

We are planning to modify the form end screen in ODK Collect to address a number of issues:

  • There is redundant information on the screen
  • It’s not clear whether the filled form will be editable vs. not after save
  • It’s not clear what saving the form does (e.g. will it validate the form contents? Encrypt?)
  • To support the entities work, we need a state in which a filled form can no longer be edited

We see from analytics that currently data collectors edit both finalized and non-finalized filled forms.

If any of these apply to you, we’d like to set up a user interview:

  • Have trained data collectors on using the “Mark form as finalized” checkbox
  • Have a workflow in which it’s important that forms are NOT edited after completion
  • Have a workflow that requires saving and editing filled forms later
  • Have a workflow in which data collectors manually set the instance name ("Name this form")
  • Have been confused by the finalization checkbox

Please send me a direct message or email if you are interested so that we can set up a user interview!

The screen in question:


I think it is a great idea to review this page as you said.

I had witnessed situations where collectors for more than one year had not been submitting forms to the server because they taught after clicking on mark as finalized, the form was sent to the server automatically and no one noticed that until review. Luckily for that situation, the finalized forms were still all in the phone.


Thanks for that insight, @Derrick_Demeveng.

The default configuration when configuring from Central QR code is to auto-send on finalization and that's generally what we recommend. We have not changed the default for other configurations for continuity but maybe that's something to consider. Would you be up for a conversation about finalization more broadly?

If you're not using Central, you have a few options to turn on auto-send:

Thanks @LN, I know of the autosend option which is great. But in our situation will not be a good idea as sometimes it can take a week to finalize a form while searching for missen information.

I think it will be more usefull to find a more insightful way to make the user know his form is finalized but not submitted and that he has to do it manually.

Sure, I can definitely find time for a conversation on finalisation.



For my use case:

Form-entry -> Saved Form -> Finalized Form

By default, finalized Form option is un-checked.

  1. I wanted data collector to finalized form as soon as the form was filled because:
  • There is constraint-check when finalized form. Despite there is within page constraint-check when navigate from page-to-page, but hierarchical navigation could actually bypass the check. Hence, to ensure near-time correction can be made, the form has to be finalized soon after completion.
  1. If data collector wants to finalize it, check it otherwise save form for later use. The saved form shall be always editable.

  2. Sometimes, data collector finalized form but edit it again. This approach is not encouraged as 'finalized' means no more editing. I do have the 'auto-send' turned on by default. Hence, during offline mode, the data collector might still be able to edit the finalized form before it is sent. To me, finalized form is a container that place the form which are ready to send when there is internet connectivity.

  3. Should I consider finalizing form only when accessibility to internet connectivity is certain?
    Sometimes, the connectivity is weak in the outdoor. It is worrisome when the finalized form stalled to send during connectivity is cut-off and not continuing to send after re-gain the internet connectivity. If there was no one do a check whether form was successfully sent, it will be too late to discover one day. I have reservation on the app whether it is robust to ensure all finalized form and its attachments could send completely without further intervention. What is the mechanism behind that enable it?

  4. In my case, the instance name of form is set by the form definition. Data collector do not require to specify it.

1 Like

Thanks for the feedback. We really appreciate you taking the time to share your experiences, as this will help inform the next iteration of the designs!

I'm curious to hear more about point #3 and why the data collectors are editing once the form is finalized. Could you tell us why they are coming back and editing the form? Are they opening the form to save it or to make edits because they learnt something new?

1 Like

Thanks so much to everyone who has talked to us and shared feedback so far.

We'd like to broaden who we hear from and validate some of our current thinking with a short survey. Learn more in this post.