> ## Documentation Index
> Fetch the complete documentation index at: https://docs.zuper.co/llms.txt
> Use this file to discover all available pages before exploring further.

# Upload Measurements

The **Measurement Upload** feature allows you to upload CSV measurement files from supported providers and automatically populate measurement values within a job.

Instead of manually entering measurements, Zuper reads the uploaded CSV file and maps the data to predefined measurement tokens using built-in system templates. This helps reduce manual data entry, minimize errors, and accelerate job setup.

## **Access & permissions**

* Measurement upload is available to all users who have access to the **Job Details** page.
* No additional permission or configuration is required.

## **Prerequisites**

Before uploading measurements, ensure that:

* You have a valid **CSV file** from Roofr, RoofSnap, or Bid Engine, or a valid **XML file** from Pitch Gauge or FirstMate.

## **Access Measurement Upload**

Measurement upload is available within the **Measurements** section of a job.

1. Go to the Job details page and open the **Measurements** section. Click **+ New Measurement**, then select **Upload Measurement**.

![Uplmea1](https://mintcdn.com/zuperinc/U1t_dkbBz9zY0o-3/images/Uplmea1.png?fit=max\&auto=format\&n=U1t_dkbBz9zY0o-3\&q=85\&s=5dee583c69e252e79692469e5cb98adb)

2. When the upload panel opens, you must select a **provider** before uploading the file. These templates contain predefined mappings between the provider’s measurement tokens and Zuper measurement tokens. After selecting a template, proceed to upload the CSV or XML file.

![Uplmea2](https://mintcdn.com/zuperinc/U1t_dkbBz9zY0o-3/images/Uplmea2.png?fit=max\&auto=format\&n=U1t_dkbBz9zY0o-3\&q=85\&s=4abe47171c3ee575f1992ef285801949)

![Pitchgauge](https://mintcdn.com/zuperinc/Wxm-TO9_zrj7bGQ6/images/pitchgauge.png?fit=max\&auto=format\&n=Wxm-TO9_zrj7bGQ6\&q=85\&s=3969c48371b38d66dc6bc2dd70b28abf)

3. Upload or drag and drop your CSV or XML file. It will be validated automatically. Then click **Next**.

![Uplmea3](https://mintcdn.com/zuperinc/U1t_dkbBz9zY0o-3/images/Uplmea3.png?fit=max\&auto=format\&n=U1t_dkbBz9zY0o-3\&q=85\&s=19d89725471c22161b5140f3bd0e6128)

4. Use the attachments tab to upload the measurement PDF.
   > [!NOTE]
   >
   > **Note:** Only PDF files are supported.

![Uplmea14 1](https://mintcdn.com/zuperinc/786b6lDOhLtVRtp0/images/Uplmea14-1.png?fit=max\&auto=format\&n=786b6lDOhLtVRtp0\&q=85\&s=1819f3333927e421e1ed94a8bf752d18)

5. After reviewing the values, click **Create**.

![Uplmea21 1](https://mintcdn.com/zuperinc/786b6lDOhLtVRtp0/images/Uplmea21-1.png?fit=max\&auto=format\&n=786b6lDOhLtVRtp0\&q=85\&s=4478f4378192b97f9f6ecdec73c84316)

Zuper generates measurement records within the Job using the values from the uploaded file.

The first measurement card is active by default.

![Uplmea16](https://mintcdn.com/zuperinc/U1t_dkbBz9zY0o-3/images/Uplmea16.png?fit=max\&auto=format\&n=U1t_dkbBz9zY0o-3\&q=85\&s=88c2482a92261a565453f5e7e56c0ec2)

![Uplmea8](https://mintcdn.com/zuperinc/OqeVG7JRGTEp2gKA/images/Uplmea8.png?fit=max\&auto=format\&n=OqeVG7JRGTEp2gKA\&q=85\&s=5725ec1527b6306b03c0928c0e1252f6)

## **Edit Measurement Values**

1. If you modify a value during the preview step, the system displays an **Edited** label on the measurement after creation.

![Uplmea6](https://mintcdn.com/zuperinc/U1t_dkbBz9zY0o-3/images/Uplmea6.png?fit=max\&auto=format\&n=U1t_dkbBz9zY0o-3\&q=85\&s=f6630ec882f9665654c0f5b0f88db517)

2. Upload measurement files by clicking the **Attachments** tab, then **Upload**.

![Uplmea8](https://mintcdn.com/zuperinc/OqeVG7JRGTEp2gKA/images/Uplmea8.png?fit=max\&auto=format\&n=OqeVG7JRGTEp2gKA\&q=85\&s=5725ec1527b6306b03c0928c0e1252f6)

## **Activity Tracking**

* Every measurement upload automatically generates an **activity log** entry within the Job.

![Uplmea18](https://mintcdn.com/zuperinc/U1t_dkbBz9zY0o-3/images/Uplmea18.png?fit=max\&auto=format\&n=U1t_dkbBz9zY0o-3\&q=85\&s=78436a9a35d54db6162aa333742bab60)

## **Disabled Measurement Tokens**

In some cases, the customer configuration may turn off certain measurement tokens.

If the uploaded file contains values for those tokens:

* The tokens will still appear within the Job
* Their values remain visible

This ensures that measurement data from the uploaded file is not lost.

## **Best Practices**

* Always choose the template that matches the file's source to ensure accurate data mapping.
* Verify all measurement values in the preview screen before creating measurements.

## FAQs

> [accordion] Do I need to manually set up system templates or field mappings?
>
> No. Zuper automatically manages system templates and field mappings. No setup is required.

> [accordion] What happens if some measurement tokens are disabled in the configuration?
>
> If the uploaded file contains values for disabled tokens, those tokens still appear in the job, and their values remain visible. This ensures that no imported data is lost.

> [accordion] Why do I see a "No measurement data found in the uploaded CSV" error?
>
> Each provider (Roofr, RoofSnap, Bid Engine, Pitch Gauge, and FirstMate) uses a different file format. If the file does not match the structure Zuper expects for the selected provider, the system cannot read it, and the upload fails. \
> To resolve this, confirm that the CSV file is from the provider you selected and that it has not been modified.

> [accordion] Why do I see a "No measurement data found in the uploaded XML file" error?
>
> The **Pitch Gauge** or **FirstMate** XML file either does not match the structure Zuper expects or is not a valid XML file. \
> To resolve this, confirm that the file was exported directly from the provider you selected (Pitch Gauge or FirstMate) and has not been modified or renamed. \
> If the issue continues, contact [Support](mailto:support@zuper.co).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.