Retainage Calculations

In this Topic

  1. Net Retainage Amount
  2. Retainage Trigger Amount
  3. Current Gross Retainage
  4. Maximum Dollar Amount for Retainage
  5. Previous Cash and Security Accounts
  6. Payment Estimate Contract Adjustment
  7. Total Retainage Required for Vendor Security Account
  8. Required Amount for a Contract Security Account
  9. Difference Amount for a Contract Security Account
  10. Securities Encumbrance Amount for a Contract Security Account
  11. Amount Posted to Date for a Contract with a Security Account

Net Retainage Amount

The calculations used by the system to determine the net amount of retainage for a progress or semi-final payment estimate depend on the retainage method and the settings for a number of other agency options. The following table provides detailed calculations for each potential configuration of these factors.

Row

Retainage Method

Agency Option Settings

Calculations

1

Work per period

Retainage Calculation: Yes

Retainage for Contract or Project: Contract

Retainage Exempt for Subcontract Items: No

Retainage Exempt for Stockpiles: No

Contract Retainage Base: Current

CURRENT_ITEM_PAID_GROSS_AMOUNT -

[SUM for this payment estimate (CURRENT_PAID_AMOUNT where associated EXEMPT_FROM_RETAINAGE_IND is "Yes")] +

CURRENT_GROSS_CONTRACT_ADJUSTMENT_AMOUNT +

CURRENT_GROSS_ITEM_ADJUSTMENT_AMOUNT =

CURRENT_NET_AMOUNT_FOR_RETAINAGE

2

Work in place

Retainage Calculation: Yes

Retainage for Contract or Project: Contract

Retainage Exempt for Subcontract Items: No

Retainage Exempt for Stockpiles: No

Contract Retainage Base: Current

TOTAL_ITEM_PAID_GROSS_AMOUNT -

[SUM for all payment estimates (CURRENT_PAID_AMOUNT where associated EXEMPT_FROM_RETAINAGE_IND is "Yes")] +

TOTAL_GROSS_CONTRACT_ADJUSTMENT_AMOUNT +

TOTAL_GROSS_ITEM_ADJUSTMENT_AMOUNT =

TOTAL_NET_AMOUNT_FOR_RETAINAGE

3

Work per period

Retainage Calculation: Yes

Retainage for Contract or Project: Contract

Retainage Exempt for Subcontract Items: No

Retainage Exempt for Stockpiles: Yes

Contract Retainage Base: Current

CURRENT_ITEM_PAID_GROSS_AMOUNT -

[SUM (CURRENT_PAID_AMOUNT where associated EXEMPT_FROM_RETAINAGE_IND is "Yes")] +

CURRENT_GROSS_CONTRACT_ADJUSTMENT_AMOUNT +

