Revenue templates

A contract revenue template defines the revenue recognition schedule for the flat/fixed amount associated with a contract line.

List contract revenue templates

get/objects/contracts/revenue-template

Returns up to 100 object references from the collection with a key, ID, and link for each revenue template. This operation is mostly for use in testing; use query to find objects that meet certain criteria and to specify properties that are returned.

SecurityOAuth2
Responses
200

OK

400

Bad Request

Request samples
Response samples
application/json
{
  • "ia::result": [
    • {
      • "key": "26",
      • "id": "Evergreen Revenue",
      • "href": "/objects/contracts/revenue-template/26"
      },
    • {
      • "key": "18",
      • "id": "Conprjobserved%compA",
      • "href": "/objects/contracts/revenue-template/18"
      }
    ],
  • "ia::meta": {
    • "totalCount": 2,
    • "start": 1,
    • "pageSize": 100,
    • "next": null,
    • "previous": null
    }
}

Create a contract revenue template

post/objects/contracts/revenue-template

Creates a new contract revenue template.

SecurityOAuth2
Request
Request Body schema: application/json

Revenue template to create

id
required
string

Name

Example: "STRAIGHTLINE_MANUAL"
description
string

Description

Example: "STRAIGHTLINE MANUAL"
schedulePeriod
string
Default: "monthly"

Recognition schedule period

Enum: "annually" "monthly" "quarterly" "semiAnnually"
Example: "monthly"
recognitionMethod
string
Default: "straightLine"

Recognition method

Enum: "dailyRate" "predefinedPercentages" "projectPercentComplete" "quantityBased" "recognizeRevenueOnInvoice" "straightLine" "taskPercentComplete"
Example: "straightLine"
recognitionSource
string or null
Default: null

Recognition method source

Enum: "budgetedHours" "estimatedHours" null "observedPercentCompleted" "plannedHours"
Example: "estimatedHours"
stepRevenue
boolean
Default: false

Define recognition thresholds. Only applicable when recognitionMethod = projectPercentComplete or taskPercentComplete.

Example: false
defaultPostingType
string
Default: "manual"

Default posting type

Enum: "automatic" "manual"
Example: "automatic"
revenueAdjustmentOption
string or null
Default: null

Revenue adjustment option

Enum: "distributed" null "oneTime" "walkForward"
Example: "oneTime"
Array of objects

Only applicable if recognitionMethod = predefinedPercentages projectPercentComplete, or if recognitionMethod = taskPercentComplete AND stepRevenue = true.

Array
monthsOffset
integer or null
Default: null

If recognitionMethod = predefinedPercentages, enter the number of months in the future from the contract line start date the corresponding recognitionPercent should post.

Example: 5
percentToRecognize
string <decimal-precision-2>

Percent to recognize.

Example: "10"
thresholdPercent
string <decimal-precision-2>

Threshold percent.

Example: "70"
isSystemGenerated
boolean
Default: false

Determines if revenue template is system generated.

Example: false
status
string
Default: "active"

Object status. Active objects are fully functional. Inactive objects are essentially hidden and cannot be used or referenced.

Enum: "active" "inactive"
Example: "active"
Responses
201

Created

400

Bad Request

Request samples
application/json
{
  • "id": "PREDEFINED QUARTERLY",
  • "description": "QUARTERLY RECOGNITION",
  • "schedulePeriod": "monthly",
  • "recognitionMethod": "predefinedPercentages",
  • "recognitionSource": "estimatedHours",
  • "stepRevenue": false,
  • "revenueAdjustmentOption": null,
  • "defaultPostingType": "manual",
  • "status": "active",
  • "isSystemGenerated": false,
  • "recognitionPercentages": [
    • {
      • "monthsOffset": 0,
      • "thresholdPercent": "60",
      • "percentToRecognize": "20"
      },
    • {
      • "monthsOffset": 3,
      • "thresholdPercent": "40",
      • "percentToRecognize": "40"
      },
    • {
      • "monthsOffset": 5,
      • "thresholdPercent": "25",
      • "percentToRecognize": "25"
      },
    • {
      • "monthsOffset": 7,
      • "thresholdPercent": "15",
      • "percentToRecognize": "15"
      }
    ]
}
Response samples
application/json
{
  • "ia::result": {
    • "key": "34",
    • "id": "PREDEFINED QUARTERLY",
    • "href": "/objects/contracts/revenue-template/34"
    },
  • "ia::meta": {
    • "totalCount": 1,
    • "totalSuccess": 1,
    • "totalError": 0
    }
}

Get a contract revenue template

get/objects/contracts/revenue-template/{key}

Returns detailed information for a specified contract revenue template.

SecurityOAuth2
Request
path Parameters
key
required
string

System-assigned key for the contract revenue template.

Example: 101
Responses
200

OK

400

Bad Request

