> For the complete documentation index, see [llms.txt](https://viewzenlabsug.gitbook.io/userguides/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://viewzenlabsug.gitbook.io/userguides/appverse/apps/create-an-app/forms/create/create-with-odk-compatible-xls.md).

# Create with ODK compatible xls

We support importing forms designed in the ODK-compatible XLS format into Appverse. However, please note that the XLS import is restricted to the format allowed in ODK XLS. Some additional configurations that are not supported in ODK XLS but are available in Appverse may need to be configured using the Appverse Form Builder.&#x20;

This feature has been provided due to the widespread use of ODK forms, and we may extend support to other similar formats in the future.

### Key Sheets in an xls form

An XLSForm typically consists of three main sheets:

1. **survey** – Defines the questions and form structure.
2. **choices** – Lists answer choices for select questions.
3. **settings** – Contains metadata such as form title and version.

### Survey Sheet

Broadly the following input fields and their properties are supported in the survey sheet

<table><thead><tr><th width="287">Column</th><th>Description</th></tr></thead><tbody><tr><td>type</td><td>Defines the type of question (e.g., text, integer, select_one, select_multiple, date, etc.).</td></tr><tr><td>name</td><td>The unique identifier for the question (no spaces or special characters).</td></tr><tr><td>label</td><td>The question text shown to users.</td></tr><tr><td>hint (optional)</td><td>Additional instructions for the question.</td></tr><tr><td>constraint (optional)</td><td>Validation rule to ensure correct data entry (e.g., .>0 for positive numbers).</td></tr><tr><td>constraint_message (optional)</td><td>Custom error message if validation fails.</td></tr><tr><td>required (optional)</td><td>true - if the question must be answered.</td></tr><tr><td>relevant (optional)</td><td>A condition to show/hide a question based on a previous answer.</td></tr><tr><td>calculation (optional)</td><td>Pre-fills a field using a formula (e.g., calculating age from date of birth).</td></tr><tr><td>appearance (optional)</td><td>Modifies how the question is displayed (e.g., compact for select options).</td></tr></tbody></table>

### Choices Sheet

The **choices** sheet lists options for `select_one` and `select_multiple` questions.

<table><thead><tr><th width="272">Column</th><th>Description</th></tr></thead><tbody><tr><td>list_name</td><td>The name of the choice list (must match survey sheet).</td></tr><tr><td>name</td><td>The stored value for each option (no spaces or special characters).</td></tr><tr><td>label</td><td>The display text shown to users.</td></tr></tbody></table>

### Settings sheet

The **settings** sheet configures metadata for the form.

<table><thead><tr><th width="288">Column</th><th>Description</th></tr></thead><tbody><tr><td>form_title</td><td>The display name of the form.</td></tr><tr><td>form_id</td><td>A unique identifier for the form.</td></tr><tr><td>version</td><td>Version number (e.g., 20240101).</td></tr><tr><td>instance_name</td><td>Custom instance name using fields (e.g., concat(${name}, '-', ${age})).</td></tr></tbody></table>

### Validate the XLS Form

Use [ODK XLSForm Online Validator ](https://getodk.org/xlsform/)to check for errors.

{% hint style="info" %}

### ODK Forms

Go to [XLS Form](https://docs.getodk.org/xlsform/) to learn more ODK forms and their configurations
{% endhint %}

### Create with ODK compatible xls

{% stepper %}
{% step %}

#### Download the xls template

{% endstep %}

{% step %}

#### Create the form in the template&#x20;

{% endstep %}

{% step %}

#### Upload the template

{% endstep %}

{% step %}

#### Save

{% endstep %}
{% endstepper %}

<figure><img src="/files/VFtcEcBv1zqElWWsVz14" alt="" width="375"><figcaption><p>Create New Form</p></figcaption></figure>
