Class FiscalParameters
java.lang.Object
neqsim.process.fielddevelopment.economics.FiscalParameters
- All Implemented Interfaces:
Serializable
Data class holding all fiscal parameters for a specific country or region.
This class encapsulates all the tax and fiscal parameters that vary by jurisdiction, including:
- Tax rates (corporate, petroleum/resource, royalty)
- Depreciation rules
- Investment incentives (uplift, accelerated depreciation)
- Loss carry-forward rules
- Cost recovery limits
Supported Fiscal System Types
- Concessionary: Company owns resources, pays taxes/royalties (e.g., Norway, UK, US)
- Production Sharing Contract (PSC): State owns resources, company recovers costs and shares profit (e.g., Indonesia, Angola)
- Service Contract: Company provides services for fee (e.g., Iraq, Iran)
Example Usage
// Create custom parameters
FiscalParameters params = FiscalParameters.builder("CustomCountry").corporateTaxRate(0.25)
.resourceTaxRate(0.40).royaltyRate(0.10).depreciationYears(5).build();
// Or use predefined country
FiscalParameters norway = FiscalRegimeRegistry.getParameters("Norway");
- Version:
- 1.0
- Author:
- ESOL
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final classBuilder for FiscalParameters.static enumDepreciation method.static enumType of fiscal system.static enumRing-fence level (FIELD, LICENSE, COMPANY). -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final doubleCorporate income tax rate (0-1).private final doubleMaximum cost recovery per period as fraction of revenue (0-1).private final StringCountry or region code (e.g., "NO", "UK", "US-GOM").private final StringFull country or region name.private final doubleDeclining balance rate (for declining balance method).private final booleanWhether decommissioning costs are tax deductible.private final booleanWhether decommissioning fund contributions are tax deductible.private final FiscalParameters.DepreciationMethodprivate final intDepreciation period in years (for straight-line).private final StringDescription of the fiscal regime.private final booleanWhether R&D expenses are deductible at enhanced rate.private final FiscalParameters.FiscalSystemTypeprivate final doubleInvestment tax credit rate (0-1).private final booleanWhether losses can be carried back.private final intMaximum years for loss carry-back.private final booleanWhether losses can be carried forward.private final doubleInterest rate on carried-forward losses (0-1).private final intMaximum years for loss carry-forward (0 = unlimited).private final doubleProfit oil/gas contractor share (0-1).private final doubleProfit oil/gas government share (0-1).private final doubleR&D enhancement factor (e.g., 1.5 for 150% deduction).private final doubleResource/petroleum/mineral tax rate (0-1).private final booleanWhether ring-fencing applies (losses cannot offset other fields).private final FiscalParameters.RingFenceLevelprivate final doubleRoyalty rate on gross production (0-1).private static final longprivate final doubleState participation percentage (0-1).private final doubleInvestment uplift rate per year (0-1).private final intNumber of years for uplift.private final intYear the parameters are valid from.private final doubleWindfall/excess profit tax rate (0-1).private final doubleWindfall tax threshold (price above which windfall tax applies). -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic FiscalParameters.BuilderCreates a builder for custom fiscal parameters.doubledoubledoubleintdoubleintdoubleintdoubledoubledoubledoubledoubledoubledoubleGets the total marginal tax rate.doubleGets the total uplift percentage.doubleintintdoubledoublebooleanChecks if investment incentives are available.booleanbooleanbooleanbooleanbooleanbooleanChecks if this is a PSC-type fiscal system.booleantoString()
-
Field Details
-
serialVersionUID
private static final long serialVersionUID- See Also:
-
countryCode
Country or region code (e.g., "NO", "UK", "US-GOM"). -
countryName
Full country or region name. -
description
Description of the fiscal regime. -
validFromYear
private final int validFromYearYear the parameters are valid from. -
fiscalSystemType
-
corporateTaxRate
private final double corporateTaxRateCorporate income tax rate (0-1). -
resourceTaxRate
private final double resourceTaxRateResource/petroleum/mineral tax rate (0-1). -
royaltyRate
private final double royaltyRateRoyalty rate on gross production (0-1). -
windfallTaxRate
private final double windfallTaxRateWindfall/excess profit tax rate (0-1). -
windfallTaxThreshold
private final double windfallTaxThresholdWindfall tax threshold (price above which windfall tax applies). -
stateParticipation
private final double stateParticipationState participation percentage (0-1). -
depreciationMethod
-
depreciationYears
private final int depreciationYearsDepreciation period in years (for straight-line). -
decliningBalanceRate
private final double decliningBalanceRateDeclining balance rate (for declining balance method). -
upliftRate
private final double upliftRateInvestment uplift rate per year (0-1). -
upliftYears
private final int upliftYearsNumber of years for uplift. -
investmentTaxCredit
private final double investmentTaxCreditInvestment tax credit rate (0-1). -
enhancedRdDeduction
private final boolean enhancedRdDeductionWhether R&D expenses are deductible at enhanced rate. -
rdEnhancementFactor
private final double rdEnhancementFactorR&D enhancement factor (e.g., 1.5 for 150% deduction). -
costRecoveryLimit
private final double costRecoveryLimitMaximum cost recovery per period as fraction of revenue (0-1). -
lossCarryForward
private final boolean lossCarryForwardWhether losses can be carried forward. -
lossCarryForwardYears
private final int lossCarryForwardYearsMaximum years for loss carry-forward (0 = unlimited). -
lossCarryForwardInterest
private final double lossCarryForwardInterestInterest rate on carried-forward losses (0-1). -
lossCarryBack
private final boolean lossCarryBackWhether losses can be carried back. -
lossCarryBackYears
private final int lossCarryBackYearsMaximum years for loss carry-back. -
ringFenced
private final boolean ringFencedWhether ring-fencing applies (losses cannot offset other fields). -
ringFenceLevel
-
decommissioningDeductible
private final boolean decommissioningDeductibleWhether decommissioning costs are tax deductible. -
decommissioningFundDeductible
private final boolean decommissioningFundDeductibleWhether decommissioning fund contributions are tax deductible.
-
-
Constructor Details
-
FiscalParameters
-
-
Method Details
-
builder
Creates a builder for custom fiscal parameters.- Parameters:
countryCode- country or region code- Returns:
- new builder instance
-
getTotalMarginalTaxRate
public double getTotalMarginalTaxRate()Gets the total marginal tax rate.- Returns:
- sum of corporate and resource tax rates
-
getTotalUpliftPercentage
public double getTotalUpliftPercentage()Gets the total uplift percentage.- Returns:
- uplift rate times uplift years
-
isPscSystem
public boolean isPscSystem()Checks if this is a PSC-type fiscal system.- Returns:
- true if PSC or similar
-
hasInvestmentIncentives
public boolean hasInvestmentIncentives()Checks if investment incentives are available.- Returns:
- true if uplift or investment tax credit available
-
getCountryCode
-
getCountryName
-
getDescription
-
getValidFromYear
public int getValidFromYear() -
getFiscalSystemType
-
getCorporateTaxRate
public double getCorporateTaxRate() -
getResourceTaxRate
public double getResourceTaxRate() -
getRoyaltyRate
public double getRoyaltyRate() -
getWindfallTaxRate
public double getWindfallTaxRate() -
getWindfallTaxThreshold
public double getWindfallTaxThreshold() -
getStateParticipation
public double getStateParticipation() -
getDepreciationMethod
-
getDepreciationYears
public int getDepreciationYears() -
getDecliningBalanceRate
public double getDecliningBalanceRate() -
getUpliftRate
public double getUpliftRate() -
getUpliftYears
public int getUpliftYears() -
getInvestmentTaxCredit
public double getInvestmentTaxCredit() -
isEnhancedRdDeduction
public boolean isEnhancedRdDeduction() -
getRdEnhancementFactor
public double getRdEnhancementFactor() -
getCostRecoveryLimit
public double getCostRecoveryLimit() -
isLossCarryForward
public boolean isLossCarryForward() -
getLossCarryForwardYears
public int getLossCarryForwardYears() -
getLossCarryForwardInterest
public double getLossCarryForwardInterest() -
isLossCarryBack
public boolean isLossCarryBack() -
getLossCarryBackYears
public int getLossCarryBackYears() -
isRingFenced
public boolean isRingFenced() -
getRingFenceLevel
-
isDecommissioningDeductible
public boolean isDecommissioningDeductible() -
isDecommissioningFundDeductible
public boolean isDecommissioningFundDeductible() -
toString
-