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

# Uploading Files

> Upload machine files to Leaf using the batch API. Covers supported formats, ZIP requirements, and folder structure rules by equipment manufacturer.

Machine data enters Leaf two ways: through a connected provider or via manual file upload. This page covers the manual upload path using the batch API.

Manual upload is useful when growers aren't connected to a cloud provider. They can pull files from a USB drive or monitor, ZIP them, and upload to Leaf. You can also use Leaf Link's pre-built upload widget or a Magic Link to give end users a no-code upload experience.

## Upload basics

All uploads go through the batch API (`/batch` endpoint). Every upload must be a **ZIP file**, maximum 3 GB. Leaf extracts and processes the contents automatically.

You can optionally specify which provider the files came from. If you don't know or the ZIP contains files from multiple providers, Leaf auto-detects, splits, and processes each format independently.

After uploading, Leaf assigns a `batchId` you can use to track processing status for all files in that upload.

## Folder structure rules

**ZIP the folder directly from the monitor or USB drive.** Each manufacturer uses specific folder names and directory structures that Leaf expects to find intact.

* Keep folder names exactly as they appear (e.g., `TASKDATA`, `RCD`, `AgData`)
* Preserve the complete folder hierarchy
* Don't create new folders, rename existing ones, or move files around
* Don't manually collect individual files into a new folder

Leaf searches up to two levels deep inside nested ZIPs. You can upload a ZIP containing other ZIPs.

<Tip>
  Upload files directly from the monitor when possible. Original monitor files contain richer data and process more reliably than exported shapefiles. If you're using Ag Leader SMS, export the original `.agdata`, `.ilf`, or `.yld` files rather than creating shapefile exports.
</Tip>

## Preparing files by equipment type

### John Deere

**GreenStar 2 (2600)**

```
RCD
├── *.fdd
└── *.fdl
```

Locate the `RCD` folder on the USB drive, ZIP it, and upload.

**GreenStar 3 (2630)**

```
GS3_2630
└── RCD
   └── EIC
      └── global.ver
         └── documentation
            └── ...
               ├── *.fdd
               └── *.fdl
```

Locate the `GS3_2630` or `RCD` folder, ZIP it with the complete hierarchy, and upload.

**GreenStar 4 (Gen 4 — 4600/4630)**

```
JD-Data
└── log
   └── *.jdl
```

Locate the `JD-Data` folder, ZIP it, and upload.

**MyJohnDeere shapefile exports** — Supported, but native monitor files are preferred.

### Climate FieldView / Precision Planting

These are the same 20|20 monitors listed under both brands.

**20|20 SeedSense Generation 1 and 2**

```
├── harvest_*.dat
├── field_map_*.dat
└── liquid_map_*.dat
```

**20|20 SeedSense Generation 3**

```
└── *.2020
```

Locate the folder containing these files, ZIP it, and upload.

### CNHi (Case IH / New Holland)

**Pro 700 / IntelliView IV (Voyager 2)**

```
<name>.cn1/
├── index.vy1
└── (other data files)
```

The `.cn1` folder contains all operation data. ZIP the entire folder and upload.

**Pro 1200 / IntelliView 12 (ISOXML)**

```
TASKDATA
├── TASKDATA.XML
└── *.bin
```

Locate the `TASKDATA` folder, ZIP it keeping the folder name, and upload.

### Ag Leader

**INTEGRA (v3.5+), VERSA, or COMPASS**

```
├── *.agdata
└── *.agsetup
```

Both files must be present together. ZIP the folder containing both and upload.

**Edge, Insight, or INTEGRA (v3.4)**

```
└── *.ilf
```

**PF Advantage, PF 3000, PF 3000 Pro, YM2000**

```
└── *.yld
```

ZIP the folder containing these files and upload.

### Trimble

**FMX or CFX monitors (AgData format)**

```
AgData
├── Fields/  └── *.agf
├── implements/  └── *.agi
├── prescriptions/  └── *.agm
├── Tasks/  └── *.agt
├── Users/  └── *.agu
└── vehicles/  └── *.agv
```

Locate the `AgData` folder, ZIP it with the complete structure, and upload.

**GFX-750, TMX-2050 monitors (AgGPS format — shapefiles)**

```
AgGPS
└── Data
   └── "Grower"
      └── Farm
         └── field
            └── "Task"
               ├── *.cpg
               ├── *.dbf
               ├── *.shp
               └── *.shx
```

