Revenue schedules

A revenue schedule defines how and when revenue is recognized for a specific contract line. Sage Intacct generates a revenue schedule for the contract line based on the specified criteria. For termed contracts, the schedule reflects a fixed revenue recognition period, while for evergreen contracts, it supports ongoing recognition without a specific end date.

For more information, read about revenue schedules in the Sage Intacct Help Center.

List revenue schedules

get/objects/contracts/revenue-schedule

Returns up to 100 object references from the collection with a key, ID, and link for each revenue schedule. This operation is mostly for use in testing; use the query service 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": "84",
      • "id": "84",
      • "href": "/objects/contracts/revenue-schedule/84"
      },
    • {
      • "key": "85",
      • "id": "85",
      • "href": "/objects/contracts/revenue-schedule/85"
      },
    • {
      • "key": "60",
      • "id": "60",
      • "href": "/objects/contracts/revenue-schedule/60"
      }
    ],
  • "ia::meta": {
    • "totalCount": 3,
    • "start": 1,
    • "pageSize": 100,
    • "next": null,
    • "previous": null
    }
}

Get a revenue schedule

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

Returns detailed information for a specified revenue schedule.

SecurityOAuth2
Request
path Parameters
key
required
string

System-assigned key for the revenue schedule.

Example: 1287
Responses
200

OK

400

Bad Request

Request samples
Response samples
application/json
{
  • "ia::result": {
    • "key": "1578",
    • "id": "1578",
    • "journal": "J1",
    • "contract": {
      • "key": "143",
      • "id": "Committed_Quantity_Billing",
      • "href": "/objects/contracts/contract/143"
      },
    • "contractLine": {
      • "id": "387",
      • "key": "387",
      • "href": "/objects/contracts/contract-line/387"
      },
    • "status": "inProgress",
    • "audit": {
      • "createdDateTime": "2025-02-15T03:03:31Z",
      • "modifiedDateTime": "2025-02-15T03:03:32Z",
      • "createdByUser": {
        },
      • "createdBy": "159",
      • "modifiedByUser": {
        },
      • "modifiedBy": "159"
      },
    • "estimateRevaluationDate": "2024-02-01",
    • "revenueScheduleLines": [
      • {
        },
      • {
        }
      ],
    • "href": "/objects/contract-revenue-schedule/1578"
    },
  • "ia::meta": {
    • "totalCount": 1,
    • "totalSuccess": 1,
    • "totalError": 0
    }
}

Update a revenue schedule

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

Updates an existing revenue schedule by setting field values. Any fields not provided remain unchanged.

SecurityOAuth2
Request
path Parameters
key
required
string

System-assigned key for the revenue schedule.

Example: 1287
Request Body schema: application/json
Array of objects

Line items for the revenue schedule.

Array
sourceHours
string

Determines the total hours from the project or task schedule, used with 'approvedHours' to calculate the percentage of revenue to be recognized.

Example: "118"
approvedHours
string

Indicates the total project hours that have been approved, used with sourceHours to calculate the percentage of revenue to be recognized.

Example: "16"
scheduledExchangeRate
string <decimal-precision-12>

The exchange rate in effect on the contract line start date.

Example: "1.345"
object
object
object
Responses
200

OK

400

Bad Request

Request samples
application/json
{
  • "key": "145",
  • "revenueScheduleLines": [
    • {
      • "key": "12",
      • "computationMemo": "MEA amount 1000, adjustment amount 333.32. Prorated amount before effective date 03/01/2022 is 0.",
      • "scheduledAmount": "125.34"
      }
    ]
}
Response samples
application/json
{
  • "ia::result": {
    • "key": "145",
    • "id": "145",
    • "href": "/objects/contracts/revenue-schedule/145"
    },
  • "ia::meta": {
    • "totalCount": 1
    }
}