Registry Job EOM Process (sys-job-eom)

This registry entry is used to set the GL Accounts used by the Job EOM Process when matching Cost and Recognized Revenue within the same period. The Job EOM function should be performed against groups of jobs that are similar (filter by Job Type). The billing behavior is evaluated at the Billing Item level to determine status (T&M or Contract).

Testing Your Registry Entries
The system does not verify the validity of registry entries. Be sure to test your registry entries after completing them to verify that they are functioning correctly.

Setting Values are Uppercase-Lowercase Sensitive:
The Setting Value is case-sensitive: be sure that you enter the value exactly as specified in the documentation. If the documentation specifies a value of true, do NOT enter True or TRUE.

Usage:

Registry entries are not required to achieve the ‘default’ behaviors.

When Percent Completion Basis is the contract behavior, Billing Items that have not been budgeted will be treated according to the Cost Basis methodology.

As of this release, Contract=Revenue methodology is not implemented.

A related registry entry enables you to override the default behavior, and instead derive the GL Expense Account assignment from the Cost Category for both Job EOM and the WO Inventory tab. This registry entry (for sys-viewer-vwrkordr) is discussed in Registry Entry Work Order Options.

Rules:

Time & Material Alternatives:

Option 1. Reduce Period Cost (T&M=Cost)

Costs incurred for ‘unbilled’ T&M activity is ‘inventoried’

 DR=WIP  CR=COS

Option 2. Increase Period Revenue (T&M=Revenue)

Income for ‘unbilled’ T&M activity is ‘recognized’

 DR=WIP  CR=INCOME

Contract (Fixed Fee) Alternatives:

Option 1. Percent Completion (Contract=PercentComplete)

For Overbilled Jobs

 CR=Overbilled DR=INCOME

For Underbilled Jobs

 DR=Underbilled CR=INCOME

Option 2. Cost Basis (Contract=Cost)

Cost for ‘unbilled’ Contract activity is ‘inventoried’

 DR=WIP  CR=COS

Note: If entire Job is missing budgets, the system uses Contract=Cost methodology by default.

Example:

Actual Cost / Budget Cost = % Complete

% Complete X Contract Amount = Earned to Date

Earned To Date – Invoiced to Date = Over / Under Billed

Recognizing Revenue

The Job Cost EOM Processing function supports a new methodology for recognizing revenue for fixed fee billing items.  This option (ContractEarnedRevenueMethod=ReportedPercent) uses the reported percent complete data recorded in the Job Progress Viewer to determine over/under billings.

Note that the evaluation for eligible EOM processing is not restricted by the Amount Remaining being zero. 

 

Account Determination in Job EOM Process:

COS From Job Cost Category if specified, Cost Code, glcos registry entry.

GL Account from Vendor: this enhancement effects customers that use Job Cost Categories with no GL expense account so the gl account will pull from the Vendor. Previously, this setup worked properly for AP entries but not Job Cost EOM - which did not pull a gl account from the Vendor. This functionality has now been changed so that the GL Account in the Vendor is also considered.

Note that Inventory is a special case where the Expense Acct might come from the Inventory Group depending on registry settings and other conditions.  Otherwise, the normal progression for all cost types is (1) Cost Category; (2) Cost Code: (3) 'glcos' registry setting; (4) the Vendor record; (5) nothing.

INCOME Derived from registry if specified, else Job Cost Category, else Job Cost Code

WIP  Derived from registry if specified, else Job Cost Category, else Job Cost Code

OVERBILLED Derived from registry, must be specified if Percent Completion Basis is used

UNDERBILLED Derived from registry, must be specified if Percent Completion Basis is used

Important Fields:

Id: sys-job-eom

See the Standard Registry section in Registry Viewer for additional Registry Id formats to allow entries for specific Users, Branches, Security, or User Groups to override the main entry.

Cost Of Goods Sold

Setting Key: GLCOS Setting Value: glaccount

