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

# 3.1: What Is a Batch?

> Understand what a batch is, its core attributes, and how discrete vs. flow-based projects define their reportable units.

<Panel>
  <Card title="Accounting Academy" className="accounting-academy-card">
    <div className="accounting-academy-content">
      <Steps className="my-0">
        <Step title="MODULE 1: Fundamentals" icon="bookmark" iconType="solid" stepNumber={1} titleSize="p">
          * [1.1: Core Concepts & the Data Lifecycle](/accounting-academy/module-1/1-1-core-concepts-data-lifecycle)
          * [1.2: Translating Methodologies to Mangrove](/accounting-academy/module-1/1-2-translating-methodologies-to-mangrove)
          * [1.3: Events and Datapoints](/accounting-academy/module-1/1-3-events-and-datapoints)
          * [Exercise: Design and Build](/accounting-academy/module-1/1-exercise-design-and-build)
        </Step>

        <Step title="MODULE 2: Calculations" icon="bookmark" iconType="solid" stepNumber={2} titleSize="p">
          * [2.1: Calculation Architecture](/accounting-academy/module-2/2-1-calculation-architecture)
          * [2.2: Expanding Your Data Model](/accounting-academy/module-2/2-2-expanding-your-data-model)
          * [Exercise: Multi-Step Calculations](/accounting-academy/module-2/2-exercise-multi-step-calculations)
        </Step>

        <Step title="MODULE 3: Batch Partitioning & LCA" icon="bookmark" iconType="solid" stepNumber={3} titleSize="p">
          * [3.1: What Is a Batch?](/accounting-academy/module-3/3-1-what-is-a-batch)
          * [3.2: Batch Partitioning Strategies](/accounting-academy/module-3/3-2-batch-partitioning)
          * [3.3: Life Cycle Assessment & Emissions](/accounting-academy/module-3/3-3-lca-and-emissions)
          * [3.4: Allocating Emissions to Batches](/accounting-academy/module-3/3-4-allocating-emissions-to-batches)
          * [Exercise: Batch Partitioning & LCA](/accounting-academy/module-3/3-exercise-batch-partitioning-and-lca)
        </Step>

        <Step title="MODULE 4: Mass Balance with Ledgers" icon="bookmark" iconType="solid" stepNumber={4} titleSize="p">
          * [4.1: Introduction to Mass Balance](/accounting-academy/module-4/4-1-intro-to-mass-balance)
          * [4.2: Designing the Ledger Structure](/accounting-academy/module-4/4-2-designing-the-ledger-structure)
          * [4.3: Multiple Batch Types for Different Stages](/accounting-academy/module-4/4-3-multiple-batch-types)
          * [Exercise: Design & Build Mass Balance](/accounting-academy/module-4/4-exercise-design-and-build-mass-balance)
        </Step>

        <Step title="MODULE 5: Integration Testing" icon="bookmark" iconType="solid" stepNumber={5} titleSize="p">
          * [5.1: The Complete Model Assembly](/accounting-academy/module-5/5-1-the-complete-model-assembly)
          * [5.2: Testing Patterns](/accounting-academy/module-5/5-2-testing-patterns)
          * [5.3: Common Integration Pitfalls](/accounting-academy/module-5/5-3-common-integration-pitfalls)
          * [Exercise: Integration Testing](/accounting-academy/module-5/5-exercise-integration-testing)
        </Step>

        <Step title="MODULE 6: Advanced Patterns & Production" icon="bookmark" iconType="solid" stepNumber={6} titleSize="p">
          * [6.1: Model Design Best Practices](/accounting-academy/module-6/6-1-model-design-best-practices)
          * [6.2: Advanced Techniques](/accounting-academy/module-6/6-2-advanced-techniques)
          * [6.3: Production Readiness](/accounting-academy/module-6/6-3-production-readiness)
          * [Exercise: Production Deployment](/accounting-academy/module-6/6-exercise-production-deployment)
        </Step>
      </Steps>
    </div>
  </Card>
</Panel>

