ODK Entities Troubleshooting: Outage Reporting Create & Update in One Form

<! ODK Entity Challenges in Outage Reporting – Looking for Solutions

Greetings everyone, my name is Onyali Forbes, I work with the electric utility company in Guyana. Ive been working on improving our outage reporting process using ODK. I was able to build a form and upload it successfully to Central, and I even created the entities dataset with all the properties linked to the form. However, when I fill out the form, the details don’t actually get saved into the entities dataset, even though everything looks connected.
My main goal is to have one form that can either create a new outage or update an existing one. I’ve tried designing it so the user first selects whether they want to create or update, but making sure only the right fields and entity actions run has been tricky. If both workflows trigger, I get errors with missing UUIDs or invalid entity references.
So I’m reaching out for advice. Should I keep the create and update process in one form with strict relevant conditions, or would it be more reliable to separate them into two forms? And when updating, is it better to show old answers as read-only notes, or have them pre-filled in editable fields? I’d really appreciate any insights that could help make this outage reporting process smoother and more reliable.

OutageReporting_createupdate_odkforum.xlsx (21.7 KB)

Hi @OForbes ,

Welcome to ODK Forum, if you have a moment, feel free to introduce yourself here

I looked into your form and found a couple of issues:

  • For the entity ID, we need to use once(uuid()). It cannot be concatenated with any text—it must strictly be in UUID format.

  • In the entities sheet, the expressions for entity_id, create_if, and update_if currently have a space between the single quotes. These should be empty strings, i.e., ''.

Fixed Form: OutageReporting_createupdate_odkforum.xlsx (21.7 KB)

PS: You can use ODK XLSForm Template for better structuring your Form and to access quick help / cheatsheet.