Cost Allocation for Billing

You can set up cost allocation for billing items entered by any user type in the application. Allocation is used to 'mark' billing line items with a particular cost center code, or other important allocation information that the business requires. Allocation information is added by using Billing custom fields and configuring those fields to reference a set of values. Values can be 'Global' (available for selection in all engagements where the field appears), or the value can be set by a user where it is added by default to the applicable billing item type for an engagement.

Values are added to billing items when the item is configured for a user type:

In this example, the two custom fields appear when a worker is entering expense information. Field input type (pick list, free form text, and so on), as well as validation (null values allowed/restricted, field input type) are configured at the field level.

MSPs can also set the field values that appear by default in billing at the engagement level. These value can only be set in this way when the custom field reference list values are NOT set to 'Global'. For more information about setting up values for an engagement, see the following topics:

Allocation information is used in reporting only, and does not affect the application logic in any way.

Billing custom fields can be configured to appear for any of the user views (Worker, MSP, and so on). Field information can also be added to billing items by default, depending on the configuration. For more information about custom fields, see Custom Fields Options by Workflow.

The application estimates cost allocations during invoice creation, daily with an automated task, or you can run an estimation job on the fly in the MSP view. For more information about setting up this job, see Estimate Cost Allocation.

When distributing values across allocations, the sum of the allocations is equal to the billing. When allocations are estimated, rounding errors are assigned to the allocation with the largest value. Only billing item types that are selected at the client organization level are included in the estimation, daily or otherwise. To enable the billing types for estimation, navigate to the Process Billing configuration (Configuration > Billing > Billing/Invoicing > Process Billing tab) and click in the Cost Allocation section. Select the check box for the billing item type to include, and click Save. If you do not select a item category from this list, the billing amount for the item type is distributed across the project defined in the engagement that the worker is assigned to.
Note: If Billing custom fields are enabled for a billing item, you must enable the billing type associated to the custom field.
Distribution is determined by the '% of Work' entered for each allocation. The application calculates allocations according to the following methodology:
  1. Derive the percentage of work for the following types:
    • Hourly Time Entry - If allocation type is 'Seq/Hrs Wrked', use the OT rule set (Configuration > Client Location > Requisition > OT Rule) to classify the regular, OT, and DT hours for each allocation, then reference the 'Reg/OT/DT' rules. If the allocation type is 'Reg/OT/DT', then apply the OT/DT multipliers for each hour classification and sum to derive the total weighed hours. Divide the weighed hours of each allocation by the total weighed hours to determine the percentage of work per allocation.
    • Daily Time Entry - Includes Mixed, Daily, Period, and Variable. The allocation type is 'Percentage', and the worker enters the percentage of work during time entry.
    • Project Entry - Includes Milestone, Material, and Position. The allocation type is 'Percentage', and the worker enters the percentage of work during time entry.
  2. Determine the client allocation by summing the associated to the configured billing item types.
  3. Determine the amount for each allocation by multiplying the client allocation amount by the percentage of work value.
  4. Validate values, and if rounding errors occur, apply the difference to the allocation with the largest amount.