> This page is for Docs.

> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://zuora.ferndocs.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://zuora.ferndocs.com/_mcp/server.

# Configure an Accumulator as a processor

> Use the Accumulator processor to group events by selected fields and maintain running totals or other state until a release trigger condition is met.

Use the Accumulator processor to group events by selected fields and maintain running totals or other state until a release trigger condition is met.

Navigate to **Mediation** > **Meters**

Create a **Custom** meter.

Select **Accumulator** as the processor. The **Accumulator** settings page is displayed.

![Accumulator processor settings](/_fern-img/f437efd532862578d6ee39d1adcbe8dbebfcd15964be7da48657b7e1ab9774ee.webp)

Enter a **Name** for the Accumulator component.

The **Operator ID** is a system‑generated, non-editable identifier for this operator, used in audit and API integrations.

In the **Partition By** section, select the fields you want to use to group events.

Each unique combination of these fields is treated as a separate group for accumulation.

In the **Release Trigger** Timeout section:

1. Select a **Timeout Type**.

   Processing Time Based or Event Time Based.
2. Specify the **Timeout Duration** and unit.

   1 hour, 1 day, or 1 calendar month.

If you select an event‑time‑based option:

1. Choose the **Event Time Field** that contains the event timestamp.
2. Enter the **Time Format** if your timestamp uses a non‑standard format

In the **Accumulate Fields** section:

1. Select the **Source Field** that you want to accumulate.

   quantity, usageAmount
2. Select the **Operator** to apply.

   SUM, COUNT, MIN, MAX
3. Enter the Result Field name that will hold the accumulated value.

(Optional) Configure **Advanced Accumulation** if you need custom logic, when built‑in accumulation fields do not meet your needs:

1. Select a scripting language, either **JavaScript** or **Python**.
2. Enter your script in the editor, as required by the processor.

   When you use Python, Mediation validates your script when you save the processor. If your script only uses supported Python standard library modules, it runs in a high-performance embedded execution environment that provides low-latency processing.

   If your script imports additional libraries beyond this default set, Mediation marks the script to run through an external Python executor, shows a slowness warning, and the meter run might take longer.

   If your script imports unsupported or invalid libraries, saving the processor fails with an error that identifies the invalid imports and prevents the meter from running with that script configuration.

   By default, Mediation applies a 10-second timeout when validating script execution and applies a 5-minute timeout when processing script logic during meter execution. These timeout values can be overridden or disabled at the tenant level if needed.
3. In the **Output Event Definition** section, choose an existing event definition from the list. This definition describes the structure (fields and types) of the events that the Accumulator will output when your Advanced Accumulation script runs.

Click **Save** to save the processor settings.