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

# Consumers and Producers: Lumenaza Customer Types

> Understand the difference between consumer and producer accounts in Lumenaza, including prosumers, key identifiers, and private vs. business distinctions.

Lumenaza recognises two types of end-customers: **consumers**, who purchase electricity from the grid, and **producers**, who operate renewable energy plants and feed electricity back into the grid. A single real-world customer can hold both roles simultaneously — this is known as a **prosumer**.

## Consumers

A consumer represents a household or business that buys electricity under an energy supply contract. Key attributes include:

| Field | Description |
| - | - |
| `consumer_id` | Lumenaza's internal, read-only identifier for the consumer. |
| `saas_customer_id` | **Your** system's identifier — up to 32 characters. Used for cross-referencing records. |
| `saas_customer_lead_id` | An optional tracking identifier, useful for attribution or lead management workflows. |
| `is_business` | Boolean flag. `true` for business customers, `false` for private individuals. |
| `company_name` | Required when `is_business` is `true`. |

<Note>
  `saas_customer_id` must be unique within your whitelabel customer account and cannot exceed **32 characters**. Choose an ID that maps directly to your own database primary key or CRM reference to simplify reconciliation.
</Note>

## Producers

A producer represents an operator of a renewable energy generation plant — for example a solar park, a wind turbine, a biogas unit, a hydropower plant, or a battery storage system. Producers hold feed-in contracts rather than supply contracts.

| Field | Description |
| - | - |
| `producer_id` | Lumenaza's internal, read-only identifier for the producer. |
| `saas_customer_id` | Your system's identifier (same 32-character limit as consumers). |
| `saas_customer_lead_id` | Optional tracking identifier. |
| `is_business` | Same private/business distinction as consumers. |
| `company_name` | Required for business producers. |

### Supported plant types

<CardGroup cols={3}>
  <Card title="Solar" icon="sun" />

  <Card title="Wind" icon="wind" />

  <Card title="Gas / Biogas" icon="fire-flame-simple" />

  <Card title="Water / Hydro" icon="droplet" />

  <Card title="Battery" icon="battery-full" />
</CardGroup>

## Prosumers

A prosumer is a customer who both **consumes** electricity and **produces** it (for example, a household with a solar panel that also has a supply contract for grid draw). In the Lumenaza API, this is modelled by linking a producer's contract to its corresponding consumer contract via the `consumer_saas_contract_id` field on the producer contract.

```
Consumer (consumer_id: C-001)
  └── Supply Contract (saas_contract_id: "my-supply-001")

Producer (producer_id: P-001)
  └── Feed-in Contract
        consumer_saas_contract_id: "my-supply-001"  ← links back to the consumer contract
```

## Private vs. business customers

The `is_business` flag drives several downstream behaviours in the API, including required fields and applicable contract terms.

| | Private customer | Business customer |
| - | - | - |
| `is_business` | `false` | `true` |
| `company_name` | Not required | **Required** |
| Contract type | Residential tariff | Commercial tariff |

## Multiple contracts per customer

A single consumer or producer can hold **multiple contracts** — for instance, a consumer who has moved premises will have a terminated contract at the old address and an active contract at the new one. There is no hard limit on the number of contracts per customer, and each contract is independently managed through its own lifecycle.

<Tip>
  When registering a new contract for an existing customer, always pass the existing `saas_customer_id` (or Lumenaza's `consumer_id` / `producer_id`) rather than creating a duplicate customer record.
</Tip>


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