Extract data from master purchase agreements
A master purchase agreement in the energy sector fixes how a supplier will deliver a commodity, electricity, gas, or water, to a buyer across many delivery periods under one contract. Unlike a framework that commits no volume, an energy MPA usually carries a take-or-pay band: a minimum volume the buyer must pay for whether or not it consumes, and a maximum the supplier must stand ready to deliver. Utility procurement teams, energy traders, and finance read it to know the metering point, the unit price, the volume band, and the settlement terms. Vattenkraft Energie GmbH agreed to supply electricity to Rheinmetall Werke GmbH under an MPA effective 2026-07-01 through 2028-06-30. Delivery is to metering point DE0005692000000000000001234567, priced at 82.50 EUR per MWh, with a take-or-pay minimum of 24,000 MWh per year and a maximum of 36,000 MWh. Settlement is monthly on Net 15 terms in EUR. A pricing_schedule table holds the price by effective period, and a metering_points table holds the point identifier, the product type, the volume unit, and the minimum and maximum volumes. Governing law is Germany, with an audit right over metered consumption and a change-of-control clause. Talonic reads the MPA and returns the supplier and buyer blocks, the product type, the metering point, the unit price, and the take-or-pay volumes as fields, with the metering points and the pricing schedule as tables. Because the agreement is energy-flavored, the fields lean on commodity vocabulary (product_type, volume_unit in MWh, metering_point_id) rather than the generic scope of a services contract. It captures the terms as written, including the volume band, and makes no judgment about whether a take-or-pay minimum is enforceable.
What gets extracted from master purchase agreements
How extraction works for master purchase agreements
Energy master purchase agreements come from supplier legal templates and follow commodity market conventions, so the metering point, the volume band, and the price index sit in schedules rather than the body. Talonic classifies the agreement and aligns it to the contract schema in the Field Registry, so supplier.name, buyer.name, product_type, metering_point_id, price_per_unit, and the minimum and maximum volumes each resolve to a field, while the pricing_schedule and metering_points tables load per row with prices typed as numbers in EUR per MWh. The 2026-07-01 effective date and the 2028-06-30 expiry parse to ISO 8601. Every value carries a confidence score and a source-region pointer under DIN SPEC 91491, so an energy analyst can verify the 82.50 EUR per MWh price or the 24,000 MWh take-or-pay floor against the schedule. Talonic returns the terms as written and judges no clause.
Sample extraction
An electricity supply master purchase agreement with a take-or-pay band
{
"document_number": "MPA-2026-VK-0417",
"document_date": "2026-06-20",
"effective_date": "2026-07-01",
"expiration_date": "2028-06-30",
"supplier.name": "Vattenkraft Energie GmbH",
"supplier.address": "Kraftwerkstrasse 12, 60329 Frankfurt, Germany",
"buyer.name": "Rheinmetall Werke GmbH",
"buyer.address": "Industriepark Sued 4, 40468 Duesseldorf, Germany",
"payment_terms": "Net 15, monthly settlement",
"currency": "EUR",
"product_type": "electricity",
"metering_point_id": "DE0005692000000000000001234567",
"volume_unit": "MWh",
"pricing_model": "Fixed price per MWh for the contract term",
"price_per_unit": 82.5,
"minimum_volume": 24000,
"maximum_volume": 36000,
"governing_law": "Germany",
"change_of_control": "Either party may terminate on a change of control of the other",
"audit_rights": "Buyer may audit metered consumption records annually",
"metering_points": [
{
"metering_point_id": "DE0005692000000000000001234567",
"product_type": "electricity",
"volume_unit": "MWh",
"minimum_volume": 24000,
"maximum_volume": 36000
}
],
"pricing_schedule": [
{
"pricing_model": "Fixed",
"price_per_unit": 82.5,
"currency": "EUR",
"effective_from_date": "2026-07-01",
"effective_to_date": "2028-06-30"
}
]
}Frequently asked
How does an energy MPA differ from a framework agreement?
An MPA of this kind guarantees a take-or-pay volume band, a minimum of 24,000 MWh and a maximum of 36,000 MWh per year here, while a framework agreement commits no volume at all. The committed quantity is what tells them apart.
Does it read the metering point and volume band?
Yes. The metering_point_id, minimum_volume, and maximum_volume come back as fields, and the metering_points table repeats them per supply point, so a contract with one metering point at DE0005692000000000000001234567 keeps its band traceable.
Is the price captured per unit?
Yes. price_per_unit returns as a number, 82.5, in EUR per MWh, and the pricing_schedule table carries the price with its effective-from and effective-to dates, so a fixed price for the 2026-07-01 to 2028-06-30 term is legible.
Does Talonic decide whether the take-or-pay minimum is enforceable?
No. It extracts the volume band and the settlement terms as written. Whether a take-or-pay clause is enforceable in a given market is a legal question left to counsel.
Ready to extract from your own master purchase agreements?
Author note
Reviewed by Talonic engineering, contracts schema review · last reviewed 2026-07-08