Contract expense templates

An expense template defines the schedule to recognize an expense amount for a contract or contract line over the contract term. You can create any number of expense templates and reuse them across contracts.

List Contract expense templates

get/objects/contracts/expense-template

Returns up to 100 object references from the collection with a key, ID, and link for each contract expense template. 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": "2",
      • "id": "EXPSTRAIGHTLINE_AUTO",
      • "href": "/objects/contracts/expense-template/2"
      }
    ],
  • "ia::meta": {
    • "totalCount": 1,
    • "start": 1,
    • "pageSize": 100,
    • "next": null,
    • "previous": null
    }
}

Create a contract expense template

post/objects/contracts/expense-template

Creates a new contract expense template.

SecurityOAuth2
Request
Request Body schema: application/json
required

Contract expense template to create

id
required
string

Name for the contract expense template. The identifier must be unique across revenue and expense templates.

Example: "EXPSTRAIGHTLINE_MAN"
description
string

Description of the expense template.

Example: "Expense straight line manual"
amortizationSchedulePeriod
string
Default: "monthly"

Amortization schedule period.

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

Amortization method.

  • straightLine - Expenses are allocated evenly over the expense recognition term. Partial periods are calculated as total schedule amount / total number of days in the expense recognition term * number of days in the partial period.
  • dailyRate - Expenses are allocated using a daily recognition rate: (total schedule amount / number of days in expense recognition term) * (number of days in month)
  • predefinedPercentages - Expenses are allocated based on a table of entries that map the period to recognize with the percentage of the expense amount to be recognized that period.
Enum: "dailyRate" "predefinedPercentages" "straightLine"
Example: "straightLine"
defaultPostingType
string
Default: "manual"

How the expense journal entries will be posted.

  • automatic - Intacct will automatically post the journal entry on each scheduled posting date.
  • manual - The user will manually post the journal entries when desired.
Enum: "automatic" "manual"
Example: "manual"
Array of objects

Contract expense template lines.

Array
periodOffset
string

The number of months in the future from the expense start date the corresponding percentage will post. Use 0 if you want the corresponding percentage to be posted in the month the expense starts.

This field is only applicable when amortizationMethod = predefinedPercentages.

Example: "2"
percentToRecognize
string <decimal-precision-8>

The percentage of the expense amount that is posted at the corresponding number of months from the expense start date.

Example: "10.12312000"
object

The expense template that this line belongs to.

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"
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": "EXPSTRAIGHTLINE_MAN1",
  • "description": "Cont Expenses straighline Amortization Monthly Manual",
  • "defaultPostingType": "manual",
  • "amortizationSchedulePeriod": "monthly",
  • "postingDay": 2,
  • "amortizationMethod": "straightLine"
}
Response samples
application/json
{
  • "ia::result": {
    • "key": "26",
    • "id": "EXPSTRAIGHTLINE_MAN1",
    • "href": "/objects/contracts/expense-template/26"
    },
  • "ia::meta": {
    • "totalCount": 1
    }
}

Get a contract expense template

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

Returns detailed information for a specified contract expense template.

SecurityOAuth2
Request
path Parameters
key
required
string

System-assigned key for the contract expense template.

Example: 1
Responses
200

OK

400

Bad Request

Request samples
Response samples
application/json
{
  • "ia::result": {
    • "key": "1",
    • "id": "EXPSTRAIGHTLINE_MAN",
    • "description": "Cont Expenses straighline Amortization Monthly Manual",
    • "defaultPostingType": "manual",
    • "amortizationSchedulePeriod": "monthly",
    • "postingDay": 1,
    • "amortizationMethod": "straightLine",
    • "status": "active",
    • "audit": {
      • "modifiedDateTime": "2016-05-13T18:22:57Z",
      • "createdDateTime": "2016-05-13T18:22:57Z",
      • "createdByUser": {
        },
      • "createdBy": "1",
      • "modifiedByUser": {
        },
      • "modifiedBy": "1"
      },
    • "lines": [ ],
    • "href": "/objects/contracts/expense-template/1"
    },
  • "ia::meta": {
    • "totalCount": 1,
    • "totalSuccess": 1,
    • "totalError": 0
    }
}

Update a contract expense template

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

Updates an existing contract expense template by setting field values. Any fields not provided remain unchanged.

SecurityOAuth2
Request
path Parameters
key
required
string

System-assigned key for the contract expense template.

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

Description of the expense template.

Example: "Expense straight line manual"
amortizationSchedulePeriod
string
Default: "monthly"

Amortization schedule period.

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

Amortization method.

  • straightLine - Expenses are allocated evenly over the expense recognition term. Partial periods are calculated as total schedule amount / total number of days in the expense recognition term * number of days in the partial period.
  • dailyRate - Expenses are allocated using a daily recognition rate: (total schedule amount / number of days in expense recognition term) * (number of days in month)
  • predefinedPercentages - Expenses are allocated based on a table of entries that map the period to recognize with the percentage of the expense amount to be recognized that period.
Enum: "dailyRate" "predefinedPercentages" "straightLine"
Example: "straightLine"
defaultPostingType
string
Default: "manual"

How the expense journal entries will be posted.

  • automatic - Intacct will automatically post the journal entry on each scheduled posting date.
  • manual - The user will manually post the journal entries when desired.
Enum: "automatic" "manual"
Example: "manual"
Array of objects

Contract expense template lines.

Array
periodOffset
string

The number of months in the future from the expense start date the corresponding percentage will post. Use 0 if you want the corresponding percentage to be posted in the month the expense starts.

This field is only applicable when amortizationMethod = predefinedPercentages.

Example: "2"
percentToRecognize
string <decimal-precision-8>

The percentage of the expense amount that is posted at the corresponding number of months from the expense start date.

Example: "10.12312000"
object

The expense template that this line belongs to.

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"
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": "Cont Expenses straighline Amortization Monthly Manual",
  • "defaultPostingType": "manual",
  • "amortizationSchedulePeriod": "monthly",
  • "postingDay": 3,
  • "amortizationMethod": "straightLine"
}
Response samples
application/json
{
  • "ia::result": {
    • "key": "27",
    • "id": "EXPSTRAIGHTLINE_1",
    • "href": "/objects/contracts/expense-template/27"
    },
  • "ia::meta": {
    • "totalCount": 1,
    • "totalSuccess": 1,
    • "totalError": 0
    }
}

Delete a contract expense template

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

Deletes a contract expense template.

SecurityOAuth2
Request
path Parameters
key
required
string

System-assigned key for the contract expense template.

Example: 1
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
    }
}