# Import Submissions

You can add or update submissions in bulk in the Daxium-Air back office using CSV files.

## Quick start — simple CSV import

The most common case: adding new submissions from a CSV file.

1. **Get a template:** In the table view, click **Actions > Export** and choose **Full export for import**. The downloaded CSV already has all the correct column headers for your form.
2. **Prepare your data:** Add your new rows. Delete the `submissionNumber` column so Daxium-Air creates new submissions rather than updating existing ones.
3. **Set the creator:** Fill the `userEmail` column with the email address of the user who should appear as the submission creator.
4. **Import:** In the table view, click **Import**, select your CSV file, set the insertion mode to **Add**, and click **Import**.

A background job runs the import. A notification appears when it finishes. If any rows failed, download the error CSV to see what went wrong.

For bulk updates to existing submissions, see [Differential import](#differential-import). For imports that include relationships between forms, see [Importing with relationships](#importing-with-relationships).

## Expected spreadsheet structure

Export existing data using **Full export for import** to get a correctly structured template, then modify the values as needed.

![](/files/C4bImliqmtw17cX0Q0Of)

To import new submissions, delete the `submissionNumber` column — otherwise you will update existing submissions instead of creating new ones.

## Default required columns

Every import must include the `userEmail` column, filled with the email address of the Daxium-Air user who will be designated as the submission creator.

## Field columns

Add one column per form field you want to populate. The column header must be the field's **system name**.

Not all fields need to be included. However, if a mandatory field is missing, the submission will not be saved — you will receive an error file explaining the problem.

**List field:** Populate using either the option's display value or its external identifier. Append a suffix to the system name:

* `systemname#name` — use the option's display value
* `systemname#external` — use the option's external identifier

Use only one of the two options per column.

**Date field:** Dates must be in ISO 8601 format. Example: `2018-04-30T17:00:00+02:00`

**File and image field:** Provide a public URL from which the file can be downloaded.

**Boolean field:** Value must be `true` or `false`. Any other value will cause an error.

**Location field:** Add 3 columns. If the system name is `address`:

* `address#address` — full address (e.g. `21A bd Gabriel Guist'hau 44 000 Nantes`)
* `address#lat` — latitude (e.g. `55.9967`)
* `address#lng` — longitude (e.g. `54.774`)

## Setting up the import

In the table view, click **Import**. Select your CSV file, choose the encoding and column separator. Use comma `,` by default when importing from Microsoft Excel.

![](/files/TJjCvrVw5F96vMI3kt7V)

Set the insertion mode to **Add** to create new submissions.

{% hint style="info" %}
When saving from Excel, choose **CSV UTF-8 (comma delimited)** as the file type. In the Daxium-Air import dialog, confirm the encoding is set to **UTF-8**.
{% endhint %}

![](/files/XeYDMIsZoxU66qh7qsmT)

![](/files/Wk2lH6mafd3H0Af4PAIf)

## Error handling

When the import finishes, if any submissions could not be saved, a CSV error file is available for download. It explains what went wrong for each failed row.

***

## Advanced

### Differential import

Differential mode updates existing submissions rather than creating new ones. Include the `submissionNumber` column to identify which submissions to update. Submission numbers appear in the first column of the table view — do not confuse them with the UUID, which contains letters.

![](/files/SWMIzT2StJDXgZnoRC4e)

Two differential options are available:

* **Differential without formula recalculation** — faster import. Parent-child formulas on related submissions are not recalculated.
* **Differential with formula recalculation** — slower import. Parent-child formulas on related submissions are recalculated.

**Empty cells:** When a column is present in the file but a cell is empty, choose how to handle it:

* **Keep the old value** — the empty cell is ignored; the existing value is preserved.
* **Delete the old value** — the empty cell replaces the existing value.

![](/files/WQxxyOF1hFy2cNPykRcQ)

### Importing with relationships

It is possible to import submissions linked together via relations using an Excel file.

#### File structure

**"Worksheet" tab**

The main tab for the primary submissions. It follows the same structure as a standard CSV import.

![](/files/mTosfaUKpOtydrcFVm70)

In **Differential** mode, include `submissionNumber` to identify the submissions to update.

In **Add** mode, still include a placeholder in `submissionNumber` — it is replaced on creation but is used to identify submissions within the file, particularly in the Relationships tab.

**"Relationships" tab**

Lists all the relations between submissions. Must have at least 4 columns, plus an optional fifth:

![](/files/lSTcIkKM8qmaRx8Aan20)

* `parent` — submission number from the Worksheet tab
* `relationship` — system name of the relation field linking the two submissions
* `child` — submission number from a related tab
* `id structure` — Daxium identifier of the form used to build the child form
* `count` *(optional)* — quantity in a quantifiable relation

**Related submission tabs**

Create one tab per related form.

![](/files/5iFV8G4gazjkUxYm7A75)

Each tab must be named: `SystemName FormId` (e.g. `SystemName 2951`). Enter `submissionNumber` values the same way as in the Worksheet tab.

#### Running the import

In the table view, click **Import** and select your Excel file. The column separator and encoding options have no effect for Excel files.

![](/files/Z0dyxACmsqF3qA2j9Rlc)

**Add** mode creates a new submission for each row. **Differential** mode updates existing submissions without creating new ones.

#### Limitations

* It is not currently possible to remove related submissions via a differential import.
* Parent submission formulas are not recalculated during import if those formulas reference a relation field containing more than 5 elements.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://www.center.daxium-air.com/user-documentation/use/views/actions-from-views/import-submissions.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
