Sample Bill – minimum data required, format TBC

Billing Payload JSON Schema (v0.1)
Purpose: machine‑readable companion to the one‑page bill. Enables like‑for‑like comparisons, independent interpretation, auditing, and P2P/flex settlement.
Top‑level object
{
“$schema”: “https://example.govt.nz/ea/billing-payload.schema.v0.1.json”,
“version”: “0.1”,
“bill_id”: “string”,
“issue_time”: “YYYY-MM-DDThh:mm:ssZ”,
“account”: {“name”: “string”, “account_id”: “string”},
“icp”: {“icp_id”: “string”, “installation_address”: “string”},
“period”: {“start”: “YYYY-MM-DD”, “end”: “YYYY-MM-DD”, “timezone”: “Pacific/Auckland”},
“location”: {“edb”: “string”, “gxp”: “string”, “feeder_id”: “string”, “phase”: “A|B|C|ABC”},
“totals”: {
“energy_bought_kWh”: 0,
“energy_sold_kWh”: 0,
“energy_cost_NZD”: 0,
“delivery_cost_NZD”: 0,
“loss_cost_NZD”: 0,
“third_party_fees_NZD”: 0,
“tax_NZD”: 0,
“total_due_NZD”: 0
},
“pricing_averages”: {
“avg_buy_price_NZD_per_kWh”: 0,
“avg_sell_price_NZD_per_kWh”: 0,
“avg_delivery_NZD_per_kWh”: 0
},
“tariffs”: {
“retail_tariff_id”: “string”,
“delivery_tariff_id”: “string”,
“delivery_pricing_model”: “DLNP|Flat|TOU|Other”,
“links”: {“retail_tariff_url”: “https://…”, “delivery_tariff_url”: “https://…”}
},
“intervals”: [
{
“ts”: “YYYY-MM-DDThh:mm:ss+13:00”,
“import_kWh”: 0,
“export_kWh”: 0,
“p_import_NZD_per_kWh”: 0,
“p_export_NZD_per_kWh”: 0,
“delivery_NZD_per_kWh”: 0,
“loss_factor”: 1.0,
“doe”: {“export_cap_kW”: 0, “import_cap_kW”: 0, “confidence”: 0.9},
“loc”: {“section_id”: “string”, “distance_km”: 0.0}
}
],
“p2p”: {
“trades”: [
{
“ts”: “YYYY-MM-DDThh:mm:ss+13:00”,
“source_party_id”: “ICP-…|AGG-…”,
“sink_party_id”: “ICP-…”,
“kWh”: 0,
“price_NZD_per_kWh”: 0,
“delivery_path”: [“TX-A”, “A-B”],
“delivery_NZD”: 0,
“loss_kWh”: 0
}
]
},
“fees”: {
“retailer_margin_NZD”: 0,
“aggregator_fee_NZD”: 0,
“payment_processing_NZD”: 0
},
“carbon”: {
“avg_grid_intensity_gCO2_per_kWh”: 0,
“estimated_period_emissions_kgCO2”: 0
},
“attestation”: {
“signer”: “Retailer|EDB|Both”,
“signature”: “base64”,
“hash”: “sha256:…”
},
“links”: {“interactive_statement_url”: “https://…”, “dispute_process_url”: “https://…”}
}
Field notes
intervals[]: half‑hourly by default; allow 5‑minute where available. Prices may be null when fixed by plan, butdelivery_NZD_per_kWhshould still reflect locational/loss variation if applicable.doe: dynamic operating envelope for that interval at the ICP; optional when not published.p2p.trades[]: present only if the consumer participated in P2P during the period; prices are energy‑only, withdelivery_NZDandloss_kWhexplicit for transparency.fees: must be unbundled; no hidden uplifts in energy/delivery lines.attestation: cryptographic linkage of the payload to the issued bill.
Minimal example
{
“$schema”: “https://example.govt.nz/ea/billing-payload.schema.v0.1.json”,
“version”: “0.1”,
“bill_id”: “INV-2025-11-001234”,
“issue_time”: “2025-11-05T10:15:00Z”,
“account”: {“name”: “A. Consumer”, “account_id”: “ACCT-7788”},
“icp”: {“icp_id”: “0001234567ABCD”, “installation_address”: “1 Example Rd, Whakatāne”},
“period”: {“start”: “2025-10-01”, “end”: “2025-10-31”, “timezone”: “Pacific/Auckland”},
“location”: {“edb”: “Horizon”, “gxp”: “WHA0331”, “feeder_id”: “HN-12A”, “phase”: “B”},
“totals”: {
“energy_bought_kWh”: 312.4,
“energy_sold_kWh”: 97.1,
“energy_cost_NZD”: 78.12,
“delivery_cost_NZD”: 52.77,
“loss_cost_NZD”: 3.45,
“third_party_fees_NZD”: 2.10,
“tax_NZD”: 19.65,
“total_due_NZD”: 147.99
},
“pricing_averages”: {
“avg_buy_price_NZD_per_kWh”: 0.25,
“avg_sell_price_NZD_per_kWh”: 0.14,
“avg_delivery_NZD_per_kWh”: 0.17
},
“tariffs”: {
“retail_tariff_id”: “RET-TOU-2025Q4”,
“delivery_tariff_id”: “EDB-DLNP-2025”,
“delivery_pricing_model”: “DLNP”,
“links”: {“retail_tariff_url”: “https://retailer.nz/tariff/RET-TOU-2025Q4”, “delivery_tariff_url”: “https://edb.nz/tariff/EDB-DLNP-2025”}
},
“intervals”: [
{“ts”: “2025-10-12T18:00:00+13:00”, “import_kWh”: 1.2, “export_kWh”: 0.0, “p_import_NZD_per_kWh”: 0.38, “p_export_NZD_per_kWh”: 0.00, “delivery_NZD_per_kWh”: 0.22, “loss_factor”: 1.06, “doe”: {“export_cap_kW”: 2.0, “import_cap_kW”: 10.0, “confidence”: 0.9}, “loc”: {“section_id”: “HN-12A-S3”, “distance_km”: 0.6}},
{“ts”: “2025-10-13T12:00:00+13:00”, “import_kWh”: 0.0, “export_kWh”: 0.8, “p_import_NZD_per_kWh”: 0.00, “p_export_NZD_per_kWh”: 0.12, “delivery_NZD_per_kWh”: 0.08, “loss_factor”: 0.98, “doe”: {“export_cap_kW”: 6.0, “import_cap_kW”: 8.0, “confidence”: 0.9}, “loc”: {“section_id”: “HN-12A-S3”, “distance_km”: 0.6}}
],
“p2p”: {
“trades”: [
{“ts”: “2025-10-13T12:00:00+13:00”, “source_party_id”: “ICP-000123PV”, “sink_party_id”: “ICP-000456”, “kWh”: 0.5, “price_NZD_per_kWh”: 0.11, “delivery_path”: [“HN-12A-S3”], “delivery_NZD”: 0.04, “loss_kWh”: 0.01}
]
},
“fees”: {“retailer_margin_NZD”: 1.60, “aggregator_fee_NZD”: 0.50, “payment_processing_NZD”: 0.00},
“carbon”: {“avg_grid_intensity_gCO2_per_kWh”: 95, “estimated_period_emissions_kgCO2”: 22.3},
“attestation”: {“signer”: “Both”, “signature”: “MEQCIF…”, “hash”: “sha256:0b8f…”},
“links”: {“interactive_statement_url”: “https://compare.govt.nz/bill/INV-2025-11-001234”, “dispute_process_url”: “https://retailer.nz/help/billing-disputes”}
}
Validation & governance (summary)
- Open schema versioned by EA/ComCom; retailers/EDBs publish conformance statements.
- Accredited comparison engine replays payloads for like‑for‑like offers and provides plain‑English driver explanations.
- Privacy & consent: payload accessible via one‑time token from the paper bill’s QR; consumer can revoke access at any time.
