Subtotal template lines

Line items in a subtotal template. When advanced workflows are enabled in a multi-entity company, subtotal templates allow you to create different sets of subtotals and then refer to them by name within a transaction definition. Subtotal templates simplify setting up and managing transactions definitions.

For more information, see Subtotal templates — Purchasing in the Sage Intacct Help Center.

List subtotal template line objects

get/objects/purchasing/subtotal-template-line

Returns a collection with a key, ID, and link for each subtotal template line. 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": "28",
      • "id": "28",
      • "href": "/objects/purchasing/subtotal-template-line/28"
      },
    • {
      • "key": "15",
      • "id": "15",
      • "href": "/objects/purchasing/subtotal-template-line/15"
      },
    • {
      • "key": "1",
      • "id": "1",
      • "href": "/objects/purchasing/subtotal-template-line/1"
      }
    ],
  • "ia::meta": {
    • "totalCount": 3,
    • "start": 1,
    • "pageSize": 100,
    • "next": null,
    • "previous": null
    }
}

Create a subtotal template line

post/objects/purchasing/subtotal-template-line

Creates a new subtotal template line object.

SecurityOAuth2
Request
Request Body schema: application/json
required
description
required
string <= 100 characters

Provide a description of the subtotal template line. Each description must be unique.

Example: "HandlingCharge"
subtotalType
required
string

Specifies whether the subtotal line item is a discount or charge.

Enum: "charge" "discount"
Example: "charge"
valueType
required
string

The subtotal line item can be either an amount or a percent.

Enum: "amount" "percent"
Example: "amount"
txnType
required
string or null

Indicates whether the subtotal will debit or credit the corresponding GL account and GL offset account.

Enum: "credit" "debit" null
Example: "debit"
lineNumber
integer <= 8 characters

Line number for the template line.

Example: 1
defaultValue
string <decimal-precision-10> <= 12 characters

Default value for the subtotal.

  • If valueType is amount, specify the amount of the subtotal. For example. specify 250.
  • If valueType is percent, specify a percentage as a whole number. For example, specify 10 for 10%. End users can override the default subtotal value in a transaction. The default value can have up to 10 decimals and should be a positive numeric value.
Example: "10"
isApportioned
boolean
Default: false

Indicates whether the discount subtotal will be apportioned across all line items in the transaction. Cannot be enabled if isTax is set to true.

Example: false
applyToLineNumber
integer or null <= 8 characters

Specify the subtotal line number to which the subtotal will apply. Sage Intacct treats the initial subtotal line as line number 0. The first defined subtotal from the transaction definition is line number 1, the second defined subtotal is line number 2, and so on.

Example: 1
isTax
boolean
Default: false

Set to true if the subtotal line is for tax. If set to true, when the transaction posts, the tax will post separately based on the items in the transaction.

Example: false
isAvalaraTax
boolean or null
Default: false

Set to true if the subtotal line item applies to AvaTax. This field only applies if a company is configured to use the Avalara AvaTax integration.

Example: false
object

Specify the GL account to which the subtotal will post. Transactions posted to a cash/bank GL account do not appear during reconciliation.

id
required
string

Unique ID for the account.

Example: "1200"
key
string

Unique key for the account.

Example: "36"
object

Specify the offset GL account to which the subtotal will post.

id
required
string

Unique ID for the account.

Example: "1200.01"
key
string

Unique key for the account.

Example: "37"
object

The purchasing subtotal template that includes this line item detail.

key
required
string <= 8 characters

Unique key for the parent subtotal template.

Example: "30"
id
string <= 8 characters

Unique ID for the parent subtotal template.

Example: "30"
Responses
201

Created

400

Bad Request

Request samples
application/json
{
  • "subtotalTemplate": {
    • "key": "30"
    },
  • "description": "Handling Charge",
  • "subtotalType": "charge",
  • "valueType": "amount",
  • "defaultValue": "20.50",
  • "isApportioned": false,
  • "glAccount": {
    • "id": "1200"
    },
  • "offsetGLAccount": {
    • "id": "1200.01"
    },
  • "txnType": "debit",
  • "applyToLineNumber": 0,
  • "isTax": false,
  • "isAvalaraTax": false
}
Response samples
application/json
{
  • "ia::result": {
    • "key": "28",
    • "id": "28",
    • "href": "/objects/purchasing/subtotal-template-line/28"
    },
  • "ia::meta": {
    • "totalCount": 1,
    • "totalSuccess": 1,
    • "totalError": 0
    }
}

Get a subtotal template line

get/objects/purchasing/subtotal-template-line/{key}

Returns detailed information for a specified subtotal template line.

SecurityOAuth2
Request
path Parameters
key
required
string

System-assigned unique key for the subtotal template line.

Example: 28
Responses
200

OK

400

Bad Request

