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/order-entry/subtotal-template

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

SecurityOAuth2
Responses
200

OK

400

Bad Request

Request samples
Response samples
application/json
{
  • "ia::result": [
    • {
      • "key": "1",
      • "id": "UK VAT",
      • "href": "/objects/order-entry/subtotal-template/1"
      },
    • {
      • "key": "2",
      • "id": "InvoiceTax",
      • "href": "/objects/order-entry/subtotal-template/2"
      },
    • {
      • "key": "3",
      • "id": "SalesInvoiceCharges",
      • "href": "/objects/order-entry/subtotal-template/3"
      },
    • {
      • "key": "4",
      • "id": "Avalara",
      • "href": "/objects/order-entry/subtotal-template/4"
      }
    ],
  • "ia::meta": {
    • "totalCount": 4,
    • "start": 1,
    • "pageSize": 100,
    • "next": null,
    • "previous": null
    }
}

Create a subtotal template

post/objects/order-entry/subtotal-template

Creates a new order entry subtotal template.

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

The name of the order entry subtotal template.

Example: "SalesInvoiceCharges"
Array of objects

Details of the order entry subtotal template.

Array
description
required
string <= 100 characters

Description of the subtotal. Each subtotal description must be unique.

Example: "FreightCharge"
subtotalType
required
string

Indicates whether the subtotal is a discount or charge.

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

The subtotal can be either the amount type or the 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, enter 250. If valueType is percent, specify a percentage as a whole number. For example, 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.00"
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
object

Specify the GL account to which the subtotal will post.

object

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

applyToLineNumber
integer <= 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
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
Responses
201

Created

400

Bad Request

Request samples
application/json
{
  • "id": "SalesInvoiceCharges",
  • "lines": [
    • {
      • "description": "FreightCharge",
      • "subtotalType": "discount",
      • "lineNumber": 0,
      • "valueType": "amount",
      • "defaultValue": "10.00",
      • "glAccount": {
        },
      • "offsetGLAccount": {
        },
      • "txnType": "debit"
      },
    • {
      • "description": "Discount",
      • "subtotalType": "discount",
      • "lineNumber": 1,
      • "valueType": "percent",
      • "defaultValue": "5",
      • "isApportioned": false,
      • "glAccount": {
        },
      • "offsetGLAccount": {
        },
      • "txnType": "debit"
      },
    • {
      • "description": "CASTax",
      • "subtotalType": "charge",
      • "lineNumber": 2,
      • "valueType": "percent",
      • "defaultValue": "6",
      • "isApportioned": false,
      • "glAccount": {
        },
      • "offsetGLAccount": {
        },
      • "txnType": "debit"
      }
    ]
}
Response samples
application/json
{
  • "ia::result": {
    • "key": "3",
    • "id": "SalesInvoiceCharges",
    • "href": "/objects/order-entry/subtotal-template/3"
    },
  • "ia::meta": {
    • "totalCount": 1,
    • "totalSuccess": 1,
    • "totalError": 0
    }
}

Get a subtotal template

get/objects/order-entry/subtotal-template/{key}

Returns detailed information for a specified order entry subtotal template.

SecurityOAuth2
Request
path Parameters
key
required
string

System-assigned unique key for the subtotal template.

Example: 52
Responses
200

OK

400

Bad Request

Request samples
Response samples
application/json
{
  • "ia::result": {
    • "key": "3",
    • "id": "SalesInvoiceCharges",
    • "moduleKey": "8.SO",
    • "lines": [
      • {
        },
      • {
        },
      • {
        }
      ],
    • "audit": {
      • "createdDateTime": "2024-05-15T16:46:11Z",
      • "modifiedDateTime": "2024-05-15T16:46:11Z",
      • "createdBy": "1",
      • "modifiedBy": "1"
      },
    • "href": "/objects/order-entry/subtotal-template/3"
    },
  • "ia::meta": {
    • "totalCount": 1,
    • "totalSuccess": 1,
    • "totalError": 0
    }
}

Update a subtotal template

patch/objects/order-entry/subtotal-template/{key}

Updates an existing order entry 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: 52
Request Body schema: application/json
Array of objects

Details of the order entry subtotal template.

Array
description
string <= 100 characters

Description of the subtotal. Each subtotal description must be unique.

Example: "FreightCharge"
subtotalType
string

Indicates whether the subtotal is a discount or charge.

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

Line number for the subtotal template line.

Example: 1
valueType
string

The subtotal can be either the amount type or the 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, enter 250. If valueType is percent, specify a percentage as a whole number. For example, 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.00"
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
object

Specify the GL account to which the subtotal will post.

object

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

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 <= 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
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
Responses
200

OK

400

Bad Request

Request samples
application/json
{
  • "lines": [
    • {
      • "key": "4",
      • "glAccount": {
        }
      }
    ]
}
Response samples
application/json
{
  • "ia::result": {
    • "key": "3",
    • "id": "SalesInvoiceCharges",
    • "href": "/objects/order-entry/subtotal-template/3"
    },
  • "ia::meta": {
    • "totalCount": 1,
    • "totalSuccess": 1,
    • "totalError": 0
    }
}

Delete a subtotal template

delete/objects/order-entry/subtotal-template/{key}

Deletes an order entry subtotal template.

SecurityOAuth2
Request
path Parameters
key
required
string

System-assigned unique key for the subtotal template.

Example: 52
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