### Raven Slingshot

**Raven FMIS**

```
├── *.xml
└── *.tab
```

Both `.xml` and `.tab` files should be present. ZIP the folder and upload.

**Raven JDP**

```
└── *.jdp
```

### ISOXML equipment

Supported brands: CLAAS, Kuhn, Kverneland Group, Müller-Elektronik, Teknomika, Topcon.

```
TASKDATA
├── *.XML
└── *.bin
```

The folder **must** be named `TASKDATA`. Do not rename it.

### Farmobile

GeoJSON files exported from Farmobile. ZIP the exported files and upload. Since GeoJSON files don't contain unit information, Leaf assumes Farmobile's default units.

## Shapefile uploads

Generic shapefiles can be uploaded from SMS (Ag Leader), Raven Slingshot, Topcon, and other systems. Original monitor files are strongly preferred when available.

### Requirements

```
shapefile.zip
├── *.shp  (required — geometry)
├── *.dbf  (required — attributes)
├── *.shx  (required — shape index)
├── *.prj  (required — projection)
└── *.cpg  (optional — encoding)
```

All four required files must be present and share the same base name (e.g., `field_harvest.shp`, `field_harvest.dbf`, `field_harvest.shx`, `field_harvest.prj`). Place all files at the root level of the ZIP.

### Recognized column names

Shapefile column names are often truncated to 10 characters. Leaf recognizes the following names in `.dbf` files:

**Harvest:**

* Crop: `Crop`, `Crop_Type`, `Product_Pr`
* Moisture: `Moisture`, `Moisture__`, `MOISTURE`
* Yield (volume/area): `Yld_Vol_We`, `Yield__Wet`, `WET_YIELD`
* Yield (mass/area): `Yield_Mass`, `Yld_Mass_W` (wet), `Yld_Mass_D`, `dryyldlba` (dry)
* Yield (total wet mass): `WetMass`, `wetMass`, `Harvest_We`
* Yield (total wet volume): `wetVolume`
* Yield (dry volume/area): `Yld_Vol_Dr`, `DryYldbuac`

Leaf calculates missing dry/wet yield properties automatically when a crop column is present.

**Planting:**

* Crop: `Crop`, `Crop_Type`, `Product_Pr`
* Seed rate: `seedRate`, `SeedCount`, `Rt_Apd_Ct_`

**Application:**

* Applied rate: `AppliedRat`, `Rt_Apd_Liq`, `actualRate`
* Product: `Product`, `product`, `Products`

If your column names don't match any recognized name, contact Leaf support.

### Exporting from SMS (Ag Leader)

If original monitor files aren't available:

1. In SMS Project Workspace, right-click the operation to export
2. Select **Export** → paper icon → "Export to a Generic File Format"
3. Choose **Generic** and **Shape** as the file type
4. Click **Export Selections and Settings** to configure columns. You can rename columns here. For example, to include Crop in harvest files: select Property → Product Management Item Type → add Crop Type → rename to "Crop"
5. Save, then select all four output files (`.shp`, `.dbf`, `.prj`, `.shx`), compress into a ZIP, and upload

## Troubleshooting uploads

**"Upload failed" errors:**

* Confirm the file is a ZIP (all uploads must be ZIP files)
* Check that the ZIP contains all required components for the file type
* Verify file size is under 3 GB
* For shapefiles, confirm the `.dbf` includes recognized columns for the operation type

**Missing or incomplete data:**

* Verify the original folder structure from the monitor is intact
* Don't rename folders (`TASKDATA`, `RCD`, `AgData` must keep their original names)
* For ISOXML, the `TASKDATA` folder must contain both `*.XML` and `*.bin` files
* For Ag Leader INTEGRA, both `*.agdata` and `*.agsetup` must be present
* Check nesting depth (Leaf looks up to 2 levels deep in nested ZIPs)

**Processing errors:**

* Double-check that the folder structure matches what's expected for the equipment
* Make sure files haven't been manually reorganized or flattened

## What to do next

* [File Conversion](/machine-data/file-conversion) — What happens to files after they're uploaded.
* [Field Operations](/machine-data/field-operations) — How converted files become merged field operations.
* [API Reference: Files](/api-reference/files) — Full endpoint reference for file uploads and batch management.