Request samples
Response samples
application/json
{
  • "ia::result": {
    • "key": "25",
    • "id": "PREDEFINED QUARTERLY",
    • "description": "QUARTERLY RECOGNITION",
    • "schedulePeriod": "monthly",
    • "recognitionMethod": "predefinedPercentages",
    • "recognitionSource": "estimatedHours",
    • "stepRevenue": false,
    • "revenueAdjustmentOption": null,
    • "defaultPostingType": "manual",
    • "status": "active",
    • "isSystemGenerated": false,
    • "audit": {
      • "modifiedDateTime": "2023-09-26T07:35:01Z",
      • "createdDateTime": "2019-04-26T06:00:38Z",
      • "createdBy": "1",
      • "modifiedBy": "1"
      },
    • "recognitionPercentages": [
      • {
        },
      • {
        }
      ],
    • "href": "/objects/contracts/revenue-template/25"
    },
  • "ia::meta": {
    • "totalCount": 1,
    • "totalSuccess": 1,
    • "totalError": 0
    }
}

Update a contract revenue template

patch/objects/contracts/revenue-template/{key}

Updates a existing contract revenue template by setting field values. Any fields not provided remain unchanged.

SecurityOAuth2
Request
path Parameters
key
required
string

System-assigned key for the contract revenue template.

Example: 101
Request Body schema: application/json
description
string

Description

Example: "STRAIGHTLINE MANUAL"
schedulePeriod
string
Default: "monthly"

Recognition schedule period

Enum: "annually" "monthly" "quarterly" "semiAnnually"
Example: "monthly"
recognitionMethod
string
Default: "straightLine"

Recognition method

Enum: "dailyRate" "predefinedPercentages" "projectPercentComplete" "quantityBased" "recognizeRevenueOnInvoice" "straightLine" "taskPercentComplete"
Example: "straightLine"
recognitionSource
string or null
Default: null

Recognition method source

Enum: "budgetedHours" "estimatedHours" null "observedPercentCompleted" "plannedHours"
Example: "estimatedHours"
stepRevenue
boolean
Default: false

Define recognition thresholds. Only applicable when recognitionMethod = projectPercentComplete or taskPercentComplete.

Example: false
defaultPostingType
string
Default: "manual"

Default posting type

Enum: "automatic" "manual"
Example: "automatic"
revenueAdjustmentOption
string or null
Default: null

Revenue adjustment option

Enum: "distributed" null "oneTime" "walkForward"
Example: "oneTime"
Array of objects

Only applicable if recognitionMethod = predefinedPercentages projectPercentComplete, or if recognitionMethod = taskPercentComplete AND stepRevenue = true.

Array
monthsOffset
integer or null
Default: null

If recognitionMethod = predefinedPercentages, enter the number of months in the future from the contract line start date the corresponding recognitionPercent should post.

Example: 5
percentToRecognize
string <decimal-precision-2>

Percent to recognize.

Example: "10"
thresholdPercent
string <decimal-precision-2>

Threshold percent.

Example: "70"
isSystemGenerated
boolean
Default: false

Determines if revenue template is system generated.

Example: false
status
string
Default: "active"

Object status. Active objects are fully functional. Inactive objects are essentially hidden and cannot be used or referenced.

Enum: "active" "inactive"
Example: "active"
Responses
200

OK

400

Bad Request

Request samples
application/json
{
  • "description": "QUARTERLY RECOGNITION",
  • "schedulePeriod": "monthly",
  • "recognitionMethod": "predefinedPercentages",
  • "recognitionSource": "estimatedHours",
  • "stepRevenue": false,
  • "revenueAdjustmentOption": null,
  • "defaultPostingType": "manual",
  • "status": "active",
  • "recognitionPercentages": [
    • {
      • "monthsOffset": null,
      • "thresholdPercent": "50.00",
      • "percentToRecognize": "70.00"
      },
    • {
      • "monthsOffset": null,
      • "thresholdPercent": "100.00",
      • "percentToRecognize": "30.00"
      }
    ]
}
Response samples
application/json
{
  • "ia::result": {
    • "key": "25",
    • "id": "PREDEFINED QUARTERLY",
    • "href": "/objects/contracts/revenue-template/25"
    },
  • "ia::meta": {
    • "totalCount": 1,
    • "totalSuccess": 1,
    • "totalError": 0
    }
}

Delete a contract revenue template

delete/objects/contracts/revenue-template/{key}

Deletes a contract revenue template.

SecurityOAuth2
Request
path Parameters
key
required
string

System-assigned key for the contract revenue template.

Example: 101
Responses
204

No Content

400

Bad Request

Request samples
Response samples
application/json
{
  • "ia::result": {
    • "ia::error": {
      • "code": "invalidRequest",
      • "message": "A POST request requires a payload",
      • "errorId": "REST-1028",
      • "additionalInfo": {
        },
      • "supportId": "Kxi78%7EZuyXBDEGVHD2UmO1phYXDQAAAAo"
      }
    },
  • "ia::meta": {
    • "totalCount": 1,
    • "totalSuccess": 0,
    • "totalError": 1
    }
}

Query revenue templates

post/services/core/query

Use the query service to find revenue templates that meet certain criteria and to specify the properties that are returned.

SecurityOAuth2
Responses
200

OK

Request samples