In the latest build (Release Apr 23), we have added automatic calculation of extended price for time-entry records.

Extended Price = Billable Time X Hourly Rate

In order for automatic calculation of “Extended Price” to work:

  1. We need to create a “Contract” for each Customer. This contract will have details like Billing Method, contract price etc.
  2. This contract needs to be selected in the Case.
  3. So when a new time-entry is added against the Case then we fetch the “hourly rate” from the contract and calculate the “Extended Price”.

To speed up the initial setup process… we provide a way to bulk create the contracts… further if a contract has been set as default contract then it will be automatically selected in the case.

Below are the new additions in the solution:

New Fields added to Time Entry record:
Extended Price: This is a calculated field which is: (Billable Time) X (Hourly Rate). This is the price that will be billed to Customer for this time-entry record.
Actual Time: The existing “Duration” field has been renamed to “Actual Time”.
Billable Time: This is automatically populated from “Actual Time” field. However a user can edit this value. This is the time value on which extended price will be calculated (and not on “Actual Time”). This provides flexibility to charge a different time to the customer then the actual one.
If time-entry is non-billable then “Hours To Bill” is set to 0.
Hourly Rate: is automatically populated from the Contract which is selected in the corresponding Case (for which this time-entry record is being added).

New Entity: Zap PSA Contract:
The extended price in time entry (for Case) is calculated based on the billing type selected in contract which is selected in the Case. For instructions regarding creating contract, refer KB article.

New Fields added to Case:
Lookup for Zap PSA Contract: To automatically calculate the extended pricing in time-entry… a contract must be selected in the Case. Any time entry created against a case also gets linked to the contract (which is selected in the case).
If a contract has been set as a default contract then it will be selected automatically on case creation.

What happens when a Contract is selected / modified in Case after the time entry records have been created for the case?
If you select/update a “Contract” in a Case after the time-entries have been created then existing “Un-Billed” time-entries (which were already created for the case) will be updated.
This behavior is controlled by setting: “Update time-entries when case.contract lookup is modified” (in Global Settings: Contract Settings”.

What happens when the billing type or billing rates are updated after the Contract has been applied to a Case – which has time-entry records?
If you modify the billing rates in contract or staff rate then it will not retroactively update the existing time-entries. However you can edit the time-entries and click “Recalculate” button to retrieve the updated “Hourly Rate” and recalculate the “Extended Price”.