Subtotal templates

In a multi-entity organization, subtotal templates enable you to create different sets of subtotals and then refer to them by name within a transaction definition. They simplify setting up and managing transactions definitions.

List subtotal templates

get/objects/purchasing/subtotal-template

Returns a collection with a key, ID, and link for each purchasing subtotal template.

SecurityOAuth2
Responses
200

OK

400

Bad Request

Request samples
Response samples
application/json
{
  • "ia::result": [
    • {
      • "key": "27",
      • "id": "VAT",
      • "href": "/objects/purchasing/subtotal-template/27"
      },
    • {
      • "key": "28",
      • "id": "Invoice Tax",
      • "href": "/objects/purchasing/subtotal-template/28"
      },
    • {
      • "key": "30",
      • "id": "Invoice Charges",
      • "href": "/objects/purchasing/subtotal-template/30"
      }
    ],
  • "ia::meta": {
    • "totalCount": 3,
    • "start": 1,
    • "pageSize": 100,
    • "next": null,
    • "previous": null
    }
}

Create a subtotal template

post/objects/purchasing/subtotal-template

Creates a new purchasing subtotal template.

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

The name of the purchasing Subtotal Template.

Example: "Invoice Charges"
Array of objects

Details of the purchasing subtotal template.

Array
description
required
string <= 100 characters

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

Example: "HandlingCharge"
subtotalType
required
string

Indicates whether the subtotal is discount or charge.

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

The subtotal can be either an amount type or a percent type.

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 subtotal 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 the transaction. It can have up to 10 decimals and should be a positive numeric field.

Example: "10"
isApportioned
boolean
Default: false

Indicate 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

Flags the subtotal as a tax. When the transaction posts, the tax will post separately based on the items in the transaction. Set to true if the subtotal line is for tax.

Example: false
isAvalaraTax
boolean or null
Default: false

Set to true if the subtotal line item applies to AvaTax. This field only applies if your company uses the Avalara AvaTax integration.

Example: false
object

Select the GL account to which the subtotal will post.

object

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

object

The purchasing subtotal template that includes this line detail.

Responses
201

Created

400

Bad Request

Request samples
application/json
{
  • "id": "Invoice Charges",
  • "lines": [
    • {
      • "description": "HandlingCharge",
      • "subtotalType": "charge",
      • "valueType": "amount",
      • "defaultValue": "20.50",
      • "isApportioned": false,
      • "glAccount": {
        },
      • "offsetGLAccount": {
        },
      • "txnType": "debit",
      • "applyToLineNumber": 0,
      • "isTax": false,
      • "isAvalaraTax": false
      }
    ]
}
Response samples
application/json
{
  • "ia::result": {
    • "key": "30",
    • "id": "Invoice Charges",
    • "href": "/objects/purchasing/subtotal-template/30"
    },
  • "ia::meta": {
    • "totalCount": 1,
    • "totalSuccess": 1,
    • "totalError": 0
    }
}

Get a subtotal template

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

Returns detailed information for a specified purchasing subtotal template.

SecurityOAuth2
Request
path Parameters
key
required
string

System-assigned unique key for the subtotal template.

Example: 85
Responses
200

OK

400

Bad Request

Request samples
Response samples
application/json
{
  • "ia::result": {
    • "key": "30",
    • "id": "Invoice Charges",
    • "moduleKey": "9.PO",
    • "lines": [
      • {
        }
      ],
    • "href": "/objects/purchasing/subtotal-template/30",
    • "audit": {
      • "createdDateTime": "2024-05-28T07:14:59Z",
      • "modifiedDateTime": "2024-05-28T11:55:51Z",
      • "createdBy": "1",
      • "modifiedBy": "1"
      }
    },
  • "ia::meta": {
    • "totalCount": 1,
    • "totalSuccess": 1,
    • "totalError": 0
    }
}

Update a subtotal template

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

Updates an existing purchasing subtotal template by setting field values. Any fields not provided remain unchanged.

SecurityOAuth2
Request
path Parameters
key
required
string

System-assigned unique key for the subtotal template.

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

Details of the purchasing subtotal template.

Array
description
string <= 100 characters

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

Example: "HandlingCharge"
subtotalType
string

Indicates whether the subtotal is discount or charge.

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

Line number for the subtotal template line.

Example: 1
valueType
string

The subtotal can be either an amount type or a percent type.

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 the transaction. It can have up to 10 decimals and should be a positive numeric field.

Example: "10"
isApportioned
boolean
Default: false

Indicate 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

Flags the subtotal as a tax. When the transaction posts, the tax will post separately based on the items in the transaction. Set to true if the subtotal line is for tax.

Example: false
isAvalaraTax
boolean or null
Default: false

Set to true if the subtotal line item applies to AvaTax. This field only applies if your company uses the Avalara AvaTax integration.

Example: false
object

Select the GL account to which the subtotal will post.

object

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

object

The purchasing subtotal template that includes this line detail.

Responses
200

OK

400

Bad Request

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

Delete a subtotal template

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

Deletes a subtotal template.

SecurityOAuth2
Request
path Parameters
key
required
string

System-assigned unique key for the subtotal template.

Example: 85
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 subtotal templates

post/services/core/query

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

SecurityOAuth2
Responses
200

OK

Request samples