Production Taxes Overview
This document provides a detailed overview of production-taxes in an economic model. The main property is data, which contains a state and a rows array. Each row in the array defines a single production tax entry with its classification, timing criteria, and rate information.
Example Response
{
"id": "6463e9e105bfb500218f828e",
"copiedFrom": null,
"name": "Production Taxes Demo",
"tags": [],
"unique": false,
"createdBy": "6283eac6241df8001331f6a3",
"lastUpdatedBy": "6283eac6241df8001331f6a3",
"createdAt": "2023-05-16T20:38:57.818Z",
"updatedAt": "2023-05-16T23:20:25.827Z",
"data": {
"state": "texas",
"rows": [
{
"key": "oil",
"category": "severance_tax",
"criteria": "entire_well_life",
"period": ["Flat"],
"value": [4.6],
"unit": "pct_of_revenue"
},
{
"key": "gas",
"category": "severance_tax",
"criteria": "dates",
"period": ["01/2022", "01/2023"],
"value": [7.5, 0],
"unit": "pct_of_revenue",
"shrinkageCondition": "unshrunk",
"calculation": "nri",
"escalation": "64629fb11cb0cc0021eaaa38"
},
{
"key": "ngl",
"category": "severance_tax",
"criteria": "oil_rate",
"period": [3, 6, 9],
"value": [7.5, 0, 0],
"unit": "dollar_per_bbl",
"shrinkageCondition": "unshrunk",
"calculation": "nri",
"rateType": "gross_well_head",
"rateRowsCalculationMethod": "non_monotonic"
},
{
"key": "ad_valorem_tax",
"category": "ad_val_tax",
"criteria": "offset_to_fpd",
"period": [20],
"value": [100],
"unit": "dollar_per_boe",
"calculation": "nri",
"deductSeveranceTax": false
},
{
"key": "ad_valorem_tax",
"category": "pa_if_h_2021",
"criteria": "offset_to_fpd"
}
]
}
}
Data Structure
data: (required) An object containing thestateandrowsproperties that define all production tax entries for the model.
data
state: (required) A string representing the US state whose tax rules apply. See state for valid values.rows: (required) An array of production tax row objects. Maximum 5000 rows. Each object represents one tax entry. See rows for the full field list and constraints.
rows
Each element in the rows array is an object with the following properties:
Required fields
key: (required) The production stream this row applies to. See key for valid values and the key → category constraint.category: (required) The tax category. Valid values depend onkey. See category and the key → category constraint.criteria: (required) The timing or rate basis used to define the tax schedule. Valid values depend oncategory. See criteria and the category → criteria constraints.period: (required forseverance_taxandad_val_taxcategories) An array whose element type and valid range depend oncriteria. Must not be provided forpa_if_*categories. See period for details.value: (required forseverance_taxandad_val_taxcategories) An array of numbers that must match the length ofperiod. Must not be provided forpa_if_*categories. See value.unit: (required forseverance_taxandad_val_taxcategories) The unit of measurement for thevalueentries. Valid values depend onkey. Must not be provided forpa_if_*categories. See unit for valid values and the key → unit constraint.
Optional fields
description: (optional) A free-text description of the row. Maximum 200 characters.shrinkageCondition: (optional) Whether volumes are measured before or after shrinkage. Possible values are"shrunk"or"unshrunk". Required whenunitisdollar_per_bblordollar_per_mcf. Not allowed whenunitisdollar_per_month,pct_of_revenue, ordollar_per_boe.escalation: (optional) An escalation model ID (example:"6463e9e105bfb500218f828e") or"none".calculation: (optional) The working interest basis for the tax. See calculation for valid values.deductSeveranceTax: (optional) Boolean. Whentrue, severance tax is deducted before applying this row's ad valorem rate. Not allowed whencategoryisseverance_tax.rateType: (optional) The rate type. See rateType. Only allowed whencriteriaisoil_rate,gas_rate, orwater_rate.rateRowsCalculationMethod: (optional) How rate-based rows are applied. Possible values are"monotonic"and"non_monotonic". Only allowed whencriteriaisoil_rate,gas_rate, orwater_rate.
"data": {
"state": "texas",
"rows": [
{
"key": "oil",
"category": "severance_tax",
"criteria": "entire_well_life",
"period": "Flat",
"value": 4.6,
"unit": "pct_of_revenue",
"calculation": "nri"
}
]
}
Definitions
calculation
This property is a string defining the working interest basis for the tax calculation. Possible values are:
"100_pct_wi""lease_nri""lease_nri_minus_one""nri""nri_minus_one""one_minus_nri""one_minus_lease_nri""one_minus_wi""wi""wi_minus_one"
category
The tax category for this row. Valid values depend on key — see the key → category constraint.
"severance_tax"— State severance tax applied to a production stream. Only valid whenkeyisoil,gas,ngl, ordrip_condensate."ad_val_tax"— Ad valorem (property) tax. Only valid whenkeyisad_valorem_tax."pa_if_h_2021"— Pennsylvania Impact Fee, horizontal well, 2021 schedule. Only valid whenkeyisad_valorem_tax.period,value, andunitmust not be provided."pa_if_h_2022_2024"— Pennsylvania Impact Fee, horizontal well, 2022–2024 schedule. Only valid whenkeyisad_valorem_tax.period,value, andunitmust not be provided."pa_if_v_2021"— Pennsylvania Impact Fee, vertical well, 2021 schedule. Only valid whenkeyisad_valorem_tax.period,value, andunitmust not be provided."pa_if_v_2022_2024"— Pennsylvania Impact Fee, vertical well, 2022–2024 schedule. Only valid whenkeyisad_valorem_tax.period,value, andunitmust not be provided.
criteria
The timing or rate basis used to segment the tax schedule. Valid values depend on category — see the category → criteria constraints.
"entire_well_life"— A single flat rate applied for the entire well life.periodmust be"Flat"andvaluemust be a single number. Valid forseverance_taxandad_val_tax."offset_to_fpd"— Months offset from first production date.periodis an array of numbers from0to1200. Valid for all non-PA IF categories."offset_to_as_of_date"— Months offset from the as-of date.periodis an array of numbers from0to1200. Valid forseverance_taxandad_val_tax."offset_to_discount_date"— Months offset from the discount date.periodis an array of numbers from0to1200. Valid forseverance_taxandad_val_tax."offset_to_first_segment"— Months offset from the first forecast segment.periodis an array of numbers from0to1200. Valid forseverance_taxandad_val_tax."offset_to_end_history"— Months offset from end of production history.periodis an array of numbers from0to1200. Valid forseverance_taxandad_val_tax."dates"— Calendar month boundaries.periodis an array of ISO date strings (YYYY-MM-DD) between1900-01-01and2262-04-01. Dates are stored asMM/yyyy. Valid forseverance_taxandad_val_tax."oil_rate"— Oil production rate thresholds in Bbl/d.periodis an array of numbers from0to10000000000. Valid forseverance_taxandad_val_tax."gas_rate"— Gas production rate thresholds in Mcf/d.periodis an array of numbers from0to10000000000. Valid forseverance_taxandad_val_tax."water_rate"— Water production rate thresholds in Bbl/d.periodis an array of numbers from0to10000000000. Only valid whencategoryisad_val_tax."spud_date_from_headers"— Spud date derived from well headers. Only valid forpa_if_*categories."spud_date_from_schedule"— Spud date derived from the well schedule. Only valid forpa_if_*categories.
deductSeveranceTax
A Boolean that determines whether severance tax is deducted before applying this row's ad valorem rate. Possible values are true and false. Not allowed when category is severance_tax.
description
A free-text string that can be used to annotate the row. Maximum length is 200 characters.
key
The production stream this row applies to. Possible values are:
"oil"— Oil stream.categorymust beseverance_tax."gas"— Gas stream.categorymust beseverance_tax."ngl"— Natural gas liquids stream.categorymust beseverance_tax."drip_condensate"— Drip condensate stream.categorymust beseverance_tax."ad_valorem_tax"— Ad valorem tax.categorymust be one ofad_val_tax,pa_if_h_2021,pa_if_h_2022_2024,pa_if_v_2021, orpa_if_v_2022_2024.
Key and category constraints
key | Allowed category values |
|---|---|
oil | severance_tax |
gas | severance_tax |
ngl | severance_tax |
drip_condensate | severance_tax |
ad_valorem_tax | ad_val_tax, pa_if_h_2021, pa_if_h_2022_2024, pa_if_v_2021, pa_if_v_2022_2024 |
Category and criteria constraints
category | Allowed criteria values |
|---|---|
severance_tax | entire_well_life, offset_to_fpd, offset_to_as_of_date, offset_to_discount_date, offset_to_first_segment, offset_to_end_history, dates, oil_rate, gas_rate |
ad_val_tax | entire_well_life, offset_to_fpd, offset_to_as_of_date, offset_to_discount_date, offset_to_first_segment, offset_to_end_history, dates, oil_rate, gas_rate, water_rate |
pa_if_h_2021, pa_if_h_2022_2024, pa_if_v_2021, pa_if_v_2022_2024 | offset_to_fpd, spud_date_from_headers, spud_date_from_schedule |
Note:
water_ratecriteria is only valid forcategory: ad_val_tax.
Key and unit constraints
key | Allowed unit values |
|---|---|
oil | dollar_per_month, dollar_per_bbl, pct_of_revenue |
gas | dollar_per_month, dollar_per_mcf, pct_of_revenue |
ngl | dollar_per_month, dollar_per_bbl, pct_of_revenue |
drip_condensate | dollar_per_month, dollar_per_bbl, pct_of_revenue |
ad_valorem_tax | dollar_per_month, dollar_per_boe, pct_of_revenue |
period
An array whose element type depends on the criteria value. period and value arrays must always have the same length. Maximum 5000 items.
criteria | period format | Range |
|---|---|---|
entire_well_life | Must be the string "Flat". A single value (not an array) is expected on input. | N/A |
offset_to_fpd, offset_to_as_of_date, offset_to_discount_date, offset_to_first_segment, offset_to_end_history | Array of numbers | 0 – 1200 per item |
dates | Array of ISO date strings (YYYY-MM-DD). Stored as MM/yyyy. | 1900-01-01 – 2262-04-01 |
oil_rate, gas_rate, water_rate | Array of numbers | 0 – 10000000000 per item |
pa_if_* categories | Must not be provided | N/A |
rateRowsCalculationMethod
A string representing the method used when applying rate-based rows. Only allowed when criteria is oil_rate, gas_rate, or water_rate. Possible values are "monotonic" and "non_monotonic".
rateType
A string representing the rate basis. Only allowed when criteria is oil_rate, gas_rate, or water_rate. Possible values are:
"gross_well_head""gross_sales""net_sales"
shrinkageCondition
A string defining whether volumes are measured before or after gas shrinkage.
- Required when
unitisdollar_per_bblordollar_per_mcf. - Not allowed when
unitisdollar_per_month,pct_of_revenue, ordollar_per_boe.
Possible values are "shrunk" or "unshrunk".
state
A string representing the US state whose production tax rules apply. Possible values are:
"custom""alaska""alabama""arkansas""arizona""california""colorado""florida""idaho""indiana""kansas""kentucky""louisiana""maryland""michigan""mississippi""montana""north_dakota""nebraska""new_mexico""nevada""new_york""ohio""oklahoma""oregon""pennsylvania""south_dakota""tennessee""texas""utah""virginia""west_virginia""wyoming"
unit
The unit of measurement applied to each value entry. Valid values depend on key — see the key → unit constraint. Required for severance_tax and ad_val_tax categories. Must not be provided for pa_if_* categories.
"dollar_per_month"— A fixed dollar amount charged per month."dollar_per_boe"— Dollar amount per barrel of oil equivalent. Only valid forkey: ad_valorem_tax."dollar_per_bbl"— Dollar amount per barrel. Valid foroil,ngl, anddrip_condensate. RequiresshrinkageCondition."dollar_per_mcf"— Dollar amount per thousand cubic feet of gas. Only valid forkey: gas. RequiresshrinkageCondition."pct_of_revenue"— Percentage of revenue.
value
An array of numbers, one per period entry, representing the tax rate or amount for each segment. period and value arrays must always have the same length. Maximum 5000 items.
- For
entire_well_life, a single number (not an array) is accepted on input. - Required for
severance_taxandad_val_taxcategories. - Must not be provided for
pa_if_*categories.