AGM Payroll Processing

Payroll Processing

Payroll Processing is a set of processes that examine each Service, modify and create Service Sub-Rows, Distribute time/money to specific CTAs, and Post those services (so that they may not be modified without an accompanying Journal Entry). This processing is done on a Pay Period/Branch basis.

During the Finalization process, during which Service Sub-Rows are modified (and perhaps created), special client-specific code is executed. The specific code determines how Services are sorted for processing and which Labor Distribution method (Static or Dynamic, see below) is prioritized when replacing Services. The code is structured so that client-specific algorithms are used for processing Exempt and Non-Exempt users. These are customized for each site by our developers.

Pay Periods

AGM's Payroll Processing functions require that the client use Pay Periods. LegalServer will need to know when the site's first pay period should be.


With AGM, each Service also has at least one "sub-row," called a Service Funding Code. This sub-row is used to record what Contract Term Allocation (CTA) has been assigned to the Service. Put differently, it records all the Services that have been allocated to a given CTA. Aggregation over a time period calculates how much money has been allocated to a CTA during that period.

Labor Distribution

During the Finalization process (part of Payroll Processing), some Service sub-rows must be modified. For example, Services for Leave Time often need to be modified by adjusting their sub-row (or adding several sub-rows) so as to allocate their time to other CTAs. In order to determine which CTAs to use, two methods may be used:

Static Lookback:

The Labor Distribution may be pre-defined for a user.

Add the Labor Distribution block to the user's payroll information process to apply hard-coded person-specific distribution.

Dynamic Lookback:

The system may look back over the users' Services for a period of time and calculate the percentage to allocate to each new CTA.

Client-specific code is used to determine if Static Lookback should take precedence over Dynamic Lookback.