Understanding Charge Rules
Charge rules determine the billing rate, the timing of charges, and the stage of a charge when it is generated. Charge rules can be either fixed fee, time-based, expense-based, or purchase.
A breakdown of individual charge rule types and respective project activities or inputs is listed below:
-
Fixed Fee Rules
-
Types
-
Fixed Date
-
Creates a charge for a defined amount on a specified date on the rule and can be set up to bill on a recurrence (for example, Monthly).
-
Multiple Fixed Date rules can be created on one project.
-
-
Milestone
-
Creates a charge for a defined amount when a project milestone is completed.
-
Multiple Milestone rules can be created on one project. Each Milestone rule must be mapped to a unique milestone on the Project Schedule.
-
-
Project Progress
-
Creates a charge for a defined amount multiplied by the percent complete of the project (Actual Hours/Estimated Hours).
-
Only one Project Progress rule can be created on a project.
-
-
-
Generating Charges
-
Actual charges are created when the specific date is hit, a milestone/project task gets completed or progress has been made on a project. Amount set on the fixed charge rule is then used for the calculation of actual charges (either the amount gets distributed among charges or is used for each charge, depending on the fixed fee rule sub-type).
-
Forecast charges are created based on the system's prediction of when the specific event will occur in the future based on the date set, expected milestone/task completion date, or planned project progress (from planned time on the Project Schedule).
-
-
-
Time-Based Rules
-
Generating Charges
-
Forecast charges are created from:
-
Planned time – planned time is a time entry created by the system as a result of a project resource getting assigned to a project task. It represents a prediction of the duration of the individual project task assignment.
-
Allocated time – allocated time is created by the system when resource allocation for a specific employee, specific number of hours (or % of the time), and time period gets created. Project preference 'Use allocated time for forecast' needs to be enabled to allow forecast charges to be created off allocated time.
-
Actual time – this applies only when the Planned Work feature is disabled. Forecast charges are then created from all actual time entries. If 'Use allocated time for forecast' is enabled forecast charges are created only from actual time with date < system date (for example, today). The rest (future) is covered by allocated time.
-
-
Actual charges are created based on time tracked by project resources against the project.
-
-
Users can create additional filters to define which time entries should be consumed by the time-based charge rule. Additional logic can be set as well – money/hour cap, multiplier, or time rounding.
-
Multiple time-based rules can be created to cover even more complex billing setups. Rule ordering is available for those use cases to define which rule should have its turn first, second, etc.
-
-
Expense-Based Rules
-
Generating Charges
Actual charges are created based on data from expense reports and vendor bills recorded against the project. Expense Report receipts and Vendor Bills using the Expenses subtab will be processed by Expense-Based rules.
-
Users can create additional filters to further define which expense reports shall be consumed by the charge rule. A mark-up/discount field is available.
-
Multiple expense-based rules can be created to cover even more complex billing setups. Rule ordering is available for those use cases to define which rule should have its turn first, second, etc.
-
-
Purchase Rules
-
Generating Charges
-
Actual charges are created based on data from vendor bills recorded against the project where only service items and non-inventory items are considered
-
Forecast charges are created based on data from purchase orders recorded against the project where only service items and non-inventory items are considered
-
-
Users can create additional filters to define which purchase transactions shall be consumed by the purchase charge rule. Additional logic can be set as well – money cap and multiplier.
-
Multiple purchase-based rules can be created to cover even more complex billing setups. Rule ordering is available for those use cases to define which rule should have its turn first, second, etc.
-
If you use the Override Rates on Time Records accounting preference, time-based rules will override any rate changes made on time transactions.
Tiered Charge Rules
You can define multiple charge rules for a single project, allowing you to create complex billing criteria based on a variety of factors. For example, you might want to bill a project based on time and materials. You would create two charge rules: one fixed date rule for the up-front billable amount for materials and one time-based rule that creates charges for time entered.
If you create time-based or expense-based charge rules, when a time entry is created for completed work or an expense is entered, these rules are each applied in the order you set. You can set filters on a rule so that it only applies to the time or expense you want it to. For example, you might want a rule to only apply to time or expenses entered for a specific item.
You can also use caps with time-based charge rules for additional flexibility. For more information, see Using Caps with Charge Rules.
Charges Creation
Each customer has certain computing bandwidth for back-end calculations and processes such as charge record creation. There are so-called computing threads that process incoming requests to, in our case, generate charges -both actual and forecast. Depending on the license purchased, there are 2-50 of those computing threads. Projects, i.e. charge creation for a particular project, can be processed in parallel in computing threads. A computing thread can calculate actual and or forecast charges for an individual project. One project cannot be running the recalculation process for both actual and forecast charges of the same charge rule type. For example, forecast and actual charges from fixed fee rules cannot be processed at the same time, while forecast charges from a time-based rule and actual charges from a fixed fee rule on the same project can be processed in parallel. Projects eligible for charge recalculation are tagged internally and put into the back-end work queue unless the project is already in the queue. If the project is already waiting in the queue, it is not added again, it can be in the queue only once.
Forecast and Actual Charges Creation and Recreation
Both forecast and actual charges get recalculated when a certain trigger is hit, either from the user or the system side:
-
Midnight charge run
-
The system is searching for the last successful forecast run and compares it to, for instance:
-
The last project plan recalculation done after the last forecast run – the system recalculates forecast charges during the midnight run
-
The timestamp is after the last forecast run – the system recalculates respective (for example, fixed fee, time-based, expense, purchase) forecast charges during the midnight run
-
Last project plan recalculation
-
Timestamp of creation or modification of a project charge rule
-
Resource allocation service item preference got changed (this happens only if you use the Resource Allocation feature and use Resource Allocation for forecasting instead of planned time)
-
-
Runs by default only for projects with status 'In Progress' (the default system status with ID=2) and for statuses defined by customer
-
Creates actual charges
-
Creates forecast charges that may not be up-to-date
-
For One World accounts always considers the time zone of the specific subsidiary (for example, its midnight)
-
-
Manual trigger
-
Buttons for the forecast (Generate Forecast) and actual (Generate Charges) charge generation are available on the project form under Financial > Charge Run History
-
When the button is hit, the creation or recreation process starts and the user gets an estimate of when the process will be finished
-
-
Project edited
-
The project itself is edited
Note:If the project itself is edited, the project status is irrelevant.
-
The create or edit, or delete action of the records related to the project takes place:
-
Time entry, for example, time tracked
-
Project Task, including project task assignment
-
CRM Task, only if preference 'Include CRM tasks in project totals' is enabled
-
Resource Allocation, for the Resource Allocation feature
-
-
Fixed Fee Milestone rule-related project task or milestone is marked as complete
-
Forecast charges get recalculated or recreated
-
Actual charges get created
-
Any scheduled script or workflow, mass update, or import that can create, edit, or delete action of the records related to the project
-