Two surfaces in your app need accurate prices: the quote breakdown a prospect sees at checkout, and the price display a customer sees once they’re live. Both pull from the same two charges, base and variable, made up of a basic fee, regulated grid fees, statutory levies, EPEX spot prices, and tax. This guide walks through each layer and points to the endpoints that surface them.Documentation Index
Fetch the complete documentation index at: https://docs.nomos.energy/llms.txt
Use this file to discover all available pages before exploring further.
The shape of a German electricity bill
Every household tariff in Germany is built from two charges:| Charge | What it is | Unit |
|---|---|---|
| Base price (Grundpreis) | Fixed monthly charges | €/year |
| Variable price (Arbeitspreis) | Per-kWh charge that scales with consumption | ct/kWh |
What’s inside the base price
The base price is the sum of the following annual charges, billed monthly:| Layer | Set by | Variable per |
|---|---|---|
| Grundgebühr (basic fee) | Your Nomos plan | Plan, fixed in contract |
| Local grid fee (fixed component) | The customer’s DSO | DSO, annually |
| Metering charges | Metering operator | Meter type (analog vs. iMSys) |
| §14a Module 1 deduction (optional) | Federal, applied by DSO | Active only with §14a Module 1 |
What’s inside the variable price
The variable price is the sum of the following layers, in this order:| Layer | Set by | Variable per |
|---|---|---|
| EPEX spot price (day-ahead) | EPEX SPOT auction | 15 minutes |
| Procurement margin | Your Nomos plan | Plan, fixed in contract |
| Local grid fee | The customer’s DSO | DSO, annually + time-of-use |
| Concession fee (Konzessionsabgabe) | Federal, scaled by city size | Municipality population |
| Statutory levies (KWKG, §19, offshore) | Federal transmission operators | Calendar year |
| Electricity tax (Stromsteuer) | Federal government | Calendar year |
EPEX spot price (day-ahead)
The day-ahead auction at EPEX SPOT sets a single clearing price for every 15-minute interval of tomorrow. Bids close at 12:00 CET; results publish from ~12:45 CET, finalised by ~14:20 CET at the latest. Tomorrow’s 96 quarter-hour prices appear in one batch and are final for billing once published; there are no revisions.Local grid fee (Netzentgelt)
This is the one component that is genuinely local. Every customer’s grid fee depends on which distribution system operator (Verteilnetzbetreiber, DSO) runs the wires to their meter. Germany has roughly 850 DSOs, each setting their own annual tariff under § 20 EnWG and the StromNEV. Two customers on the same Nomos plan in different cities see different grid fees.Time-variable rates under §14a Module 3
Customers with a controllable consumption device (heat pumps, wallboxes, home batteries) registered under §14a EnWG can opt into Module 3, which splits the grid fee into three time windows (high, standard, low). Each DSO publishes its own schedule, and for each 15-minute interval the customer is billed one of the three rates. The price endpoint handles the lookup per subscription, so you don’t have to compute it. Module 3 requires a smart meter (iMSys), and not every DSO has shipped a usable schedule yet; where a schedule is missing, the endpoint falls back to the static grid fee. For the ordering flow and full §14a context, see the grid fee reductions guide. Prices returned by the API are gross; VAT (19%) is already included in every component.Endpoints that surface this breakdown
Retrieve a quote
Quote breakdown for a specific plan, zip code, and expected usage. Wire this
into your checkout to render base and variable line items.
Retrieve a price time series
Per-customer interval prices for an active subscription. Wire this into your
customer portal to render today and tomorrow.