Can an existing ODK submission be updated?

I have been using ODK Collect and Aggregate server for several years now and I always believed that an existing submission can not be updated through ODK collect by way of an update to an existing form. Recently, when I was looking at the server logs, I realized there are date fields "_SUBMISSION_DATE" and "_LAST_UPDATE_DATE" and I wonder what these fields specifically capture. It seems that may be an existing record is updated and that is what these fields capture. Can anyone please shed some light on this?


Once you submitted a filled form you can't update it via ODK Collect. When it comes to forms you can change something and upload an updated version to Aggregate, then download in Collect but as I said updating filled and submitted forms is not possible.
I'm not 100% sure but I think:
_SUBMISSION_DATE - is related to submitted (filled) forms (date of submission)
_LAST_UPDATE_DATE - is related to blank forms (date of the last update)

Thanks for your reply. I am pretty sure the "_LAST_UPDATE_DATE" is not the last update date of the blank form, and this is why I had this question. Not sure what it is though...

Anyone, please!
I need to know what the "_LAST_UPDATE_DATE" field is.

If that comes from Aggregate logs maybe @ggalmazor know the answer.

Hi @Banshee

Just want to add to what @Grzesiek2010 as said,

The current ODK tools does not allow updating of existing submissions.

Are you aware of ODK X? This is another suit which has its scope.
One of its component "ODK Table" was build to be supported by Aggregate as well.
ODK Table has feature which allows users to see previously collected data and make updates.

I think that field has some uses in that suit.

If you are looking to learn more, checkout the documentations available.


Hi, @Banshee! The _LAST_UPDATE_DATE is a database column Aggregate uses internally to sort submissions and provide paged results via the Aggregate-Briefcase API. As such, it's not really data that belongs to the submission, but metadata used by ODK to make things work.

Having said that, I'm not sure what combination of tools and steps you could use to actually send an updated version of a submission to Aggregate.

This is exactly the answer I was looking for. I realized that I titled my question incorrectly - all I was looking for is the detail on what the _LAST_UPDATE_DATE field is. Thank you so much!