Where glaccount is replaced by the Profit/Loss Account for Net COS Adjustments which will be used if the COS cannot be determined from the Job Cost Category if specified or Job Cost Code.

This registry is applied as a rule of last resort.  For Inventory, the Expense Acct might come from the Inventory Group depending on registry settings and other conditions.  Otherwise, the normal progression for all cost types is (1) Cost Category; (2) Cost Code: (3) 'glcos' registry setting; (4) the Vendor record; (5) nothing.

Cost of Goods Sold Account by Cost Type

The following registry settings trump ALL of the defaulting described above for the Cost of Goods Sold when this function is run. They allow the Cost Of Goods Sold to be specified by DIRECT assignment of COS GL Account by cost type, to support greater flexibility in configuration. This is particularly necessary to define a specific rule for COS Labor to circumvent the skew that is inevitable if BURDEN is being carried in Labor Cost.

Id: sys-job-eom

Setting Key: GLCOSLAB  Setting Value: glaccountidforlabor

Setting Key: GLCOSMAT  Setting Value: glaccountidformaterial

Setting Key: GLCOSOTH  Setting Value: glaccountidforother

Setting Key: GLCOSSUB  Setting Value: glaccountidfosubs

Income, Over Billed, Under Billed and WIP Accounts

Setting Key: GLIncome Setting Value: glaccount 

where glaccount is replaced by the Profit/Loss Account for Net Revenue Adjustments.

Setting Key: GLOverBilled Setting Value: glaccount

where glaccount is replaced by the Balance Sheet suspense account for Excess Billings.

Setting Key: GLUnderBilled Setting Value: glaccount

where glaccount is replaced by the Balance Sheet suspense account for Under Billings.

Setting Key: GLWip Setting Value: glaccount

where glaccount is replaced by the Balance Sheet W-I-P account

T&M and Contract Handling

Setting Key: T&M Setting Value: value

where value is replaced by Cost or Revenue. If this registry option not specified, it defaults to Cost.

Setting Key: Contract Setting Value: value

where value is replaced by Cost or PercentComplete. If this registry option not specified, it defaults to PercentComplete.

Setting Key: ContractEarnedRevenueMethod Setting Value: ReportedPercent

The Job Cost EOM Processing function supports this methodology for recognizing revenue for fixed fee billing items.  This option uses the reported percent complete data recorded in the Job Progress Viewer to determine over/under billings. 

Compute Revenue Based on Job Percent Complete

The following registry enables the Job Cost EOM function to compute Over/Under Billed based on Total Job Percent Complete instead of calculating Over/Under billed by each Billing Item. If this option is not enabled, the default behavior is to use Contract=PercentComplete

When this option is enabled, the system uses the Total Job-level computed percent complete and applies it to each Billing Item's Contract Value to determine the Total Over/Under Billed Amount.  This option will match the WIP Summary (% complete method) Report totals by Job when Bill Item Detail option is not checked.   If using this option, be sure the GLOverBilled and GLUnderBill options are also set up.

Setting Key: ContractPercentCompleteLevel  Setting Value: Job

Important:

This option is not valid if Contract=Cost.

This option is not valid if ContractEarnedRevenueMethod=ReportedPercent.

Skip Unapproved CO's in Job EOM

This registry skips Change Orders that haven't yet been approved. If this entry is not in place,  Change Orders are included in the calculation for revenue recognition even if the Change Order was not approved until the next accounting period.

Registry Id: sys-job-eom

Setting Key: SkipUnapprovedCOs   Setting Values: true   (default false)

The above option is recommended if the following are also in place:

Setting Key: Contract  Setting Value: PercentComplete    

Setting Key: ContractPercentCompleteLevel   Setting Value: job

Default the 'Reverse?' to true when user does Add Line in Job EOM

Setting Key: AddLineReverse    Setting Value: true

Important Links

Job EOM (End of Month) Processing