Request samples
Response samples
application/json
{
  • "ia::result": {
    • "key": "28",
    • "id": "28",
    • "description": "Handling Charge",
    • "subtotalTemplate": {
      • "key": "30",
      • "id": "30",
      • "href": "/objects/purchasing/subtotal-template/30"
      },
    • "subtotalType": "charge",
    • "lineNumber": 0,
    • "valueType": "amount",
    • "defaultValue": "20.50",
    • "isApportioned": false,
    • "glAccount": {
      • "key": "36",
      • "id": "1200",
      • "href": "/objects/general-ledger/account/36"
      },
    • "offsetGLAccount": {
      • "key": "37",
      • "id": "1200.01",
      • "href": "/objects/general-ledger/account/37"
      },
    • "txnType": "debit",
    • "applyToLineNumber": 0,
    • "isTax": false,
    • "isAvalaraTax": false,
    • "audit": {
      • "createdDateTime": "2025-05-15T16:46:11Z",
      • "modifiedDateTime": "2025-05-15T16:46:11Z",
      • "createdBy": "1",
      • "modifiedBy": "1"
      },
    • "href": "/objects/purchasing/subtotal-template-line/28"
    },
  • "ia::meta": {
    • "totalCount": 1,
    • "totalSuccess": 1,
    • "totalError": 0
    }
}

Update a subtotal template line

patch/objects/purchasing/subtotal-template-line/{key}

Updates an existing subtotal template line object by setting field values. Any fields not provided remain unchanged. Changes that are made to a subtotal template that affect the amount or percent of a subtotal line will not apply to existing transaction definitions. The previous subtotal details will be used instead. Any changes will always apply to new transaction definitions.

SecurityOAuth2
Request
path Parameters
key
required
string

System-assigned unique key for the subtotal template line.

Example: 28
Request Body schema: application/json
description
string <= 100 characters

Provide a description of the subtotal template line. Each description must be unique.

Example: "HandlingCharge"
subtotalType
string

Specifies whether the subtotal line item is a discount or charge.

Enum: "charge" "discount"
Example: "charge"
lineNumber
integer <= 8 characters

Line number for the template line.

Example: 1
valueType
string

The subtotal line item can be either an amount or a percent.

Enum: "amount" "percent"
Example: "amount"
defaultValue
string <decimal-precision-10> <= 12 characters

Default value for the subtotal.

  • If valueType is amount, specify the amount of the subtotal. For example. specify 250.
  • If valueType is percent, specify a percentage as a whole number. For example, specify 10 for 10%. End users can override the default subtotal value in a transaction. The default value can have up to 10 decimals and should be a positive numeric value.
Example: "10"
isApportioned
boolean
Default: false

Indicates whether the discount subtotal will be apportioned across all line items in the transaction. Cannot be enabled if isTax is set to true.

Example: false
txnType
string or null

Indicates whether the subtotal will debit or credit the corresponding GL account and GL offset account.

Enum: "credit" "debit" null
Example: "debit"
applyToLineNumber
integer or null <= 8 characters

Specify the subtotal line number to which the subtotal will apply. Sage Intacct treats the initial subtotal line as line number 0. The first defined subtotal from the transaction definition is line number 1, the second defined subtotal is line number 2, and so on.

Example: 1
isTax
boolean
Default: false

Set to true if the subtotal line is for tax. If set to true, when the transaction posts, the tax will post separately based on the items in the transaction.

Example: false
isAvalaraTax
boolean or null
Default: false

Set to true if the subtotal line item applies to AvaTax. This field only applies if a company is configured to use the Avalara AvaTax integration.

Example: false
object

Specify the GL account to which the subtotal will post. Transactions posted to a cash/bank GL account do not appear during reconciliation.

key
string

Unique key for the account.

Example: "36"
id
string

Unique ID for the account.

Example: "1200"
object

Specify the offset GL account to which the subtotal will post.

key
string

Unique key for the account.

Example: "37"
id
string

Unique ID for the account.

Example: "1200.01"
object

The purchasing subtotal template that includes this line item detail.

key
string <= 8 characters

Unique key for the parent subtotal template.

Example: "30"
id
string <= 8 characters

Unique ID for the parent subtotal template.

Example: "30"
Responses
200

OK

400

Bad Request

Request samples
application/json
{
  • "subtotalType": "charge",
  • "defaultValue": "25.00"
}
Response samples
application/json
{
  • "ia::result": {
    • "key": "28",
    • "id": "28",
    • "href": "/objects/purchasing/subtotal-template-line/28"
    },
  • "ia::meta": {
    • "totalCount": 1,
    • "totalSuccess": 1,
    • "totalError": 0
    }
}

Delete a subtotal template line

delete/objects/purchasing/subtotal-template-line/{key}

Deletes a subtotal template line.

SecurityOAuth2
Request
path Parameters
key
required
string

System-assigned unique key for the subtotal template line.

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