fbpx
View Categories

Define the order of operation for billing rates

3 min read

The order of operation for billing determines which rates will take precedence when invoicing is run. When Arrow is installed the order of operations for determining the rate that is billed for a time entry is by Task Rate, then Resource Rate, and then Project Rate.

WARNING
Configuration and updating the order of operations requires an advanced knowledge of Salesforce

How the rates that are actually billed are determined by the system based on a configuration for your organization based on three variables:

  • Rate Keys – Defines how the system will hold rates. That is, this defines the different ways that your organization will contract and bill your clients.
  • Cost Keys – The cost keys define how your organization incurs costs on the time that is entered.
  • Rate Strategy – Defines how billable tasks look up to the rate card to determine the billable rate and cost for the time entry, and the order that the rates should be applied if multiple matches are found between the time entry and the rate card.

The entire definition of your rate keys, cost keys and rate stragey are defined in the Company Settings for your organization under a single Rate Card Configuration field.

UPDATE THE ORDER OF OPERATIONS

  1. From the Setup menu navigate to Custom Code > Custom Metadata Types.
  2. Click Manage Records next to Company Setting for Arrow PSA.
  3. Click Edit next to the default Company Setting.
  4. Define your Rake Keys that will define the ways that your clients can be billed. These define the fields on a time entry that lookup to other objects in the system that define a time entry.

    Out of the box the Rate Keys are setup by Resource, Task, and Resource and Task.

    "rateKeys": [
    "apollo__Resource__c|apollo__Task__c",
    "apollo__Resource__c",
    "apollo__Task__c"
    ],


    A common change is to add billing rates based on an Entitlement (service cloud only). In this case a lookup field would be defined on the Billing Rate Config object to the Entitlement object, and that field would be added to the rateKey configuration — for example, add "Entitlement__c" to the configuration in the rateKeys list.

    "rateKeys": [
    "apollo__Resource__c|apollo__Task__c",
    "apollo__Resource__c",
    "apollo__Task__c"
    "Entitlement__c"
    ],

  5. The Billing Rates (rateKeys) and Cost Rates (costKeys) are configured independently in the Billing Rate Configuration. For each field that was added as a rateKey add a matching costKey.

    From the entitlement example the costKey configuration would look like the following:

    "costKeys": [
    "apollo__Resource__c|apollo__Task__c",
    "apollo__Resource__c",
    "apollo__Task__c"
    "Entitlement__c"
    ],

  6. Once the rateKey and costKey are defined you will define how time entries will lookup to the rate card and, if multiple matches are found, what priority will be applied to invoicing the time entry. The system will traverse the defined rateStrategy and will stop once a match is found. If no match is found the system will default to the project rate.

    By default the system is configured to search based on Matching Resource AND Task, Matching Resource and then Matching Task.

    "rateKeys": [
    "apollo__Resource__c | apollo__Task__c",
    "apollo__Resource__c",
    "apollo__Task__c"
    ],


    From the example above, the configuration would appear with the Entitlement being used after the Resource but before the Project Task rate.

    "rateKeys": [
    "apollo__Resource__c | apollo__Task__c",
    "apollo__Resource__c",
    "Entitlement__c"
    "apollo__Task__c"
    ],

  7. Validate that the entire script is visible and correct in the Rate Card Configuration.


  8. Click Save.

Go to Top