<Check>
  **What you'll learn in this lesson:**

  * Define what a batch is and why it's the core reporting unit
  * Identify the key attributes of every batch
  * Distinguish discrete batches (per-delivery) from flow batches (time-based)
  * Determine the right batch definition for your project type
</Check>

In Modules 1 and 2 you built event types and models that calculate outputs. But how do those outputs become **reportable, auditable units**? That's where batches come in. A batch is the organizing unit that ties together all the data, calculations, and evidence supporting a discrete piece of production.

```mermaid theme={null}
flowchart LR
    E["Events<br/>(raw data)"] --> M["Model<br/>(calculations)"]
    M --> B["Batch<br/>(reportable unit)"]
    B --> L["Ledger<br/>(running balance)"]
    L --> R["Report<br/>(for verification)"]

    style E fill:#42a5f5,stroke:#1976d2,stroke-width:2px,color:#000
    style M fill:#66bb6a,stroke:#388e3c,stroke-width:2px,color:#000
    style B fill:#ef5350,stroke:#c62828,stroke-width:2px,color:#000
    style L fill:#ab47bc,stroke:#7b1fa2,stroke-width:2px,color:#000
    style R fill:#78909c,stroke:#455a64,stroke-width:2px,color:#000
```

## What is a batch?

A **batch** is a discrete, traceable quantity of a project's output that the project tracks, allocates from stage to stage, and reports. It is the fundamental unit of production accounting in Mangrove.

Think of it this way: a batch is often directly mapped to a discrete quantity of **physical output** or production within the project's operations:

* A truckload of biochar delivered
* A day's worth of fuel injected into a pipeline
* A month's production from a facility

Each batch contains the underlying calculations and MRV data supporting that output. In Mangrove, the batch is the organizing unit linked to all <a href="/production-accounting/data-inputs" target="_blank" rel="noopener noreferrer">data inputs</a>, <a href="/production-accounting/fundamentals" target="_blank" rel="noopener noreferrer">evidence files</a>, and related associations like locations, feedstocks, and reports.

<Note>
  A batch's primary purpose is to be **reviewed and reported** from Mangrove. But batches can also be used for mass balance tracking and custody transfer between project stages (covered in Module 4).
</Note>

## Key attributes of every batch

Every batch in Mangrove has:

| Attribute             | Description                                                                  |
| --------------------- | ---------------------------------------------------------------------------- |
| **Production period** | The time range the batch covers (usually a set cadence)                      |
| **Tracking ID**       | Defaults to a Mangrove-generated ID unless configured otherwise              |
| **Output datapoints** | Calculated values backed by traceable calculations all the way to the inputs |
| **Feedstock**         | (Optional) The feedstock associated with this batch                          |
| **Associations**      | Locations, evidence, and other linked objects from the input events          |
| **Allocations**       | Links to reports or downstream batches (for mass balance)                    |

Mangrove tracks batches within an ongoing <a href="/production-accounting/mass-balance-accounting" target="_blank" rel="noopener noreferrer">Ledger</a>. You'll learn about ledgers in Module 4.

## Discrete vs. flow batches

Different project types define batches differently. The two main patterns are **discrete** (per-event) and **flow** (time-based).

