0% found this document useful (0 votes)
9 views5 pages

Project Revenue and Profit Calculation Functions

The document outlines a series of function declarations and calculations related to project revenue, costs, and profits in a programming context. It includes functions for calculating deductible taxes, depreciation, profit basis, recovery limits, and profit sharing. The structure indicates a focus on financial metrics over a specified year, utilizing various profiles and calculations to derive contractor and state profits.

Uploaded by

meharsheikh1990
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
9 views5 pages

Project Revenue and Profit Calculation Functions

The document outlines a series of function declarations and calculations related to project revenue, costs, and profits in a programming context. It includes functions for calculating deductible taxes, depreciation, profit basis, recovery limits, and profit sharing. The structure indicates a focus on financial metrics over a specified year, utilizing various profiles and calculations to derive contractor and state profits.

Uploaded by

meharsheikh1990
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

Function Declarations ()

Dim GrossProjectRevenue As Profile

Dim SumPSCTaxes As Profile

Dim NetProjectRevenue As Profile

Dim ProfitBasis As Profile

Dim Depreciation As Profile

Dim ExpensedCapex As Profile

Dim ExpensedOpex As Profile

Dim DeductibleTaxes As Profile

Dim Uplift As Profile

Dim TotalCost As Profile

Dim RecoveryLimit As Profile

Dim RecoveryLimitBasis As Profile

Dim RecoveryLimitTrigger As Profile

Dim RecoveryLimitConstraint As Profile

Dim RecoveredCost As Profile

Dim UnrecoveredCost As Profile

Dim UnrecoveredInterest As Profile

Dim RemainingUnrecoveredCost As Profile

Dim RemainingUnrecoveredInterest As Profile

Dim UnlimitedCost As Profile

Dim RecoveredUnlimitedCost As Profile

Dim UnrecoveredUnlimitedCost As Profile

Dim SumUnrecoveredUnlimitedCost As Float

Dim UnrecoveredUnlimitedInterest As Profile

Dim ProfitShareTrigger As Profile

Dim ProfitShareConstraint As Profile

Dim StateProfit As Profile

Dim ContractorProfit As Profile

Dim ContractorRevenue As Profile

Dim RValue As Profile


Dim SumContractorRevenue As Float

Dim SumContractorProfit As Float

Dim SumTotalCost As Float

Dim SumRecoveredCost As Float

___________________________________________________

Function CalculateDeductibleTaxes(Year As Integer)

Dim A As Integer, Y As Integer

___________________________________________________

Function CalculateDepreciation(Year As Integer)

Dim A As Integer, B As Integer, Y As Integer

___________________________________________________

Function CalculateProfitBasis (Year As Integer)

Dim A As Integer

Dim Available As Float

Dim UnrecoveredCostAndInterest As Float

Dim SumTax As Float

Dim TriggerShare As Float

Dim RecoveryLimitRate As Float

Set ProfitBasis(Year) = NetProjectRevenue(Year)

Call CalculateDepreciation(Year)

Call CalculateUplift(Year)

Call CalculateDeductibleTaxes(Year)

Set TotalCost(Year) = Depreciation(Year) + ExpensedCapex(Year) + ExpensedOpex(Year) +


Uplift(Year) + DeductibleTaxes(Year)

Call CalculateRecoveryLimitTrigger(Year)

Call CalculateRecoveryLimitConstraint(Year)
' Calculate Recovery Limit

Set RecoveryLimitBasis(Year) = NetProjectRevenue(Year)

If UnlimitedCost(Year) > RecoveryLimitBasis(Year) Then

Set RecoveredUnlimitedCost(Year) = RecoveryLimitBasis(Year)

Set UnrecoveredUnlimitedCost(Year) = UnlimitedCost(Year) - RecoveredUnlimitedCost(Year)

Set SumUnrecoveredUnlimitedCost = SumUnrecoveredUnlimitedCost +


UnrecoveredUnlimitedCost(Year)

Else

Set RecoveredUnlimitedCost(Year) = UnlimitedCost(Year)

End If

Set RecoveryLimitBasis(Year) = RecoveryLimitBasis(Year) - RecoveredUnlimitedCost(Year)

Set SumTax = RecoveryLimitBasis(Year) * 1.0 * RecoveryLimitConstraint(Year)

Set RecoveryLimit(Year) = RecoveryLimit(Year) + SumTax

' Calculate Recovered Cost

If TotalCost(Year) > RecoveryLimit(Year) Then

Set RecoveredCost(Year) = RecoveryLimit(Year)

Set UnrecoveredCost(Year) = TotalCost(Year) - RecoveryLimit(Year)

Set RemainingUnrecoveredCost(Year) = UnrecoveredCost(Year)

Else

Set RecoveredCost(Year) = TotalCost(Year)

End If

Set RecoveredCost(Year) = RecoveredCost(Year) + RecoveredUnlimitedCost(Year)

Set ProfitBasis(Year) = ProfitBasis(Year) - RecoveredCost(Year)

___________________________________________________

___________________________________________________

Function CalculateProfitShareTrigger (Year As Integer)


___________________________________________________

Function CalculateProfitSplit(Year As Integer)

Dim ProfitShareRate As Float

Dim SumTax As Float

Dim TriggerShare As Float

Dim PreviousTrigger As Float

Dim DeltaTrigger As Float

Call CalculateProfitShareTrigger(Year)

Call CalculateProfitShareConstraint(Year)

Set SumTax = ProfitBasis(Year) * 0.3 * ProfitShareConstraint(Year)

Set ContractorProfit(Year) = ContractorProfit(Year) + SumTax

Set StateProfit(Year) = ProfitBasis(Year) - ContractorProfit(Year)

Set ContractorRevenue(Year) = RecoveredCost(Year) + ContractorProfit(Year)

Set SumContractorRevenue = SumContractorRevenue + ContractorRevenue(Year)

Set SumContractorProfit = SumContractorProfit + ContractorProfit(Year)

Set SumRecoveredCost = SumRecoveredCost + RecoveredCost(Year)

Set SumTotalCost = SumTotalCost + TotalCost(Year)

If SumTotalCost > 0 Then

Set RValue(Year + 1) = (SumRecoveredCost + SumContractorProfit) / SumTotalCost

Else

Set RValue(Year + 1) = 0

End If

___________________________________________________

Function CalculateRecoveryLimitConstraint (Year As Integer)

Set RecoveryLimitConstraint(Year) = 1.0

___________________________________________________
Function CalculateRecoveryLimitTrigger (Year As Integer)

___________________________________________________

Function CalculateUplift(Year As Integer)

Dim A As Integer, Y As Integer

___________________________________________________

Function Calculate (Year As Integer)

Set GrossProjectRevenue(Year) = [Link](Year)

Set NetProjectRevenue(Year) = GrossProjectRevenue(Year)

Set SumPSCTaxes(Year) = 0.0

Call CalculateProfitBasis(Year)

Call CalculateProfitSplit(Year)

You might also like