[CURRENT_GROSS_ITEM_ADJUSTMENT_AMOUNT -

[SUM (ITEM_ADJUSTMENT_AMOUNT where ITEM_ADJUSTMENT_TYPE is "Construction Stockpile")] =

CURRENT_NET_AMOUNT_FOR_RETAINAGE_CALCULATION

4

Work in place

Retainage Calculation: Yes

Retainage for Contract or Project: Contract

Retainage Exempt for Subcontract Items: No

Retainage Exempt for Stockpiles: Yes

Contract Retainage Base: Current

[TOTAL_ITEM_PAID_GROSS_AMOUNT -

SUM for all payment estimates (CURRENT_PAID_AMOUNT where associated EXEMPT_FROM_RETAINAGE_IND is "Yes")] + [TOTAL_GROSS_CONTRACT_ADJUSTMENT_AMOUNT -

SUM for all payment estimates (ITEM_ADJUSTMENT_AMOUNT where ITEM_ADJUSTMENT_TYPE is "Construction Stockpile")] =

TOTAL _NET_AMOUNT_FOR_RETAINAGE

5

Work per period

Retainage Calculation: Yes

Retainage for Contract or Project: Contract

Payment Estimate's Contract has a Project Fund where FUNDTYPE is set to Federal

Retainage Exempt for Subcontract Items: Yes

Retainage Exempt for Stockpiles: No

Contract Retainage Base: Current

For each Payment Estimate Item where an associated DWR_POSTING_QTY (for current payment estimate) has CONTRACTOR not equal to PRIMEVENDOR_ID, calculate the percentage of work completed by the subcontractors for the Payment Estimate Item:

Percentage of work by subcontractors for payment estimate item = Divide [SUM (DWR_POSTING_QTY associated to current PAYMENT ESTIMATE ITEM where CONTRACTOR does not equal PRIMEVENDOR_ID)] by CURRENT_INSTALLED_QUANTITY

Next, calculate the installed amount for the subcontractors for the Payment Estimate Item:

Installed Amount for Subcontractors for Payment Estimate Item = Multiply Percentage of work by Subcontractors for Payment Estimate Item" by CURRENT_INSTALLED_AMOUNT.

Then, sum the "Installed Amount for Subcontractors for Payment Estimate Item" for all Payment Estimate Items:

"Installed Amount for Subcontractors for All Payment Estimate Items" = SUM across all Payment Estimate Items ("Installed Amount for Subcontractors for Payment Estimate Item") CURRENT_ITEM_PAID_GROSS_AMOUNT

minus [SUM (CURRENT_INSTALLED_AMOUNT where associated EXEMPT_FROM_RETAINAGE_IND is "Yes")]

plus CURRENT_GROSS_ITEM_ADJUSTMENT_AMOUNT

minus "Installed Amount for Subcontractors for All Payment Estimate Items" (as calculated above)

plus CURRENT_GROSS_CONTRACT_ADJUSTMENT_AMOUNT =

CURRENT_NET_AMOUNT_FOR_RETAINAGE_CALCULATION.

6

Work in place

Retainage Calculation: Yes

Retainage for Contract or Project: Contract

Payment Estimate's Contract has a Project Fund where FUNDTYPE is set to Federal

Retainage Exempt for Subcontract Items: Yes

Retainage Exempt for Stockpiles: No

Contract Retainage Base: Current

For every Payment Estimate Item from every Payment Estimate where an associated DWR_POSTING_QTY has CONTRACTOR not equal to PRIMEVENDOR_ID, calculate the percentage of work completed by the subcontractors for the Payment Estimate Item:

"Percentage of work by Subcontractors for Payment Estimate Item across all Payment Estimates" = Divide [SUM (DWR_POSTING_QTY associated to PAYMENT ESTIMATE ITEM where CONTRACTOR does not equal PRIMEVENDOR_ID)] by (PAYMENT ESTIMATE ITEM.CURRENT_INSTALLED_QUANTITY + PREVIOUS_TOTAL_INSTALLED_QUANTITY)

Next, calculate the installed amount for the subcontractors for the Payment Estimate

Item: "Installed Amount for Subcontractors for Payment Estimate Item across all Payment Estimates" = Multiply "Percentage of work by Subcontractors for Payment Estimate Item across all Payment Estimates" by [(CURRENT_INSTALLED_QUANTITY + PREVIOUS_TOTAL_INSTALLED_QUANTITY) multiplied by the unit price of the item.

Then, sum the "Installed Amount for Subcontractors for Payment Estimate Item across all Payment Estimates" for all Payment Estimate Items:

"Installed Amount for Subcontractors for All Payment Estimate Items for All Payment Estimates" = SUM across all Payment Estimate Items ("Installed Amount for Subcontractors for Payment Estimate Item across all Payment Estimates") TOTAL_ITEM_PAID_GROSS_AMOUNT

minus [SUM (CURRENT_INSTALLED_AMOUNT where associated EXEMPT_FROM_RETAINAGE_IND is "Yes") for all payment estimates]

plus TOTAL_GROSS_ITEM_ADJUSTMENT_AMOUNT

minus "Installed Amount for Subcontractors for All Payment Estimate Items for All Payment Estimates" (as calculated above)

plus TOTAL_GROSS_CONTRACT_ADJUSTMENT_AMOUNT =

TOTAL _NET_AMOUNT_FOR_RETAINAGE_CALCULATION.

7

Work per period

Retainage Calculation: Yes

Retainage for Contract or Project: Contract

Payment Estimate's Contract has a Project Fund where FUNDTYPE is set to Federal

Retainage Exempt for Subcontract Items: Yes

Retainage Exempt for Stockpiles: No

Contract Retainage Base: Current

For each Payment Estimate Item where an associated DWR_POSTING_QTY (for current payment estimate) has CONTRACTOR not equal to PRIMEVENDOR_ID, calculate the percentage of work completed by the subcontractors for the Payment Estimate Item:

"Percentage of work by Subcontractors for Payment Estimate Item" = Divide [SUM (DWR_POSTING_QTY associated to current PAYMENT ESTIMATE ITEM where CONTRACTOR does not equal PRIMEVENDOR_ID)] by CURRENT_INSTALLED_QUANTITY

Next, calculate the installed amount for the subcontractors for the Payment Estimate Item:

"Installed Amount for Subcontractors for Payment Estimate Item" = Multiply "Percentage of work by Subcontractors for Payment Estimate Item" by CURRENT_INSTALLED_AMOUNT

Then, sum the "Installed Amount for Subcontractors for Payment Estimate Item" for all Payment Estimate Items:

"Installed Amount for Subcontractors for All Payment Estimate Items" = SUM across all Payment Estimate Items ("Installed Amount for Subcontractors for Payment Estimate Item") CURRENT_ITEM_PAID_GROSS_AMOUNT

minus [SUM (CURRENT_INSTALLED_AMOUNT where associated EXEMPT_FROM_RETAINAGE_IND is "Yes")]

plus [CURRENT_GROSS_ITEM_ADJUSTMENT_AMOUNT - SUM (ITEM_ADJUSTMENT_AMOUNT where ITEM_ADJUSTMENT_TYPE is "Construction Stockpile")]

minus "Installed Amount for Subcontractors for All Payment Estimate Items" (as calculated above)

plus CURRENT_GROSS_CONTRACT_ADJUSTMENT_AMOUNT =

CURRENT_NET_AMOUNT_FOR_RETAINAGE_CALCULATION.

8

Work in place

Retainage Calculation: Yes

Retainage for Contract or Project: Contract

Payment Estimate's Contract has a Project Fund where FUNDTYPE is set to Federal

Retainage Exempt for Subcontract Items: Yes

Retainage Exempt for Stockpiles: No

Contract Retainage Base: Current

For every Payment Estimate Item from every Payment Estimate where an associated DWR_POSTING_QTY has CONTRACTOR not equal to PRIMEVENDOR_ID, calculate the percentage of work completed by the subcontractors for the Payment Estimate Item:

"Percentage of work by Subcontractors for Payment Estimate Item across all Payment Estimates" = Divide [SUM (DWR_POSTING_QTY associated to PAYMENT ESTIMATE ITEM where CONTRACTOR does not equal PRIMEVENDOR_ID)] by (CURRENT_INSTALLED_QUANTITY + PREVIOUS_TOTAL_INSTALLED_QUANTITY)

Next, calculate the installed amount for the subcontractors for the Payment Estimate Item:

"Installed Amount for Subcontractors for Payment Estimate Item across all Payment Estimates" = Multiply "Percentage of work by Subcontractors for Payment Estimate Item across all Payment Estimates" by [(CURRENT_INSTALLED_QUANTITY + PREVIOUS_TOTAL_INSTALLED_QUANTITY) multiplied by the unit price of the item].

Then, sum the "Installed Amount for Subcontractors for Payment Estimate Item across all Payment Estimates" for all Payment Estimate Items:

"Installed Amount for Subcontractors for All Payment Estimate Items for All Payment Estimates" = SUM across all Payment Estimate Items ("Installed Amount for Subcontractors for Payment Estimate Item across all Payment Estimates") TOTAL_ITEM_PAID_GROSS_AMOUNT

minus [SUM (CURRENT_INSTALLED_AMOUNT where associated EXEMPT_FROM_RETAINAGE_IND is "Yes") for all payment estimates]

plus [TOTAL_GROSS_ITEM_ADJUSTMENT_AMOUNT - SUM for all payment estimates (ITEM_ADJUSTMENT_AMOUNT where ITEM_ADJUSTMENT_TYPE is "Construction Stockpile")]

minus "Installed Amount for Subcontractors for All Payment Estimate Items for All Payment Estimates" (as calculated above)

plus TOTAL_GROSS_CONTRACT_ADJUSTMENT_AMOUNT =

TOTAL _NET_AMOUNT_FOR_RETAINAGE_CALCULATION.

9

Work per period

Retainage Calculation: Yes

Retainage for Contract or Project: Contract

Retainage Exempt for Subcontract Items: No

Retainage Exempt for Stockpiles: No

Contract Retainage Base: Award

CURRENT_ITEM_PAID_GROSS_AMOUNT -

[SUM for current payment estimate (CURRENT_PAID_AMOUNT where associated EXEMPT_FROM_RETAINAGE_IND is "Yes")] -

[SUM for current payment estimate (CURRENT_PAID_AMOUNT where associated ITEMSOURCE is "Change Order" or "Modified Change Order")] +

CURRENT_GROSS_CONTRACT_ADJUSTMENT_AMOUNT +

CURRENT_GROSS_ITEM_ADJUSTMENT_AMOUNT =

CURRENT_NET_AMOUNT_FOR_RETAINAGE_CALCULATION.

10

Work in place

Retainage Calculation: Yes

Retainage for Contract or Project: Contract Retainage Exempt for Subcontract Items: No

Retainage Exempt for Stockpiles: No

Contract Retainage Base: Award

TOTAL_ITEM_PAID_GROSS_AMOUNT -

[SUM for all payment estimates (CURRENT_PAID_AMOUNT where associated EXEMPT_FROM_RETAINAGE_IND is "Yes")] -

[SUM for all payment estimates (CURRENT_PAID_AMOUNT where associated ITEMSOURCE is "Change Order" or "Modified Change Order")] +

TOTAL_GROSS_CONTRACT_ADJUSTMENT_AMOUNT +

TOTAL_GROSS_ITEM_ADJUSTMENT_AMOUNT =

TOTAL _NET_AMOUNT_FOR_RETAINAGE_CALCULATION

11

Work per period

Retainage Calculation: Yes

Retainage for Contract or Project: Contract

Retainage Exempt for Subcontract Items: No

Retainage Exempt for Stockpiles: Yes

Contract Retainage Base: Award

CURRENT_ITEM_PAID_GROSS_AMOUNT -

[SUM for current payment estimate (CURRENT_PAID_AMOUNT where associated EXEMPT_FROM_RETAINAGE_IND is "Yes")] -

[SUM for current payment estimate CURRENT_PAID_AMOUNT where associated ITEMSOURCE

is "Change Order" or "Modified Change Order")] +

CURRENT_GROSS_CONTRACT_ADJUSTMENT_AMOUNT +

[CURRENT_GROSS_ITEM_ADJUSTMENT_AMOUNT - SUM for current payment estimate (ITEM_ADJUSTMENT_AMOUNT where ITEM_ADJUSTMENT_TYPE is "Construction Stockpile")] =

CURRENT_NET_AMOUNT_FOR_RETAINAGE_CALCULATION

12

Work in place

Retainage Calculation: Yes

Retainage for Contract or Project: Contract

Retainage Exempt for Subcontract Items: No

Retainage Exempt for Stockpiles: Yes

Contract Retainage Base: Award

[TOTAL_ITEM_PAID_GROSS_AMOUNT -

[SUM for all payment estimates (CURRENT_PAID_AMOUNT where associated EXEMPT_FROM_RETAINAGE_IND is "Yes")] -

[SUM for all payment estimates (CURRENT_PAID_AMOUNT where associated ITEMSOURCE is "Change Order" or "Modified Change Order")] +

[TOTAL_GROSS_CONTRACT_ADJUSTMENT_AMOUNT - SUM for all payment estimates (ITEM_ADJUSTMENT_AMOUNT where ITEM_ADJUSTMENT_TYPE is "Construction Stockpile")] =

TOTAL_NET_AMOUNT_FOR_RETAINAGE_CALCULATION

13

Work per period

Retainage Calculation: Yes

Retainage for Contract or Project: Contract

Payment Estimate's Contract has a Project Fund where FUNDTYPE is set to Federal

Retainage Exempt for Subcontract Items: Yes

Retainage Exempt for Stockpiles: No

Contract Retainage Base: Award

Note: If no Federal Project Fund exists for the Contract, the system uses the calculations in Row 9.

For each Payment Estimate Item where associated ITEMSOURCE is equal to "Original" or "Modified Original" AND where an associated DWR_POSTING_QTY (for current payment estimate) has CONTRACTOR not equal to PRIMEVENDOR_ID, calculate the percentage of work completed by the subcontractors for the Payment Estimate Item:

"Percentage of work by Subcontractors for Payment Estimate Item" = Divide [SUM (DWR_POSTING_QTY associated to current PAYMENT ESTIMATE ITEM where CONTRACTOR does not equal PRIMEVENDOR_ID)] by CURRENT_INSTALLED_QUANTITY

Next, calculate the installed amount for the subcontractors for the Payment Estimate Item:

"Installed Amount for Subcontractors for Payment Estimate Item" = Multiply "Percentage of work by Subcontractors for Payment Estimate Item" by CURRENT_INSTALLED_AMOUNT Then, sum the "Installed Amount for Subcontractors for Payment Estimate Item" for all Payment Estimate Items:

"Installed Amount for Subcontractors for All Payment Estimate Items" = SUM across all Payment Estimate Items ("Installed Amount for Subcontractors for Payment Estimate Item") CURRENT_ITEM_PAID_GROSS_AMOUNT

minus [SUM for current payment estimate (CURRENT_INSTALLED_AMOUNT where associated EXEMPT_FROM_RETAINAGE_IND is "Yes")]

minus [SUM for current payment estimate (CURRENT_INSTALLED_AMOUNT where associated ITEMSOURCE is "Change Order" or "Modified Change Order")]

plus CURRENT_GROSS_ITEM_ADJUSTMENT_AMOUNT

minus "Installed Amount for Subcontractors for All Payment Estimate Items" (as calculated above)

plus CURRENT_GROSS_CONTRACT_ADJUSTMENT_AMOUNT =

CURRENT_NET_AMOUNT_FOR_RETAINAGE_CALCULATION

14

Work in place

Retainage Calculation: Yes

Retainage for Contract or Project: Contract

Payment Estimate's Contract has a Project Fund where FUNDTYPE is set to Federal

Retainage Exempt for Subcontract Items: Yes

Retainage Exempt for Stockpiles: No

Contract Retainage Base: Award

Note: If no Federal Project Fund exists for the Contract, the system uses the calculations in Row 10.

For each Payment Estimate Item where associated ITEMSOURCE is equal to "Original" or "Modified Original" AND where an associated DWR_POSTING_QTY has CONTRACTOR not equal to PRIMEVENDOR_ID, calculate the percentage of work completed by the subcontractors for the Payment Estimate Item:

"Percentage of work by Subcontractors for Payment Estimate Item across all Payment Estimates" = Divide [SUM (DWR_POSTING_QTY associated to PAYMENT ESTIMATE ITEM where CONTRACTOR does not equal PRIMEVENDOR_ID)] by (CURRENT_INSTALLED_QUANTITY + PREVIOUS_TOTAL_INSTALLED_QUANTITY)

Next, calculate the installed amount for the subcontractors for the Payment Estimate Item:

"Installed Amount for Subcontractors for Payment Estimate Item across all Payment Estimates" = Multiply "Percentage of work by Subcontractors for Payment Estimate Item across all Payment Estimates" by [(CURRENT_INSTALLED_QUANTITY + PREVIOUS_TOTAL_INSTALLED_QUANTITY) multiplied by the unit price of the item].

Then, sum the "Installed Amount for Subcontractors for Payment Estimate Item across all Payment Estimates" for all Payment Estimate Items:

"Installed Amount for Subcontractors for All Payment Estimate Items for All Payment Estimates" = SUM across all Payment Estimate Items ("Installed Amount for Subcontractors for Payment Estimate Item across all Payment Estimates") TOTAL_ITEM_PAID_GROSS_AMOUNT

minus [SUM for all payment estimates (CURRENT_INSTALLED_AMOUNT where associated EXEMPT_FROM_RETAINAGE_IND is "Yes")]

minus [SUM for all payment estimates (CURRENT_INSTALLED_AMOUNT where associated ITEMSOURCE is "Change Order" or "Modified Change Order")]

plus TOTAL_GROSS_ITEM_ADJUSTMENT_AMOUNT

minus "Installed Amount for Subcontractors for All Payment Estimate Items for All Payment Estimates"

plus TOTAL_GROSS_CONTRACT_ADJUSTMENT_AMOUNT =

TOTAL_NET_AMOUNT_FOR_RETAINAGE_CALCULATION

15

Work per period

Retainage Calculation: Yes

Retainage for Contract or Project: Contract

Payment Estimate's Contract has a Project Fund where FUNDTYPE is set to Federal

Retainage Exempt for Subcontract Items: Yes

Retainage Exempt for Stockpiles: Yes

Contract Retainage Base: Award

Note: If no Federal Project Fund exists for the Contract, the system uses the calculations in Row 11.

For each Payment Estimate Item where associated ITEMSOURCE is equal to "Original" or "Modified Original" AND where an associated DWR_POSTING_QTY (for current payment estimate) has CONTRACTOR not equal to PRIMEVENDOR_ID, calculate the percentage of work completed by the subcontractors for the Payment Estimate Item:

"Percentage of work by Subcontractors for Payment Estimate Item" = Divide [SUM (DWR_POSTING_QTY associated to current PAYMENT ESTIMATE ITEM where CONTRACTOR does not equal PRIMEVENDOR_ID)] by CURRENT_INSTALLED_QUANTITY

Next, calculate the installed amount for the subcontractors for the Payment Estimate Item:

"Installed Amount for Subcontractors for Payment Estimate Item" = Multiply "Percentage of work by Subcontractors for Payment Estimate Item" by CURRENT_INSTALLED_AMOUNT

Then, sum the "Installed Amount for Subcontractors for Payment Estimate Item" for all Payment Estimate Items:

"Installed Amount for Subcontractors for All Payment Estimate Items" = SUM across all Payment Estimate Items ("Installed Amount for Subcontractors for Payment Estimate Item") CURRENT_ITEM_PAID_GROSS_AMOUNT

minus [SUM for current payment estimate (CURRENT_INSTALLED_AMOUNT where associated EXEMPT_FROM_RETAINAGE_IND is "Yes")]

minus [SUM for current payment estimate (CURRENT_INSTALLED_AMOUNT where associated ITEMSOURCE is "Change Order" or "Modified Change Order")]

plus [CURRENT_GROSS_ITEM_ADJUSTMENT_AMOUNT - SUM (ITEM_ADJUSTMENT_AMOUNT where ITEM_ADJUSTMENT_TYPE is "Construction Stockpile")]

minus "Installed Amount for Subcontractors for All Payment Estimate Items" (as calculated above)

plus CURRENT_GROSS_CONTRACT_ADJUSTMENT_AMOUNT =

CURRENT_NET_AMOUNT_FOR_RETAINAGE_CALCULATION.

16

Work in place

Retainage Calculation: Yes

Retainage for Contract or Project: Contract

Payment Estimate's Contract has a Project Fund where FUNDTYPE is set to Federal

Retainage Exempt for Subcontract Items: Yes

Retainage Exempt for Stockpiles: Yes

Contract Retainage Base: Award

Note: If no Federal Project Fund exists for the Contract, the system uses the calculations in Row 12.

For each Payment Estimate Item where associated ITEMSOURCE is equal to "Original" or "Modified Original" AND where an associated DWR_POSTING_QTY has CONTRACTOR not equal to PRIMEVENDOR_ID, calculate the percentage of work completed by the subcontractors for the Payment Estimate Item:

"Percentage of work by Subcontractors for Payment Estimate Item across all Payment Estimates" = Divide [SUM (DWR_POSTING_QTY associated to PAYMENT ESTIMATE ITEM where CONTRACTOR does not equal PRIMEVENDOR_ID)] by (CURRENT_INSTALLED_QUANTITY + PREVIOUS_TOTAL_INSTALLED_QUANTITY)

Next, calculate the installed amount for the subcontractors for the Payment Estimate Item:

"Installed Amount for Subcontractors for Payment Estimate Item across all Payment Estimates" = Multiply "Percentage of work by Subcontractors for Payment Estimate Item across all Payment Estimates" by [(CURRENT_INSTALLED_QUANTITY + PREVIOUS_TOTAL_INSTALLED_QUANTITY) multiplied by the unit price of the item].

Then, sum the "Installed Amount for Subcontractors for Payment Estimate Item across all Payment Estimates" for all Payment Estimate Items:

"Installed Amount for Subcontractors for All Payment Estimate Items for All Payment Estimates" = SUM across all Payment Estimate Items ("Installed Amount for Subcontractors for Payment Estimate Item across all Payment Estimates") TOTAL_ITEM_PAID_GROSS_AMOUNT

minus [SUM for all payment estimates (CURRENT_INSTALLED_AMOUNT where associated EXEMPT_FROM_RETAINAGE_IND is "Yes")]

minus [SUM for all payment estimates (CURRENT_INSTALLED_AMOUNT where associated ITEMSOURCE is "Change Order" or "Modified Change Order")]

plus [TOTAL_GROSS_ITEM_ADJUSTMENT_AMOUNT - SUM for all payment estimates (ITEM_ADJUSTMENT_AMOUNT where ITEM_ADJUSTMENT_TYPE is "Construction Stockpile")]

minus "Installed Amount for Subcontractors for All Payment Estimate Items for All Payment Estimates"

plus TOTAL_GROSS_CONTRACT_ADJUSTMENT_AMOUNT =

TOTAL _NET_AMOUNT_FOR_RETAINAGE_CALCULATION

17

Work per period

Retainage Calculation: Yes

Retainage for Contract or Project: Project

Retainage Exempt for Subcontract Items: No

Retainage Exempt for Stockpiles: No

Contract Retainage Base: Current

CURRENT_ITEM_PAID_GROSS_AMOUNT -

[SUM for current payment estimate project (CURRENT_PAID_AMOUNT where associated EXEMPT_FROM_RETAINAGE_IND is "Yes")] +

CURRENT_GROSS_ESTIMATE_CONTRACT_ ADJUSTMENT_PROJECT_DISTRIBUTION_AMOUNT +

CURRENT_GROSS_ITEM_ADJUSTMENT_AMOUNT =

CURRENT_NET_AMOUNT_FOR_RETAINAGE_CALCULATION

18

Work in place

Retainage Calculation: Yes

Retainage for Contract or Project: Project

Retainage Exempt for Subcontract Items: No

Retainage Exempt for Stockpiles: No

Contract Retainage Base: Current

TOTAL_ITEM_PAID_GROSS_AMOUNT -

[SUM for all payment estimate projects (CURRENT_PAID_AMOUNT where associated EXEMPT_FROM_RETAINAGE_IND is "Yes")] +

TOTAL_GROSS_ESTIMATE_CONTRACT_ ADJUSTMENT_PROJECT_DISTRIBUTION_AMOUNT +

TOTAL_GROSS_ITEM_ADJUSTMENT_AMOUNT =

TOTAL_NET_AMOUNT_FOR_RETAINAGE_CALCULATION

19

Work per period

Retainage Calculation: Yes

Retainage for Contract or Project: Project

Retainage Exempt for Subcontract Items: No

Retainage Exempt for Stockpiles: Yes

Contract Retainage Base: Current

CURRENT_ITEM_PAID_GROSS_AMOUNT -

[SUM for current payment estimate project (CURRENT_PAID_AMOUNT where associated EXEMPT_FROM_RETAINAGE_IND

is "Yes")] +

CURRENT_GROSS_ESTIMATE_CONTRACT_ ADJUSTMENT_PROJECT_DISTRIBUTION_AMOUNT +

[CURRENT_GROSS_ITEM_ADJUSTMENT_AMOUNT -

[SUM for current payment estimate project (ITEM_ADJUSTMENT_AMOUNT where ITEM_ADJUSTMENT_TYPE is "Construction Stockpile")] =

CURRENT_NET_AMOUNT_FOR_RETAINAGE_CALCULATION

20

Work in place

Retainage Calculation: Yes

Retainage for Contract or Project: Project

Retainage Exempt for Subcontract Items: No

Retainage Exempt for Stockpiles: Yes

Contract Retainage Base: Current

TOTAL_ITEM_PAID_GROSS_AMOUNT -

[SUM for all payment estimate projects (CURRENT_PAID_AMOUNT where associated EXEMPT_FROM_RETAINAGE_IND

is "Yes")] +

TOTAL_GROSS_ESTIMATE_CONTRACT_ ADJUSTMENT_PROJECT_DISTRIBUTION_AMOUNT +

[TOTAL_GROSS_ITEM_ADJUSTMENT_AMOUNT -

SUM for all payment estimate projects (ITEM_ADJUSTMENT_AMOUNT where ITEM_ADJUSTMENT_TYPE is "Construction Stockpile")] =

TOTAL_NET_AMOUNT_FOR_RETAINAGE_CALCULATION

21

Work per period

Retainage Calculation: Yes

Retainage for Contract or Project: Project

Payment Estimate's Contract has a Project Fund where FUNDTYPE is set to Federal

Retainage Exempt for Subcontract Items: Yes

Retainage Exempt for Stockpiles: No

Contract Retainage Base: Current

Note: If no Federal Project Fund exists for the Contract, the system uses the calculations in Row 17.

For each Payment Estimate Item for Payment Estimate Project where an associated DWR_POSTING_QTY (for current payment estimate project) has CONTRACTOR not equal to PRIMEVENDOR_ID, calculate the percentage of work completed by the subcontractors for the Payment Estimate Item:

"Percentage of work by Subcontractors for Payment Estimate Item" = Divide [SUM (DWR_POSTING_QTY associated to current PAYMENT ESTIMATE ITEM where CONTRACTOR does not equal PRIMEVENDOR_ID)] by CURRENT_INSTALLED_QUANTITY

Next, calculate the installed amount for the subcontractors for the Payment Estimate

Item:

"Installed Amount for Subcontractors for Payment Estimate Item" = Multiply "Percentage

of work by Subcontractors for Payment Estimate Item" by CURRENT_INSTALLED_AMOUNT

Then, sum the "Installed Amount for Subcontractors for Payment Estimate Item" for all Payment Estimate Items:

"Installed Amount for Subcontractors for All Payment Estimate Items" = SUM across all Payment Estimate Items ("Installed Amount for Subcontractors for Payment Estimate Item")

CURRENT_ITEM_PAID_GROSS_AMOUNT minus

[SUM for current payment estimate project (CURRENT_INSTALLED_AMOUNT where associated EXEMPT_FROM_RETAINAGE_IND is "Yes")] plus

CURRENT_GROSS_ESTIMATE_CONTRACT_ ADJUSTMENT_PROJECT_DISTRIBUTION_AMOUNT minus

"Installed Amount for Subcontractors for All Payment Estimate Items" (as calculated above)

plus CURRENT_GROSS_CONTRACT_ADJUSTMENT_AMOUNT =

CURRENT_NET_AMOUNT_FOR_RETAINAGE_CALCULATION.

22

Work in place

Retainage Calculation: Yes

Retainage for Contract or Project: Project

Payment Estimate's Contract has a Project Fund where FUNDTYPE is set to Federal

Retainage Exempt for Subcontract Items: Yes

Retainage Exempt for Stockpiles: No

Contract Retainage Base: Current

Note: If no Federal Project Fund exists for the Contract, the system uses the calculations in Row 18.

For every Payment Estimate Item that has been included on a Payment Estimate Project for the current Payment Estimate Project's Contract Project where an associated DWR_POSTING_QTY has CONTRACTOR not equal to PRIMEVENDOR_ID, calculate the percentage of work completed by the subcontractors for the Payment Estimate Item:

"Percentage of work by Subcontractors for Payment Estimate Item across all Payment Estimate Projects" = Divide [SUM (DWR_POSTING_QTY associated to PAYMENT ESTIMATE ITEM where CONTRACTOR does not equal PRIMEVENDOR_ID)] by (CURRENT_INSTALLED_QUANTITY + PREVIOUS_TOTAL_INSTALLED_QUANTITY)

Next, calculate the installed amount for the subcontractors for the Payment Estimate Item:

"Installed Amount for Subcontractors for Payment Estimate Item across all Payment Estimate Projects" = Multiply "Percentage of work by Subcontractors for Payment Estimate Item across all Payment Estimate Projects" by [(CURRENT_INSTALLED_QUANTITY + PREVIOUS_TOTAL_INSTALLED_QUANTITY) multiplied by the unit price of the item.

Then, sum the "Installed Amount for Subcontractors for Payment Estimate Item across all Payment Estimate Projects" for all Payment Estimate Items:

"Installed Amount for Subcontractors for All Payment Estimate Items for All Payment Estimate Projects" = SUM across all Payment Estimate Items ("Installed Amount for Subcontractors for Payment Estimate Item across all Payment Estimate Projects")

TOTAL_ITEM_PAID_GROSS_AMOUNT

minus [SUM for all payment estimate projects (CURRENT_INSTALLED_AMOUNT where associated EXEMPT_FROM_RETAINAGE_IND is "Yes")]

plus TOTAL_GROSS_ITEM_ADJUSTMENT_AMOUNT

minus "Installed Amount for Subcontractors for All Payment Estimate Items for All Payment Estimate Projects" (as calculated above)

plus TOTAL_GROSS_ESTIMATE_ CONTRACT_ADJUSTMENT_PROJECT_DISTRIBUTION_AMOUNT =

TOTAL_NET_AMOUNT_FOR_RETAINAGE_CALCULATION

23

Work per period

Retainage Calculation: Yes

Retainage for Contract or Project: Project

Payment Estimate's Contract has a Project Fund where FUNDTYPE is set to Federal

Retainage Exempt for Subcontract Items: Yes

Retainage Exempt for Stockpiles: Yes

Contract Retainage Base: Current

Note: If no Federal Project Fund exists for the Contract, the system uses the calculations in Row 19.

For each Payment Estimate Item for Payment Estimate Project where an associated DWR_POSTING_QTY (for current payment estimate project) has CONTRACTOR not equal to PRIMEVENDOR_ID, calculate the percentage of work completed by the subcontractors for the Payment Estimate Item:

"Percentage of work by Subcontractors for Payment Estimate Item" = Divide [SUM (DWR_POSTING_QTY associated to current PAYMENT ESTIMATE ITEM where CONTRACTOR does not equal PRIMEVENDOR_ID)] by CURRENT_INSTALLED_QUANTITY

Next, calculate the installed amount for the subcontractors for the Payment Estimate Item:

"Installed Amount for Subcontractors for Payment Estimate Item" = Multiply "Percentage of work by Subcontractors for Payment Estimate Item" by CURRENT_INSTALLED_AMOUNT

Then, sum the "Installed Amount for Subcontractors for Payment Estimate Item" for all Payment Estimate Items:

"Installed Amount for Subcontractors for All Payment Estimate Items" = SUM across all Payment Estimate Items ("Installed Amount for Subcontractors for Payment Estimate Item")

CURRENT_ITEM_PAID_GROSS_AMOUNT

minus [SUM for current payment estimate project (CURRENT_INSTALLED_AMOUNT where associated

EXEMPT_FROM_RETAINAGE_IND is "Yes")]

plus [CURRENT_GROSS_ITEM_ADJUSTMENT_AMOUNT minus SUM for current payment estimate project

(ITEM_ADJUSTMENT_AMOUNT where ITEM_ADJUSTMENT_TYPE is "Construction Stockpile")]

minus "Installed Amount for Subcontractors for All Payment Estimate Items" (as calculated above)

plus CURRENT_GROSS_ESTIMATE_CONTRACT_ ADJUSTMENT_PROJECT_DISTRIBUTION_AMOUNT =

CURRENT_NET_AMOUNT_FOR_RETAINAGE_CALCULATION

24

Work in place

Retainage Calculation: Yes

Retainage for Contract or Project: Project

Payment Estimate's Contract has a Project Fund where FUNDTYPE is set to Federal

Retainage Exempt for Subcontract Items: Yes

Retainage Exempt for Stockpiles: Yes

Contract Retainage Base: Current

Note: If no Federal Project Fund exists for the Contract, the system uses the calculations in Row 20.

For every Payment Estimate Item that has been included on a Payment Estimate Project for the current Payment Estimate Project's Contract Project where an associated DWR_POSTING_QTY has CONTRACTOR not equal to PRIMEVENDOR_ID, calculate the percentage of work completed by the subcontractors for the Payment Estimate Item:

"Percentage of work by Subcontractors for Payment Estimate Item across all Payment Estimate Projects" = Divide [SUM (DWR_POSTING_QTY associated to PAYMENT ESTIMATE ITEM where CONTRACTOR does not equal PRIMEVENDOR_ID)] by (CURRENT_INSTALLED_QUANTITY + PREVIOUS_TOTAL_INSTALLED_QUANTITY)

Next, calculate the installed amount for the subcontractors for the Payment Estimate Item:

"Installed Amount for Subcontractors for Payment Estimate Item across all Payment Estimate Projects" = Multiply "Percentage of work by Subcontractors for Payment Estimate Item across all Payment Estimate Projects" by [(CURRENT_INSTALLED_QUANTITY + REVIOUS_TOTAL_INSTALLED_QUANTITY) multiplied by the unit price of the item.

Then, sum the "Installed Amount for Subcontractors for Payment Estimate Item across all Payment Estimate Projects" for all Payment Estimate Items:

"Installed Amount for Subcontractors for All Payment Estimate Items for All Payment Estimate Projects" = SUM across all Payment Estimate Items ("Installed Amount for Subcontractors for Payment Estimate Item across all Payment Estimate Projects")

TOTAL_ITEM_PAID_GROSS_AMOUNT

minus [SUM for all payment estimate projects (CURRENT_INSTALLED_AMOUNT where associated EXEMPT_FROM_RETAINAGE_IND is "Yes")]

plus [TOTAL_GROSS_ITEM_ADJUSTMENT_AMOUNT minus SUM for all payment estimate projects (ITEM_ADJUSTMENT_AMOUNT where ITEM_ADJUSTMENT_TYPE is "Construction Stockpile")]

minus "Installed Amount for Subcontractors for All Payment Estimate Items for All Payment Estimate Projects" (as calculated above)

plus TOTAL_GROSS_ESTIMATE_CONTRACT_ ADJUSTMENT_PROJECT_DISTRIBUTION_AMOUNT =

TOTAL_NET_AMOUNT_FOR_RETAINAGE_CALCULATION

25

Work per period

Retainage Calculation: Yes

Retainage for Contract or Project: Project

Retainage Exempt for Subcontract Items: No

Retainage Exempt for Stockpiles: No

Contract Retainage Base: Award

CURRENT_ITEM_PAID_GROSS_AMOUNT -

[SUM for current payment estimate project (CURRENT_PAID_AMOUNT where associated EXEMPT_FROM_RETAINAGE_IND is "Yes")] -

[SUM for current payment estimate project (CURRENT_PAID_AMOUNT where associated ITEMSOURCE is "Change Order" or "Modified Change Order")] +

CURRENT_GROSS_ESTIMATE_CONTRACT_ ADJUSTMENT_PROJECT_DISTRIBUTION_AMOUNT +

CURRENT_GROSS_ITEM_ADJUSTMENT_AMOUNT =

CURRENT_NET_AMOUNT_FOR_RETAINAGE_CALCULATION

26

Work in place

Retainage Calculation: Yes

Retainage for Contract or Project: Project

Retainage Exempt for Subcontract Items: No

Retainage Exempt for Stockpiles: No

Contract Retainage Base: Award

TOTAL_ITEM_PAID_GROSS_AMOUNT -

[SUM for all payment estimate projects (CURRENT_PAID_AMOUNT where associated EXEMPT_FROM_RETAINAGE_IND is "Yes")] -

[SUM for all payment estimate projects (CURRENT_PAID_AMOUNT where associated ITEMSOURCE is "Change Order" or "Modified Change Order")] +

TOTAL_GROSS_ESTIMATE_CONTRACT_ ADJUSTMENT_PROJECT_DISTRIBUTION_AMOUNT +

TOTAL_GROSS_ITEM_ADJUSTMENT_AMOUNT =

TOTAL _NET_AMOUNT_FOR_RETAINAGE_CALCULATION

27

Work per period

Retainage Calculation: Yes

Retainage for Contract or Project: Project

Retainage Exempt for Subcontract Items: No

Retainage Exempt for Stockpiles: Yes

Contract Retainage Base: Award

CURRENT_ITEM_PAID_GROSS_AMOUNT -

[SUM for current payment estimate project (CURRENT_PAID_AMOUNT where associated EXEMPT_FROM_RETAINAGE_IND is "Yes")] -

[SUM for current payment estimate project (CURRENT_PAID_AMOUNT where associated ITEMSOURCE is "Change Order" or "Modified Change Order")] +

CURRENT_GROSS_ESTIMATE_CONTRACT_ ADJUSTMENT_PROJECT_DISTRIBUTION_AMOUNT +

[CURRENT_GROSS_ITEM_ADJUSTMENT_AMOUNT -

[SUM for current payment estimate project (ITEM_ADJUSTMENT_AMOUNT where ITEM_ADJUSTMENT_TYPE is "Construction Stockpile")] =

CURRENT_NET_AMOUNT_FOR_RETAINAGE_CALCULATION

28

Work in place

Retainage Calculation: Yes

Retainage for Contract or Project: Project

Retainage Exempt for Subcontract Items: No

Retainage Exempt for Stockpiles: Yes

Contract Retainage Base: Award

TOTAL_ITEM_PAID_GROSS_AMOUNT -

[SUM for all payment estimate projects (CURRENT_PAID_AMOUNT where associated EXEMPT_FROM_RETAINAGE_IND is "Yes")] -

[SUM for all payment estimate projects (CURRENT_PAID_AMOUNT where associated ITEMSOURCE is "Change Order" or "Modified Change Order")] +

TOTAL_GROSS_ESTIMATE_CONTRACT_ ADJUSTMENT_PROJECT_DISTRIBUTION_AMOUNT +

[TOTAL_GROSS_ITEM_ADJUSTMENT_AMOUNT -

[SUM (ITEM_ADJUSTMENT_AMOUNT where ITEM_ADJUSTMENT_TYPE is "Construction Stockpile") for all payment estimates]] =

TOTAL_NET_AMOUNT_FOR_RETAINAGE_CALCULATION

29

Work per period

Retainage Calculation: Yes

Retainage for Contract or Project: Project

Payment Estimate's Contract has a Project Fund where FUNDTYPE is set to Federal

Retainage Exempt for Subcontract Items: Yes

Retainage Exempt for Stockpiles: No

Contract Retainage Base: Award

Note: If no Federal Project Fund exists for the Contract, the system uses the calculations in Row 25.

For each Payment Estimate Item for Payment Estimate Project where associated ITEMSOURCE is equal to "Original" or "Modified Original" AND where an associated DWR_POSTING_QTY (for current payment estimate project) has CONTRACTOR not equal to PRIMEVENDOR_ID, calculate the percentage of work completed by the subcontractors for the Payment Estimate Item:

"Percentage of work by Subcontractors for Payment Estimate Item" = Divide [SUM (DWR_POSTING_QTY associated to current PAYMENT ESTIMATE ITEM where CONTRACTOR does not equal PRIMEVENDOR_ID)] by CURRENT_INSTALLED_QUANTITY

Next, calculate the installed amount for the subcontractors for the Payment Estimate Item:

"Installed Amount for Subcontractors for Payment Estimate Item" = Multiply "Percentage of work by Subcontractors for Payment Estimate Item" by CURRENT_INSTALLED_AMOUNT

Then, sum the "Installed Amount for Subcontractors for Payment Estimate Item" for all Payment Estimate Items:

"Installed Amount for Subcontractors for All Payment Estimate Items" = SUM across all Payment Estimate Items ("Installed Amount for Subcontractors for Payment Estimate Item")

CURRENT_ITEM_PAID_GROSS_AMOUNT

minus [SUM for current payment estimate project (CURRENT_INSTALLED_AMOUNT where associated EXEMPT_FROM_RETAINAGE_IND is "Yes")]

minus [SUM for current payment estimate project (CURRENT_INSTALLED_AMOUNT where associated ITEMSOURCE is "Change Order" or "Modified Change Order")]

plus CURRENT_GROSS_ITEM_ADJUSTMENT_AMOUNT

minus "Installed Amount for Subcontractors for All Payment Estimate Items" (as calculated above)

plus CURRENT_GROSS_ESTIMATE_CONTRACT_ ADJUSTMENT_PROJECT_DISTRIBUTION_AMOUNT =

CURRENT_NET_AMOUNT_FOR_RETAINAGE_CALCULATION.

30

Work in place

Retainage Calculation: Yes

Retainage for Contract or Project: Project

Payment Estimate's Contract has a Project Fund where FUNDTYPE is set to Federal

Retainage Exempt for Subcontract Items: Yes

Retainage Exempt for Stockpiles: No

Contract Retainage Base: Award

Note: If no Federal Project Fund exists for the Contract, the system uses the calculations in Row 26.

For every Payment Estimate Item that has been included on a Payment Estimate Project for the current Payment Estimate Project's Contract Project where associated ITEMSOURCE is equal to "Original" or "Modified Original" AND where an associated DWR_POSTING_QTY has CONTRACTOR not equal to PRIMEVENDOR_ID, calculate the percentage of work completed by the subcontractors for the Payment Estimate Item:

"Percentage of work by Subcontractors for Payment Estimate Item across all Payment Estimate Projects" = Divide [SUM (DWR_POSTING_QTY associated to PAYMENT ESTIMATE ITEM where CONTRACTOR does not equal PRIMEVENDOR_ID)] by (CURRENT_INSTALLED_QUANTITY + REVIOUS_TOTAL_INSTALLED_QUANTITY)

Next, calculate the installed amount for the subcontractors for the Payment Estimate Item:

"Installed Amount for Subcontractors for Payment Estimate Item across all Payment Estimate Projects" = Multiply "Percentage of work by Subcontractors for Payment Estimate Item across all Payment Estimate Projects" by [(CURRENT_INSTALLED_QUANTITY + REVIOUS_TOTAL_INSTALLED_QUANTITY) multiplied by the unit price of the item].

Then, sum the "Installed Amount for Subcontractors for Payment Estimate Item across all Payment Estimate Projects" for all Payment Estimate Items:

"Installed Amount for Subcontractors for All Payment Estimate Items for All Payment Estimate Projects" = SUM across all Payment Estimate Items ("Installed Amount for Subcontractors for Payment Estimate Item across all Payment Estimate Projects")

TOTAL_ITEM_PAID_GROSS_AMOUNT

minus [SUM for all payment estimate projects (CURRENT_INSTALLED_AMOUNT where associated

EXEMPT_FROM_RETAINAGE_IND is "Yes")]

minus [SUM for all payment estimate projects (CURRENT_INSTALLED_AMOUNT where associated

ITEMSOURCE is "Change Order" or "Modified Change Order")]

plus TOTAL_GROSS_ITEM_ADJUSTMENT_AMOUNT

minus "Installed Amount for Subcontractors for All Payment Estimate Items for All Payment Estimate Projects"

plus TOTAL_GROSS_ESTIMATE_CONTRACT_ ADJUSTMENT_PROJECT_DISTRIBUTION_AMOUNT =

TOTAL_NET_AMOUNT_FOR_RETAINAGE_CALCULATION

31

Work per period

Retainage Calculation: Yes

Retainage for Contract or Project: Project

Payment Estimate's Contract has a Project Fund where FUNDTYPE is set to Federal

Retainage Exempt for Subcontract Items: Yes

Retainage Exempt for Stockpiles: Yes

Contract Retainage Base: Award

Note: If no Federal Project Fund exists for the Contract, the system uses the calculations in Row 27.

For each Payment Estimate Item for Payment Estimate Project where associated ITEMSOURCE is equal to "Original" or "Modified Original" AND where an associated DWR_POSTING_QTY (for current payment estimate project) has CONTRACTOR not equal to PRIMEVENDOR_ID, calculate the percentage of work completed by the subcontractors for the Payment Estimate Item:

"Percentage of work by Subcontractors for Payment Estimate Item" = Divide [SUM (DWR_POSTING_QTY associated to current PAYMENT ESTIMATE ITEM where CONTRACTOR does not equal PRIMEVENDOR_ID)] by CURRENT_INSTALLED_QUANTITY

Next, calculate the installed amount for the subcontractors for the Payment Estimate Item:

"Installed Amount for Subcontractors for Payment Estimate Item" = Multiply "Percentage of work by Subcontractors for Payment Estimate Item" by CURRENT_INSTALLED_AMOUNT

Then, sum the "Installed Amount for Subcontractors for Payment Estimate Item" for all Payment Estimate Items:

"Installed Amount for Subcontractors for All Payment Estimate Items" = SUM across all Payment Estimate Items ("Installed Amount for Subcontractors for Payment Estimate Item")

CURRENT_ITEM_PAID_GROSS_AMOUNT

minus [SUM for current payment estimate project (CURRENT_INSTALLED_AMOUNT where associated EXEMPT_FROM_RETAINAGE_IND is "Yes")]

minus [SUM for current payment estimate project (CURRENT_INSTALLED_AMOUNT where associated ITEMSOURCE is "Change Order" or "Modified Change Order")]

plus [CURRENT_GROSS_ITEM_ADJUSTMENT_AMOUNT - SUM (ITEM_ADJUSTMENT_AMOUNT where ITEM_ADJUSTMENT_TYPE is "Construction Stockpile")]

minus "Installed Amount for Subcontractors for All Payment Estimate Items" (as calculated above)

plus CURRENT_GROSS_ESTIMATE_CONTRACT_ ADJUSTMENT_PROJECT_DISTRIBUTION_AMOUNT =

CURRENT_NET_AMOUNT_FOR_RETAINAGE_CALCULATION

32

Work in place

Retainage Calculation: Yes

Retainage for Contract or Project: Project

Payment Estimate's Contract has a Project Fund where FUNDTYPE is set to Federal

Retainage Exempt for Subcontract Items: Yes

Retainage Exempt for Stockpiles: Yes

Contract Retainage Base: Award

Note: If no Federal Project Fund exists for the Contract, the system uses the calculations in Row 28.

For every Payment Estimate Item that has been included on a Payment Estimate Project for the current Payment Estimate Project's Contract Project where associated ITEMSOURCE is equal to "Original" or "Modified Original" AND where an associated DWR_POSTING_QTY has CONTRACTOR not equal to PRIMEVENDOR_ID, calculate the percentage of work completed by the subcontractors for the Payment Estimate Item:

"Percentage of work by Subcontractors for Payment Estimate Item across all Payment Estimate Projects" = Divide [SUM (DWR_POSTING_QTY associated to PAYMENT ESTIMATE ITEM where CONTRACTOR does not equal PRIMEVENDOR_ID)] by (CURRENT_INSTALLED_QUANTITY + REVIOUS_TOTAL_INSTALLED_QUANTITY)

Next, calculate the installed amount for the subcontractors for the Payment Estimate Item:

"Installed Amount for Subcontractors for Payment Estimate Item across all Payment Estimate Projects" = Multiply "Percentage of work by Subcontractors for Payment Estimate Item across all Payment Estimate Projects" by [(CURRENT_INSTALLED_QUANTITY + REVIOUS_TOTAL_INSTALLED_QUANTITY) multiplied by the unit price of the item].

Then, sum the "Installed Amount for Subcontractors for Payment Estimate Item across all Payment Estimate Projects" for all Payment Estimate Items:

"Installed Amount for Subcontractors for All Payment Estimate Items for All Payment Estimate Projects" = SUM across all Payment Estimate Items ("Installed Amount for Subcontractors for Payment Estimate Item across all Payment Estimate Projects")

TOTAL_ITEM_PAID_GROSS_AMOUNT

minus [SUM for all payment estimate projects (CURRENT_INSTALLED_AMOUNT where associated EXEMPT_FROM_RETAINAGE_IND is "Yes")]

minus [SUM for all payment estimate projects (CURRENT_INSTALLED_AMOUNT where associated ITEMSOURCE is "Change Order" or "Modified Change Order")]

plus [TOTAL_GROSS_ITEM_ADJUSTMENT_AMOUNT - SUM for all payment estimate projects (ITEM_ADJUSTMENT_AMOUNT where ITEM_ADJUSTMENT_TYPE is "Construction Stockpile")]

minus "Installed Amount for Subcontractors for All Payment Estimate Items for All Payment Estimate Projects"

plus TOTAL_GROSS_ESTIMATE_CONTRACT_ ADJUSTMENT_PROJECT_DISTRIBUTION_AMOUNT=

TOTAL_NET_AMOUNT_FOR_RETAINAGE_CALCULATION

Retainage Trigger Amount

The calculations used by the system to determine when the amount required to trigger the system to calculate retainage has been reached depend on the retainage trigger base setting, the retainage method, and the settings for a number of other agency options. The following table provides detailed calculations for each potential configuration of these factors.

Row

Retainage Method

Agency Option Settings

Calculations

33

Work per period

Retainage Calculation: Yes

Retainage for Contract or Project: Contract

Contract Retainage Trigger Base: Current

'Trigger Amount' = RETAINAGE_TRIGGER_PERCENTAGE multiplied by CURRENTCONTRACTAMOUNT

If TOTAL_NET_AMOUNT_FOR_RETAINAGE_CALCULATION is greater than or equal to 'Trigger Amount', then system will calculate retainage for the Contract. Otherwise, no further retainage logic is performed by the system.

34

Work in place

Retainage Calculation: Yes

Retainage for Contract or Project: Contract

Contract Retainage Trigger Base: Current

If TOTAL _NET_AMOUNT_FOR_RETAINAGE_CALCULATION is greater than or equal to 'Trigger Amount,' then system will calculate retainage for the Contract. Otherwise, no further retainage logic is performed by the system.

35

Work per period

Retainage Calculation: Yes

Retainage for Contract or Project: Contract

Contract Retainage Trigger Base: Award

If TOTAL_NET_AMOUNT_FOR_RETAINAGE_CALCULATION is greater than or equal to 'Trigger Amount', then system will calculate retainage for the Contract. Otherwise, no further retainage logic is performed by the system.

36

Work in place

Retainage Calculation: Yes

Retainage for Contract or Project: Contract

Contract Retainage Trigger Base: Award

If TOTAL _NET_AMOUNT_FOR_RETAINAGE_CALCULATION is greater than or equal to 'Trigger Amount,' then system will calculate retainage for the Contract. Otherwise, no further retainage logic is performed by the system.

37

Work per period

Retainage Calculation: Yes

Retainage for Contract or Project: Project

Contract Retainage Trigger Base: Current

'Trigger Amount' = RETAINAGE_TRIGGER_PERCENTAGE multiplied by CURRENTPROJECTAMOUNT

If TOTAL_NET_AMOUNT_FOR_RETAINAGE_CALCULATION is greater than or equal to 'Trigger Amount', then system will calculate retainage for the Contract Project. Otherwise, no further retainage logic is performed by the system.

38

Work in place

Retainage Calculation: Yes

Retainage for Contract or Project: Project

Contract Retainage Trigger Base: Current

'Trigger Amount' = RETAINAGE_TRIGGER_PERCENTAGE multiplied by CURRENTPROJECTAMOUNT

If TOTAL _NET_AMOUNT_FOR_RETAINAGE_CALCULATION is greater than or equal to 'Trigger Amount', then system will calculate retainage for the Contract Project. Otherwise, no further retainage logic is performed by the system.

39

Work per period

Retainage Calculation: Yes

Retainage for Contract or Project: Project

Contract Retainage Trigger Base: Award

'Trigger Amount' = RETAINAGE_TRIGGER_PERCENTAGE multiplied by ORIGINALPROJECTAMOUNT

If TOTAL_NET_AMOUNT_FOR_RETAINAGE_CALCULATION is greater than or equal to 'Trigger Amount', then system will calculate retainage for the Contract Project. Otherwise, no further retainage logic is performed by the system.

40

Work in place

Retainage Calculation: Yes

Retainage for Contract or Project: Project

Contract Retainage Trigger Base: Award

If TOTAL _NET_AMOUNT_FOR_RETAINAGE_CALCULATION is greater than or equal to 'Trigger Amount', then system will calculate retainage for the Contract Project. Otherwise, no further retainage logic is performed by the system.

Current Gross Retainage

After the system calculates the net amount of retainage for a progress or semi-final payment estimate, it then calculates the current gross amount of retainage. These calculations depend on the retainage method and the settings for two agency options. The following table provides detailed calculations for each potential configuration of these factors.

Row

Retainage Method

Agency Option Settings

Calculations

41

Work per period

Retainage Calculation: Yes

Retainage for Contract or Project: Contract

CURRENT_GROSS_RETAINAGE_AMOUNT = (RETAINAGE_PERCENTAGE multiplied by CURRENT_NET_AMOUNT_FOR_RETAINAGE_CALCULATION) + RETAINAGE_LUMP_SUM_AMT

42

Work in place

Retainage Calculation: Yes

Retainage for Contract or Project: Contract

CURRENT_GROSS_RETAINAGE_AMOUNT = absolute value (TOTAL_GROSS RETAINAGE_AMOUNT from previous payment estimate) - [(RETAINAGE_PERCENTAGE multiplied by TOTAL_NET_AMOUNT_FOR_RETAINAGE_CALCULATION) + RETAINAGE_LUMP_SUM_AMT]

43

Work per period

Retainage Calculation: Yes

Retainage for Contract or Project: Project

CURRENT_GROSS_RETAINAGE_AMOUNT = (RETAINAGE_PERCENTAGE multiplied by CURRENT_NET_AMOUNT_FOR_RETAINAGE_CALCULATION) + RETAINAGE_LUMP_SUM_AMT

44

Work in place

Retainage Calculation: Yes

Retainage for Contract or Project: Project

CURRENT_GROSS_RETAINAGE_AMOUNT = absolute value (TOTAL_GROSS RETAINAGE_AMOUNT from previous payment estimate project) - [(RETAINAGE_PERCENTAGE multiplied by TOTAL_NET_AMOUNT_FOR_RETAINAGE_CALCULATION) + RETAINAGE_LUMP_SUM_AMT]

Maximum Dollar Amount for Retainage

After the system calculates the current gross amount of retainage for a payment estimate, it then calculates the maximum allowed dollar amount for retainage and ensure the total gross retainage amount does not exceed the maximum amount. These calculations depend on the settings for two agency options. The following table provides detailed calculations for each potential configuration of these factors.

Row

Agency Option Settings

Calculations

45

Retainage Calculation: Yes

Retainage for Contract or Project: Contract

The system calculates a 'Maximum Allowed Dollar Amount' for the Contract as follows:

- If RETAINAGE_MAX_DOLLAR_AMT is populated, 'Maximum Allowed Dollar Amount' = RETAINAGE_MAX_DOLLAR_AMT.

- If RETAINAGE_MAX_PERCENTAGE is populated and the RETAINAGE_BASE is "Current Amount", 'Maximum Allowed Dollar Amount' = RETAINAGE_MAX_PERCENTAGE multiplied by CURRENTCONTRACTAMOUNT.

- If RETAINAGE_MAX_PERCENTAGE is populated and the RETAINAGE_BASE is "Award Amount", 'Maximum Allowed Dollar Amount' = RETAINAGE_MAX_PERCENTAGE multiplied by AWARDEDAMOUNT.

Then, the system compares what will be the resultant and absolute value for TOTAL_GROSS_RETAINAGE_AMOUNT (PREVIOUS_GROSS_RETAINAGE_AMOUNT + CURRENT_GROSS_RETAINAGE_AMOUNT) to the 'Maximum Allowed Dollar Amount'.

- If TOTAL_GROSS_RETAINAGE_AMOUNT is less than or equal to 'Maximum Allowed Dollar Amount', the system sets CURRENT_GROSS_RETAINAGE_AMOUNT to the calculated value (from row 41 or 42).

- If absolute value (TOTAL_GROSS_RETAINAGE_AMOUNT) > 'Maximum Allowed Dollar Amount', the system updates CURRENT_GROSS_RETAINAGE_AMOUNT so that absolute value (TOTAL_GROSS_RETAINAGE_AMOUNT) = 'Maximum Allowed Dollar Amount'.

Then, TOTAL_GROSS_RETAINAGE_AMOUNT = PREVIOUS_GROSS_RETAINAGE_AMOUNT + CURRENT_GROSS_RETAINAGE_AMOUNT.

46

Retainage Calculation: Yes

Retainage for Contract or Project: Project

The system calculates a 'Maximum Allowed Dollar Amount' for the Contract Project as follows:

- If RETAINAGE_MAX_DOLLAR_AMT is populated, 'Maximum Allowed Dollar Amount' = RETAINAGE_MAX_DOLLAR_AMT.

- If RETAINAGE_MAX_PERCENTAGE is populated and the RETAINAGE_BASE is "Current Amount", 'Maximum Allowed Dollar Amount' = RETAINAGE_MAX_PERCENTAGE multiplied by CURRENTPROJECTAMOUNT.

- If RETAINAGE_MAX_PERCENTAGE is populated and the RETAINAGE_BASE is "Award Amount", 'Maximum Allowed Dollar Amount' = RETAINAGE_MAX_PERCENTAGE multiplied by ORIGINALPROJECTAMOUNT.

Then, the system compares what will be the resultant and absolute value for TOTAL_GROSS_RETAINAGE_AMOUNT (PREVIOUS_GROSS_RETAINAGE_AMOUNT + CURRENT_GROSS_RETAINAGE_AMOUNT) to the 'Maximum Allowed Dollar Amount'.

If TOTAL_GROSS_RETAINAGE_AMOUNT is less than or equal to 'Maximum Allowed Dollar Amount', the system sets CURRENT_GROSS_RETAINAGE_AMOUNT to the calculated value (from row 43 or 44).

If absolute value (TOTAL_GROSS_RETAINAGE_AMOUNT) > 'Maximum Allowed Dollar Amount', the system updates CURRENT_GROSS_RETAINAGE_AMOUNT so that absolute value (TOTAL_GROSS_RETAINAGE_AMOUNT) = 'Maximum Allowed Dollar Amount'.

Then, TOTAL_GROSS_RETAINAGE_AMOUNT = PREVIOUS_GROSS_RETAINAGE_AMOUNT + CURRENT_GROSS_RETAINAGE_AMOUNT.

Previous Cash and Security Accounts

After the system calculates the current gross amount of retainage for a payment estimate, it then checks Previous Cash withheld and Security Accounts in order to categorize retainage. These calculations depend on the settings for two agency options. The following table provides detailed calculations for each potential configuration of these factors.

Row

Agency Option Settings

Calculations

47

Retainage Calculation: Yes

Retainage for Contract or Project: Contract

The system calculates "Previous Withheld Cash + Current Retainage Required" for Payment Estimate. This is the amount of previously withheld cash and the amount of retainage required now based on the current Payment Estimate. It is calculated as follows: absolute value SUM (PREVIOUS_CASH_RETAINAGE_AMOUNT + CURRENT_GROSS_RETAINAGE_AMOUNT).

The system calculates "Total Amount Available from Contract's Security Accounts". This is the total amount available in Reference Vendor Security Accounts for the Prime Contractor of the Payment Estimate's Contract. It is calculated as follows: SUM (AMT_AVAILABLE) for all accounts associated to the Prime Contractor of the Payment Estimate's Contract (PRIMEVENDOR_ID).

The system compares "Previous Withheld Cash + Current Retainage Required" to "Total Amount Available from Contract's Security Accounts."

If "Total Amount Available from Contract's Security Accounts" is greater than or equal to "Withheld Cash + Current Retainage Required," then:

If PAYMENT ESTIMATE.PREVIOUS_CASH_RETAINAGE_AMOUNT does not equal 0.00, system creates a PAYMENT ESTIMATE CONTRACT ADJUSTMENT where:

COMMENTS = initial value, NULL

CONTRACT_ADJUSTMENT_AMOUNT = absolute value PREVIOUS_CASH_RETAINAGE_AMOUNT

CONTRACT_ADJUSTMENT_DATE = CREATION_DT (for associated PAYMENT ESTIMATE)

CONTRACT_ADJUSTMENT_ID = initial value, system generated ID

CONTRACT_ADJUSTMENT_TYPE = RETAINAGE

CREATOR_ID = ProcessName

CURRENT_NUMBER_TIME_UNITS = initial value, NULL

TIME_ID = initial value, NULL

System creates a PAYMENT ESTIMATE CONTRACT ADJUSTMENT PROJECT DISTRIBUTION record(s) for the Payment Estimate Contract Adjustment above where:

If agency option CONTRACT ADJUSTMENT DISTRIBUTION is set to "Bid", system creates the record as follows for each Contract Project associated to the Payment Estimate's Contract:

- DISTRIBUTION_AMOUNT = CONTRACT_ADJUSTMENT_AMOUNT x (ORIGINALPROJECTAMOUNT/AWARDEDAMOUNT)

- DISTRIBUTION_PERCENTAGE = (ORIGINALPROJECTAMOUNT/AWARDEDAMOUNT) x 100.00

If agency option CONTRACT ADJUSTMENT DISTRIBUTION is set to "Current", system creates the record as follows for each Contract Project associated to the Payment Estimate's Contract:

- DISTRIBUTION_AMOUNT = CONTRACT_ADJUSTMENT_AMOUNT x (CURRENTPROJECTAMOUNT/CURRENTCONTRACTAMOUNT)

- DISTRIBUTION_PERCENTAGE = (CURRENTPROJECTAMOUNT/CURRENTCONTRACTAMOUNT) x 100.00

Next, system gets REFERENCE VENDOR SECURITY ACCOUNT (associated to CONTRACT SECURITY ACCOUNT) where TYPE = 'Securities', AMT_AVAILABLE does not equal 0.00 and has earliest CREATEDDATE of all accounts with TYPE = 'Securities'.

If AMT_AVAILABLE is greater than or equal to "Withheld Cash + Current Retainage Required", system creates PAYMENT ESTIMATE SECURITIES ENCUMBRANCE record for the account where:

- ACCOUNT_ID = ACCOUNT_ID

- CONTRACT_ID = CONTRACT_ID for associated Payment Estimate

- ESTIMATE_NBR = PAYMENT ESTIMATE.ESTIMATE_NUMBER

- REFVENDOR_ID = CONTRACT SECURITY ACCOUNT.REFVENDOR_ID

- SECURITIES_ADJUSTMENT_AMT = "Withheld Cash + Current Retainage Required" stored as negative value

If AMT_AVAILABLE < "Withheld Cash + Current Retainage Required", system creates PAYMENT ESTIMATE SECURITIES ENCUMBRANCE record for the account where:

- ACCOUNT_ID = CONTRACT SECURITY ACCOUNT.ACCOUNT_ID

- CONTRACT_ID = CONTRACT_ID for associated Payment Estimate

- ESTIMATE_NBR = PAYMENT ESTIMATE.ESTIMATE_NUMBER

- REFVENDOR_ID = CONTRACT SECURITY ACCOUNT.REFVENDOR_ID

- SECURITIES_ADJUSTMENT_AMT = REFERENCE VENDOR SECURITY ACCOUNT.AMT_AVAILABLE stored as negative value

The above logic of evaluating a REFERENCE VENDOR SECURITY ACCOUNT (associated to CONTRACT SECURITY ACCOUNT) is repeated by system evaluating Security Account with next earliest CREATEDDATE, TYPE = 'Securities' and AMT_AVAILABLE does not equal 0.00. This continues until full "Withheld Cash + Current Retainage Required" amount is encumbered by Contract Security Account(s) [i.e., "Withheld Cash + Current Retainage Required" = absolute value SUM (SECURITIES_ADJUSTMENT_AMT) for current Payment Estimate] or until AMT_AVAILABLE = 0.00 for associated REFERENCE VENDOR SECURITY ACCOUNT(s) where TYPE = 'Securities.'

If full "Withheld Cash + Current Retainage Required" amount is NOT encumbered by all associated REFERENCE VENDOR SECURITY ACCOUNT(s) where TYPE = 'Securities,' the above logic is repeated for each associated REFERENCE VENDOR SECURITY ACCOUNT where TYPE = 'Escrow', AMT_AVAILABLE &ne; 0.00 and in order by CREATEDDATE until full "Withheld Cash + Current Retainage Required" amount is encumbered.

If "Total Amount Available from Contract's Security Accounts" is less than "Withheld Cash + Current Retainage Required", then

System creates a PAYMENT ESTIMATE CONTRACT ADJUSTMENT where:

COMMENTS = initial value, NULL

CONTRACT_ADJUSTMENT_AMOUNT = absolute value PREVIOUS_CASH_RETAINAGE_AMOUNT - ("Previous Withheld Cash + Current Retainage Required" - "Total Amount Available from Contract's Security Accounts")

CONTRACT_ADJUSTMENT_DATE = CREATION_DT (for associated PAYMENT ESTIMATE)

CONTRACT_ADJUSTMENT_ID = initial value, system generated ID

CONTRACT_ADJUSTMENT_TYPE = RETAINAGE

CREATOR_ID = ProcessName

CURRENT_NUMBER_TIME_UNITS = initial value, NULL

TIME_ID = initial value, NULL

Next, for each associated REFERENCE VENDOR SECURITY ACCOUNT where AMT _AVAILABLE does not equal 0.00, system creates a PAYMENT ESTIMATE SECURITIES ENCUMBRANCE record for the account where:

ACCOUNT_ID = CONTRACT SECURITY ACCOUNT.ACCOUNT_ID

CONTRACT_ID = CONTRACT_ID for associated Payment Estimate

ESTIMATE_NBR = PAYMENT ESTIMATE.ESTIMATE_NUMBER

REFVENDOR_ID = CONTRACT SECURITY ACCOUNT.REFVENDOR_ID

SECURITIES_ADJUSTMENT_AMT = AMT_AVAILABLE stored as negative value

For each REFERENCE VENDOR SECURITY ACCOUNT where the system created a new PAYMENT ESTIMATE SECURITIES ENCUMBRANCE record for the current Payment Estimate, the system updates the following attributes:

For REFERENCE VENDOR SECURITY ACCOUNT:

AMT_AVAILABLE incremented by SECURITIES_ADJUSTMENT_AMT

For CONTRACT SECURITY ACCOUNT (associated to REFERENCE VENDOR SECURITY ACCOUNT):

SECURITIES_ENCUMBRANCE_AMT incremented by absolute value (SECURITIES_ADJUSTMENT_AMT)

DIFFERENCE_AMT = REQUIRED_AMT - SECURITIES_ENCUMBRANCE_AMT

For all REFERENCE VENDOR SECURITY ACCOUNT(s) associated to the Payment Estimate's Contract's Prime Contractor (PRIMEVENDOR_ID) and having a CONTRACT SECURITY ACCOUNT for the Payment Estimate's Contract, the system updates the following attributes:

For REFERENCE VENDOR SECURITY ACCOUNT:

TOTAL_RETAINAGE_REQUIRED incremented by absolute value (CURRENT_GROSS_RETAINAGE_AMOUNT)

For CONTRACT SECURITY ACCOUNT:

REQUIRED_AMT = absolute value (CURRENT_GROSS_RETAINAGE_AMOUNT + PREVIOUS_GROSS_RETAINAGE_AMOUNT)

Last, system updates the following attributes for class PAYMENT ESTIMATE:

CURRENT_SECURITIES_RETAINAGE_AMOUNT = SUM (ADJUSTMENT_AMT for CONTRACT_ID and ESTIMATE_NBR of associated Payment Estimate where associated REFERENCE VENDOR SECURITY ACCOUNT.TYPE = "Security".)

TOTAL_SECURITIES_RETAINAGE_AMOUNT = PREVIOUS_SECURITIES_RETAINAGE_AMOUNT + CURRENT_SECURITIES_RETAINAGE_AMOUNT

CURRENT_ESCROW_RETAINAGE_AMOUNT = SUM (ADJUSTMENT_AMT for CONTRACT_ID and ESTIMATE_NBR of associated Payment Estimate where associated REFERENCE VENDOR SECURITY ACCOUNT.TYPE = "Escrow".)

TOTAL_ESCROW_RETAINAGE_AMOUNT = PREVIOUS_ESCROW_RETAINAGE_AMOUNT + CURRENT_ESCROW_RETAINAGE_AMOUNT

CURRENT_NONCASH_RETAINAGE_AMOUNT = CURRENT_SECURITIES_RETAINAGE_AMOUNT + CURRENT_ESCROW_RETAINAGE_AMOUNT

TOTAL_NONCASH_RETAINAGE_AMOUNT = TOTAL_SECURITIES_RETAINAGE_AMOUNT + TOTAL_ESCROW_RETAINAGE_AMOUNT

48

Retainage Calculation: Yes

Retainage for Contract or Project: Project

The system calculates "Previous Withheld Cash + Current Retainage Required" for Payment Estimate Project. This is the amount of previously withheld cash and the amount of retainage required now based on the current Payment Estimate Project. It is calculated as follows: absolute value SUM (PREVIOUS_CASH_RETAINAGE_AMOUNT + CURRENT_GROSS_RETAINAGE_AMOUNT).

The system calculates "Total Amount Available from Contract's Security Accounts." This is the total amount available in Reference Vendor Security Accounts for the Prime Contractor of the associated Payment Estimate's Contract. It is calculated as follows: SUM (AMT_AVAILABLE) for all accounts associated to the Prime Contractor of the Payment Estimate's Contract (PRIMEVENDOR_ID).

The system compares "Previous Withheld Cash + Current Retainage Required" to "Total Amount Available from Contract's Security Accounts."

If "Total Amount Available from Contract's Security Accounts" is greater than or equal to "Withheld Cash + Current Retainage Required", then:

If PREVIOUS_CASH_RETAINAGE_AMOUNT does not equal 0.00, system creates a PAYMENT ESTIMATE CONTRACT ADJUSTMENT where:

COMMENTS = initial value, NULL

CONTRACT_ADJUSTMENT_AMOUNT = absolute value PREVIOUS_CASH_RETAINAGE_AMOUNT

CONTRACT_ADJUSTMENT_DATE = PAYMENT ESTIMATE PROJECT.CREATION_DT

CONTRACT_ADJUSTMENT_ID = initial value, system generated ID

CONTRACT_ADJUSTMENT_TYPE = RETAINAGE

CREATOR_ID = ProcessName

CURRENT_NUMBER_TIME_UNITS = initial value, NULL

TIME_ID = initial value, NULL

System creates a read-only PAYMENT ESTIMATE CONTRACT ADJUSTMENT PROJECT DISTRIBUTION record for the Estimate Contract Adjustment above where:

DISTRIBUTION_AMOUNT = CONTRACT_ADJUSTMENT_AMOUNT

DISTRIBUTION_PERCENTAGE = 100.00

Next, system gets REFERENCE VENDOR SECURITY ACCOUNT (associated to CONTRACT SECURITY ACCOUNT) where TYPE = 'Securities', AMT_AVAILABLE does not equal 0.00 and has earliest CREATEDDATE of all accounts with TYPE = 'Securities'.

If REFERENCE VENDOR SECURITY ACCOUNT.AMT_AVAILABLE is greater than or equal to "Withheld Cash + Current Retainage Required", system creates PAYMENT ESTIMATE SECURITIES ENCUMBRANCE record for the account where:

ACCOUNT_ID = CONTRACT SECURITY ACCOUNT.ACCOUNT_ID

CONTRACT_ID = CONTRACT_ID for associated Payment Estimate

ESTIMATE_NBR = PAYMENT ESTIMATE.ESTIMATE_NUMBER (for associated Payment Estimate)

REFVENDOR_ID = CONTRACT SECURITY ACCOUNT.REFVENDOR_ID

SECURITIES_ADJUSTMENT_AMT = "Withheld Cash + Current Retainage Required" stored as negative value

If REFERENCE VENDOR SECURITY ACCOUNT.AMT_AVAILABLE < "Withheld Cash + Current Retainage Required", system creates PAYMENT ESTIMATE SECURITIES ENCUMBRANCE record for the account where:

ACCOUNT_ID = CONTRACT SECURITY ACCOUNT.ACCOUNT_ID

CONTRACT_ID = CONTRACT_ID for associated Payment Estimate

ESTIMATE_NBR = PAYMENT ESTIMATE.ESTIMATE_NUMBER (for associated Payment Estimate)

REFVENDOR_ID = CONTRACT SECURITY ACCOUNT.REFVENDOR_ID

SECURITIES_ADJUSTMENT_AMT = REFERENCE VENDOR SECURITY ACCOUNT.AMT_AVAILABLE stored as negative value

The above logic of evaluating a REFERENCE VENDOR SECURITY ACCOUNT (associated to CONTRACT SECURITY ACCOUNT) is repeated by system evaluating Security Account with next earliest CREATEDDATE, TYPE = 'Securities' and AMT_AVAILABLE does not equal 0.00. This continues until full "Withheld Cash + Current Retainage Required" amount is encumbered by Contract Security Account(s) [i.e., "Withheld Cash + Current Retainage Required" = absolute value SUM (SECURITIES_ADJUSTMENT_AMT) for Payment Estimate associated to current Payment Estimate Project] or until AMT_AVAILABLE = 0.00 for associated REFERENCE VENDOR SECURITY ACCOUNT(s) where TYPE = 'Securities'.

If full "Withheld Cash + Current Retainage Required" amount is NOT encumbered by all associated REFERENCE VENDOR SECURITY ACCOUNT(s) where TYPE = 'Securities', the above logic is repeated for each associated REFERENCE VENDOR SECURITY ACCOUNT where TYPE = 'Escrow', AMT_AVAILABLE does not equal 0.00 and in order by CREATEDDATE until full "Withheld Cash + Current Retainage Required" amount is encumbered.

If "Total Amount Available from Contract's Security Accounts"< "Withheld Cash + Current Retainage Required", then

System creates a PAYMENT ESTIMATE CONTRACT ADJUSTMENT where:

COMMENTS = initial value, NULL

CONTRACT_ADJUSTMENT_AMOUNT = absolute value PREVIOUS_CASH_RETAINAGE_AMOUNT - ("Previous Withheld Cash + Current Retainage Required" - "Total Amount Available from Contract's Security Accounts")

CONTRACT_ADJUSTMENT_DATE = PAYMENT ESTIMATE PROJECT.CREATION_DT

CONTRACT_ADJUSTMENT_ID = initial value, system generated ID

CONTRACT_ADJUSTMENT_TYPE = RETAINAGE

CREATOR_ID = ProcessName

CURRENT_NUMBER_TIME_UNITS = initial value, NULL

TIME_ID = initial value, NULL

Next, for each associated REFERENCE VENDOR SECURITY ACCOUNT where AMT _AVAILABLE does not equal 0.00, system creates a PAYMENT ESTIMATE SECURITIES ENCUMBRANCE record for the account where:

ACCOUNT_ID = CONTRACT SECURITY ACCOUNT.ACCOUNT_ID

CONTRACT_ID = CONTRACT_ID for associated Payment Estimate

ESTIMATE_NBR = PAYMENT ESTIMATE.ESTIMATE_NUMBER (for associated Payment Estimate)

REFVENDOR_ID = CONTRACT SECURITY ACCOUNT.REFVENDOR_ID

SECURITIES_ADJUSTMENT_AMT = REFERENCE VENDOR SECURITY ACCOUNT.AMT_AVAILABLE stored as negative value

For each REFERENCE VENDOR SECURITY ACCOUNT where the system created a new PAYMENT ESTIMATE SECURITIES ENCUMBRANCE record for the current associated Payment Estimate, the system updates the following attributes:

For REFERENCE VENDOR SECURITY ACCOUNT:

AMT_AVAILABLE incremented by PAYMENT ESTIMATE SECURITIES ENCUMBRANCE.SECURITIES_ADJUSTMENT_AMT

For CONTRACT SECURITY ACCOUNT (associated to REFERENCE VENDOR SECURITY ACCOUNT):

SECURITIES_ENCUMBRANCE_AMT incremented by absolute value (PAYMENT ESTIMATE SECURITIES ENCUMBRANCE.SECURITIES_ADJUSTMENT_AMT)

DIFFERENCE_AMT = REQUIRED_AMT - SECURITIES_ENCUMBRANCE_AMT

For all REFERENCE VENDOR SECURITY ACCOUNT(s) associated to the Payment Estimate's Contract's Prime Contractor (PRIMEVENDOR_ID) and having a CONTRACT SECURITY ACCOUNT for the Payment Estimate's Contract, the system updates the following attributes:

For REFERENCE VENDOR SECURITY ACCOUNT:

TOTAL_RETAINAGE_REQUIRED incremented by absolute value (PAYMENT ESTIMATE PROJECT.CURRENT_GROSS_RETAINAGE_AMOUNT)

For CONTRACT SECURITY ACCOUNT:

REQUIRED_AMT = absolute value (PAYMENT ESTIMATE PROJECT.CURRENT_GROSS_RETAINAGE_AMOUNT + PAYMENT ESTIMATE PROJECT.PREVIOUS_GROSS_RETAINAGE_AMOUNT)

Last, system updates the following attributes for class PAYMENT ESTIMATE PROJECT:

CURRENT_SECURITIES_RETAINAGE_AMOUNT = SUM (PAYMENT ESTIMATE SECURITIES ENCUMBRANCE.ADJUSTMENT_AMT for CONTRACT_ID and ESTIMATE_NBR of associated Payment Estimate where associated REFERENCE VENDOR SECURITY ACCOUNT.TYPE = "Security".)

TOTAL_SECURITIES_RETAINAGE_AMOUNT = PREVIOUS_SECURITIES_RETAINAGE_AMOUNT + CURRENT_SECURITIES_RETAINAGE_AMOUNT

CURRENT_ESCROW_RETAINAGE_AMOUNT = SUM (PAYMENT ESTIMATE SECURITIES ENCUMBRANCE.ADJUSTMENT_AMT for CONTRACT_ID and ESTIMATE_NBR of associated Payment Estimate where associated REFERENCE VENDOR SECURITY ACCOUNT.TYPE = "Escrow".)

TOTAL_ESCROW_RETAINAGE_AMOUNT = PREVIOUS_ESCROW_RETAINAGE_AMOUNT + CURRENT_ESCROW_RETAINAGE_AMOUNT

CURRENT_NONCASH_RETAINAGE_AMOUNT = CURRENT_SECURITIES_RETAINAGE_AMOUNT + CURRENT_ESCROW_RETAINAGE_AMOUNT

TOTAL_NONCASH_RETAINAGE_AMOUNT = TOTAL_SECURITIES_RETAINAGE_AMOUNT + TOTAL_ESCROW_RETAINAGE_AMOUNT.

Payment Estimate Contract Adjustment

After the system calculates the current gross amount of retainage for a payment estimate, it then calculates the Payment Estimate Contract Adjustment and distributes based on current amounts. These calculations depend on the settings for three agency options. The following table provides detailed calculations for each potential configuration of these factors.

Row

Agency Option Settings

Calculations

49

Retainage Calculation: Yes

Retainage for Contract or Project: Contract

Contract Adjustment Distribution: Bid

CURRENT_CASH_RETAINAGE_AMOUNT = CURRENT_GROSS_RETAINAGE_AMOUNT

System creates a PAYMENT ESTIMATE CONTRACT ADJUSTMENT record where:

- COMMENTS = initial value, NULL

- CONTRACT_ADJUSTMENT_AMOUNT = CURRENT_CASH_RETAINAGE_AMOUNT

- CONTRACT_ADJUSTMENT_DATE = CREATION_DT

- CONTRACT_ADJUSTMENT_ID = initial value, system generated ID

- CONTRACT_ADJUSTMENT_TYPE = RETAINAGE

- CREATOR_ID = ProcessName

- CURRENT_NUMBER_TIME_UNITS = initial value, NULL

- TIME_ID = initial value, NULL

Next, the system creates PAYMENT ESTIMATE CONTRACT ADJUSTMENT PROJECT DISTRIBUTION record(s) as follows for each Contract Project associated with the Payment Estimate's Contract:

- DISTRIBUTION_AMOUNT = CONTRACT_ADJUSTMENT_AMOUNT x (ORIGINALPROJECTAMOUNT/AWARDEDAMOUNT)

- DISTRIBUTION_PERCENTAGE = (ORIGINALPROJECTAMOUNT/AWARDEDAMOUNT) x 100.00

50

Retainage Calculation: Yes

Retainage for Contract or Project: Contract

Contract Adjustment Distribution: Current

CURRENT_CASH_RETAINAGE_AMOUNT = CURRENT_GROSS_RETAINAGE_AMOUNT

System creates a PAYMENT ESTIMATE CONTRACT ADJUSTMENT record where:

- COMMENTS = initial value, NULL

- CONTRACT_ADJUSTMENT_AMOUNT = CURRENT_CASH_RETAINAGE_AMOUNT

- CONTRACT_ADJUSTMENT_DATE = CREATION_DT

- CONTRACT_ADJUSTMENT_ID = initial value, system generated ID

- CONTRACT_ADJUSTMENT_TYPE = RETAINAGE

- CREATOR_ID = ProcessName

- CURRENT_NUMBER_TIME_UNITS = initial value, NULL

- TIME_ID = initial value, NULL

Next, the system creates PAYMENT ESTIMATE CONTRACT ADJUSTMENT PROJECT DISTRIBUTION record(s) as follows for each Contract Project associated to the Payment Estimate's Contract:

- DISTRIBUTION_AMOUNT = CONTRACT_ADJUSTMENT_AMOUNT x (CURRENTPROJECTAMOUNT / CURRENTCONTRACTAMOUNT)

- DISTRIBUTION_PERCENTAGE = (CURRENTPROJECTAMOUNT/CURRENTCONTRACTAMOUNT) x 100.00

51

Retainage Calculation: Yes

Retainage for Contract or Project: Project

CURRENT_CASH_RETAINAGE_AMOUNT = CURRENT_GROSS_RETAINAGE_AMOUNT

System creates a PAYMENT ESTIMATE CONTRACT ADJUSTMENT record where:

- COMMENTS = initial value, NULL

- CONTRACT_ADJUSTMENT_AMOUNT = CURRENT_CASH_RETAINAGE_AMOUNT

- CONTRACT_ADJUSTMENT_DATE = CREATION_DT (for associated PAYMENT ESTIMATE)

- CONTRACT_ADJUSTMENT_ID = initial value, system generated ID

- CONTRACT_ADJUSTMENT_TYPE = RETAINAGE

- CREATOR_ID = ProcessName

- CURRENT_NUMBER_TIME_UNITS = initial value, NULL

- TIME_ID = initial value, NULL

System creates a read-only PAYMENT ESTIMATE CONTRACT ADJUSTMENT PROJECT DISTRIBUTION record where:

- DISTRIBUTION_AMOUNT = CONTRACT_ADJUSTMENT_AMOUNT

- DISTRIBUTION_PERCENTAGE = 100.00

Total Retainage Required for Vendor Security Account

The system calculates the total retainage required for any security accounts that exist for the contract and displays this information on the Vendor General Summary component, Security Accounts tab. These calculations depend on the settings for two agency options. The following table provides detailed calculations for each potential configuration of these factors.

Row

Agency Option Settings

Calculations

52

Retainage Calculation: Yes

Retainage for Contract or Project: Contract

TOTAL_RETAINAGE_REQUIRED = SUM (TOTAL_GROSS_RETAINAGE_AMOUNT) for all Contracts that have Contract Security Accounts associated to the Reference Vendor Security Account.

53

Retainage Calculation: Yes

Retainage for Contract or Project: Project

TOTAL_RETAINAGE_REQUIRED = SUM (TOTAL_GROSS_RETAINAGE_AMOUNT) for all Contract Projects associated to all the Contracts that have Contract Security Accounts associated to the Reference Vendor Security Account.

Required Amount for a Contract Security Account

The system calculates the Required Amount for any contract security accounts associated with a vendor security account on the contract and displays this information on the Reference Vendor Security Account Summary component, Contracts tab. These calculations depend on the settings for two agency options. The following table provides detailed calculations for each potential configuration of these factors.

Row

Agency Option Settings

Calculations

54

Retainage Calculation: Yes

Retainage for Contract or Project: Contract

REQUIRED_AMT = TOTAL_GROSS_RETAINAGE_AMOUNT of last created Payment Estimate

55

Retainage Calculation: Yes

Retainage for Contract or Project: Project

REQUIRED_AMT = SUM for all projects associated with contract (TOTAL_GROSS_RETAINAGE_AMOUNT from last created Payment Estimate)

Difference Amount for a Contract Security Account

The system calculates the Difference Amount for any contract security accounts associated with a vendor security account and displays this information on the Reference Vendor Security Account Summary component, Contracts tab. These calculations depend on the settings for two agency options. The following table provides detailed calculations for each potential configuration of these factors.

Row

Agency Option Settings

Calculations

56

Retainage Calculation: Yes

Retainage for Contract or Project: Contract

DIFFERENCE_AMT = TOTAL_GROSS_RETAINAGE_AMOUNT (from last created Payment Estimate) - SECURITIES_ENCUMBRANCE_AMT

57

Retainage Calculation: Yes

Retainage for Contract or Project: Project

DIFFERENCE_AMT = SUM for all projects associated to contract (TOTAL_GROSS_RETAINAGE_AMOUNT from last created Payment Estimate) - SECURITIES_ENCUMBRANCE_AMT

Securities Encumbrance Amount for a Contract Security Account

The system calculates the Securities Encumbrance Amount for any contract security accounts associated with a vendor security account and displays this information on the Vendor Security Account Summary component:

SECURITIES_ENCUMBRANCE_AMT = SUM (SECURITIES_ADJUSTMENT_AMT where ACCOUNT_ID and CONTRACT_ID match the CONTRACT SECURITY ACCOUNT)

Amount Posted to Date for a Contract with a Security Account

The system calculates the Amount Posted to Date for a contract associated with a contract security account and displays this information on the Vendor Security Account Summary component, Contracts tab:

SUM for all the Contract's Contract Items (QTY_POSTED_TO_DT multiplied by UNITPRICE)

Related topics:

Maintaining Contract Retainage

Blue bar indicating the end of the topic