---
title: "Batches"
description: "Upload CSV and optional image ZIPs, map fields, clone batches, and set active state and priority."
---

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

# Batches

A **batch** is one upload of source data into a [project](/projects). Each row becomes a task.

## Batches list

The **Batches** tab lists every batch in the project: name, due date, priority, total tasks, completed tasks, ETA, active/inactive, and a menu (View tasks, Edit, Clone, Toggle active, View task template, Delete).

Search filters by name. **Column controls** show or hide columns (priority and ETA are hidden by default).

## Create a batch

Click **+ New batch**. A sheet titled **Create new batch** opens.

| Field | Required? | Notes |
| --- | --- | --- |
| **Batch name** | Yes | Prefills `batch-{projectId} ({today})`. You can edit it. |
| **Due date** | Optional | Used in priority sorting. |
| **Priority** | Yes | **High** (red), **Medium** (yellow, default), **Low** (green). |
| **Review sampling** | Yes | Percent of the batch for QC by the review team. |
| **CSV / Excel** | Required if image host is on; otherwise optional | Source file. |
| **Zipped image folder** | Required **if image host is on** | ZIP of images referenced in the CSV. |

### CSV / Excel

Drop a `.csv` or `.xlsx` (or click to browse). BergFlow parses it against the project template. Valid files turn green; errors name the problem (for example a missing required column).

### Image ZIP (image host on)

A second drop zone appears: **Select zipped image folder (required)**. Filenames must match the `image_name` column. The UI confirms name and size, for example *“✓ Selected: products.zip (12.34 MB)”*.

## Field mapping

If CSV headers do not match template input names, an inline **Field mapping** panel appears. For each template input, pick a CSV column.

Required fields show **\***. Optional fields can be **None**. Content-group fields are grouped and labelled `(Group: X)`.

## Extra columns for delivery

CSV columns **not** in the template appear under **Extra columns for delivery export**. Annotators do not see them. Tick columns to store on each task so they appear in the [delivery CSV](/operations/delivery).

## Upload progress, cancel, errors

**Create batch** starts the upload.

- Text-only batches usually finish in seconds.
- Image-host batches show steps (*Generating presigned URLs, then Uploading ZIP, then Creating tasks, then Processing images*) and a live percent.
- **Cancel upload** is available during an image-host upload, with a confirm dialog.
- Failures show a red card and **Try again**.

## Clone

**Clone** on a batch’s menu re-runs it after small template tweaks (for example instruction wording). A dialog asks whether to mark the original **inactive**.

> **Note**
>
> Clone is enabled only when the source batch template and the project’s current template differ only in instructions. Otherwise Clone is disabled.

## Active, inactive, and priority

Each row has an **Active** toggle. Inactive batches stop serving tasks (pause without delete). **Priority** (High / Medium / Low) is used by the allocator for what annotators see next. Show the column from the Columns dropdown.

Source: https://bergflow-docs.pages.dev/operations/batches/index.mdx