<Tabs>
  <Tab title="Discrete batches (per-event)">
    Each physical event produces its own batch. Typical for projects with distinct, countable production units.

    **Example — Biochar Sequestered:**

    | Attribute             | Value                                  |
    | --------------------- | -------------------------------------- |
    | **Cadence**           | Per trip (per tracking ID)             |
    | **Production period** | Jan 1–Jan 3, 2026 (travel time)        |
    | **Primary output**    | Net tCO2e removed                      |
    | **Secondary output**  | Dry mass of biochar applied (U.S. ton) |
    | **Evidence**          | Delivery ticket                        |
    | **Feedstock**         | Agricultural waste                     |

    Each delivery = one batch. The tracking ID is the delivery ticket number.
  </Tab>

  <Tab title="Flow batches (time-based)">
    Production is continuous, so batches are defined by time windows. Typical for projects with steady-state operations.

    **Example — Renewable Natural Gas Injected:**

    | Attribute             | Value                                        |
    | --------------------- | -------------------------------------------- |
    | **Cadence**           | Daily                                        |
    | **Production period** | Jan 1, 2026 (one day's injection)            |
    | **Primary output**    | Gas injected (MMBtu)                         |
    | **Secondary output**  | Volume of gas injected (Mcf)                 |
    | **Evidence**          | 1-minute level meter data, meter calibration |

    Each day = one batch. The total is the aggregate of all injection events that day.
  </Tab>
</Tabs>

```mermaid theme={null}
flowchart TB
    subgraph Discrete["Discrete Batches (Biochar)"]
        D1["Delivery 1<br/>→ Batch 1"]
        D2["Delivery 2<br/>→ Batch 2"]
        D3["Delivery 3<br/>→ Batch 3"]
    end

    subgraph Flow["Flow Batches (RNG)"]
        F1["Jan 1 events<br/>→ Batch Jan-1"]
        F2["Jan 2 events<br/>→ Batch Jan-2"]
        F3["Jan 3 events<br/>→ Batch Jan-3"]
    end

    style D1 fill:#ef5350,stroke:#c62828,stroke-width:2px,color:#000
    style D2 fill:#ef5350,stroke:#c62828,stroke-width:2px,color:#000
    style D3 fill:#ef5350,stroke:#c62828,stroke-width:2px,color:#000
    style F1 fill:#ef5350,stroke:#c62828,stroke-width:2px,color:#000
    style F2 fill:#ef5350,stroke:#c62828,stroke-width:2px,color:#000
    style F3 fill:#ef5350,stroke:#c62828,stroke-width:2px,color:#000
```

## How to determine the right batch definition

The right batch definition depends on your project type and methodology:

<Steps>
  <Step title="Check the methodology">
    Most standards bodies (e.g., Isometric, Puro.earth, CARB, RED II) define what constitutes a reportable unit. For CDR projects, the batch is usually the **removal**. For fuel projects, it's the **fuel batch** or **fuel transaction**.
  </Step>

  <Step title="Identify the natural production unit">
    What is the smallest discrete unit of production that makes sense to track? A single delivery? A day's output? A production run?
  </Step>

  <Step title="Consider verification needs">
    Verifiers trace reported tonnes from source events through processing and into batches. The batch granularity should make this traceability straightforward.
  </Step>
</Steps>

<Tip>
  Refer to the **Mangrove Project Template Library** for examples of how specific project types define their batches. When in doubt, start with the granularity the methodology requires — you can always aggregate batches into reports later.
</Tip>

## Batch vs. reporting period

These two concepts are related but distinct:

| Concept              | Definition                                                                               | Example                                 |
| -------------------- | ---------------------------------------------------------------------------------------- | --------------------------------------- |
| **Batch**            | A discrete production and reporting unit. Many batches happen within a reporting period. | One biochar delivery (3 tonnes, Jan 15) |
| **Reporting period** | A defined time window used to aggregate and report activity for auditors and regulators. | Q1 2026 (all batches from Jan–Mar)      |

<Note>
  The ideal state of MRV is **continuous reporting** — projects would immediately report and convert each batch into deliverable, sellable credits the moment it is produced. Mangrove's batch-level tracking is designed to support this.
</Note>

***

### Check your understanding

<Accordion title="What makes a batch 'reportable'?" icon="circle-question">
  A batch is reportable because it contains **output datapoints** backed by traceable calculations all the way to the source events and evidence. It represents a discrete, verifiable unit of production that can be included in a report for verification and, ultimately, credit issuance.
</Accordion>

<Accordion title="What is the difference between a batch and a reporting period?" icon="circle-question">
  A **batch** is a single production unit (e.g., one delivery, one day's injection). A **reporting period** is a time window (e.g., a quarter or year) that groups many batches together for aggregate reporting to auditors. Many batches happen within one reporting period.
</Accordion>

***

Next, you'll learn how to configure batch partitioning strategies in Mangrove in [Lesson 3.2: Batch Partitioning Strategies](/accounting-academy/module-3/3-2-batch-partitioning).
