Transaction allocation templates

Transaction allocation templates (definitions) provide a way to save standard allocation combinations that are used routinely. You can define an allocation transaction to distribute amounts across multiple dimensions—such as departments, locations, projects, or classes—automatically.

You can allocate a percentage, a set (absolute) value, or a fixed amount with over/under logic. Each of these methods takes the transaction line amount and allocates it across the dimensions specified in the transaction allocation template.

Transaction allocations are intended for use on single line items, allowing you to distribute amounts during entry of a transaction, usually a one-time action. Transaction allocations are only available for distribution across eight of the standard dimensions and have other restrictions as well.

If you want to automatically pull updated source balances and distribute them across dimensions according to defined basis calculations, you should use the Dynamic Allocations subscription. See Account Allocations for more info.

List transaction allocation templates

get/objects/general-ledger/txn-allocation-template

Returns up to 100 transaction allocation templates from the collection with a key, ID, and link for each one. This operation is mostly for use in testing; use the query service to find allocation templates that meet specific criteria and to specify the properties that you want in the response.

SecurityOAuth2
Responses
200

OK

400

Bad Request

Request samples
Response samples
application/json
{
  • "ia::result": [
    • {
      • "key": "1",
      • "id": "Fixed Amount Allocation",
      • "href": "/objects/general-ledger/txn-allocation-template/1"
      },
    • {
      • "key": "2",
      • "id": "Percentage Allocation",
      • "href": "/objects/general-ledger/txn-allocation-template/2"
      }
    ],
  • "ia::meta": {
    • "totalCount": 2,
    • "start": 1,
    • "pageSize": 100,
    • "next": null,
    • "previous": null
    }
}

Create a transaction allocation template

post/objects/general-ledger/txn-allocation-template

Creates a new transaction allocation template, optionally including allocation template lines.

SecurityOAuth2
Request
Request Body schema: application/json
required

Transaction allocation template to create

id
required
string

User defined transaction allocation template ID.

Example: "FA_ALLOC"
required
Array of objects non-empty

Transaction allocation lines.

Array (non-empty)
value
required
string

The exact amount or percentage to allocate for this line.

Example: "60.56"
required
object

Dimensions to use in allocations.

valueType
string
Default: "amount"

Specifies whether the current line is an exact amount or percentage. Must be set when creating fixedAmount allocations, but is set automatically for percentage and exactAmount allocations.

Enum: "amount" "percent"
Example: "amount"
lineNumber
integer

Line number of the allocation entry. For fixedAmount allocations, exact amounts are distributed by line number.

Example: 1
object

Transaction allocation template that this allocation line belongs to.

description
string

A description of the allocation.

Example: "Fixed Amount Allocation"
allocateBy
string
Default: "percentage"

Determines how transaction allocations are split across the dimensions included in a transaction.

  • Use percentage to specify entries as percentages (default)
  • Use exactAmount to specify entries as fixed amounts
  • Use fixedAmount for a combination of both. Exact amounts are distributed first, based on the lineNumber values in each txn-allocation-template-line. Any remaining amount is distributed using the percentage allocations. Entries for exact amounts must have lower line numbers than entries for percentages, and percentages must always total 100%. (You use the valueType parameter on each entry to specify amount or percent.)
Enum: "exactAmount" "fixedAmount" "percentage"
Example: "percentage"
documentNumber
string

A reference number or name to a specific document--such as a contract--used to define the transaction allocation template formula.

Example: "RJEALC"
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"
object

Supporting document ID for this attachment.

key
string
Example: "21"
id
string
Example: "Sales01"
Responses
201

Created

400

Bad Request

Request samples
application/json
{
  • "id": "Fixed amount allocation",
  • "description": "Fixed dollar amount allocation",
  • "status": "active",
  • "allocateBy": "exactAmount",
  • "lines": [
    • {
      • "value": "100",
      • "dimensions": {
        }
      }
    ]
}
Response samples
application/json
{
  • "ia::result": {
    • "key": "4",
    • "id": "Fixed amount allocation",
    • "href": "/objects/general-ledger/txn-allocation-template/4"
    },
  • "ia::meta": {
    • "totalCount": 1,
    • "totalSuccess": 1,
    • "totalError": 0
    }
}

Get a transaction allocation template

get/objects/general-ledger/txn-allocation-template/{key}

Returns detailed information for a specified transaction allocation template.

SecurityOAuth2
Request
path Parameters
key
required
string

System-assigned key for the transaction allocation template.

Example: 2
Responses
200

OK

400

Bad Request

Request samples
Response samples
application/json
{
  • "ia::result": {
    • "key": "3",
    • "id": "Fixed amount allocation",
    • "description": "Fixed dollar amount allocation",
    • "allocateBy": "exactAmount",
    • "documentNumber": "REJCAL",
    • "status": "active",
    • "audit": {
      • "createdDateTime": "2023-06-23T11:32:17Z",
      • "modifiedDateTime": "2023-06-23T12:25:08Z",
      • "createdBy": "1",
      • "modifiedBy": "1"
      },
    • "lines": [
      • {
        }
      ],
    • "href": "/objects/general-ledger/txn-allocation-template/3"
    },
  • "ia::meta": {
    • "totalCount": 1,
    • "totalSuccess": 1,
    • "totalError": 0
    }
}

Update a transaction allocation template

patch/objects/general-ledger/txn-allocation-template/{key}

Updates an existing allocation template and template lines by setting field values. Any fields not provided remain unchanged.

SecurityOAuth2
Request
path Parameters
key
required
string

System-assigned key for the transaction allocation template.

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

A description of the allocation.

Example: "Fixed Amount Allocation"
allocateBy
string
Default: "percentage"

Determines how transaction allocations are split across the dimensions included in a transaction.

  • Use percentage to specify entries as percentages (default)
  • Use exactAmount to specify entries as fixed amounts
  • Use fixedAmount for a combination of both. Exact amounts are distributed first, based on the lineNumber values in each txn-allocation-template-line. Any remaining amount is distributed using the percentage allocations. Entries for exact amounts must have lower line numbers than entries for percentages, and percentages must always total 100%. (You use the valueType parameter on each entry to specify amount or percent.)
Enum: "exactAmount" "fixedAmount" "percentage"
Example: "percentage"
documentNumber
string

A reference number or name to a specific document--such as a contract--used to define the transaction allocation template formula.

Example: "RJEALC"
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"
object

Supporting document ID for this attachment.

key
string
Example: "21"
id
string
Example: "Sales01"
Array of objects non-empty

Transaction allocation lines.

Array (non-empty)
value
string

The exact amount or percentage to allocate for this line.

Example: "60.56"
valueType
string
Default: "amount"

Specifies whether the current line is an exact amount or percentage. Must be set when creating fixedAmount allocations, but is set automatically for percentage and exactAmount allocations.

Enum: "amount" "percent"
Example: "amount"
lineNumber
integer

Line number of the allocation entry. For fixedAmount allocations, exact amounts are distributed by line number.

Example: 1
object

Dimensions to use in allocations.

object

Transaction allocation template that this allocation line belongs to.

Responses
200

OK

400

Bad Request

Request samples
application/json
{
  • "description": "All Shop Allocation",
  • "lines": [
    • {
      • "key": "3",
      • "valueType": "amount",
      • "value": "95"
      }
    ]
}
Response samples
application/json
{
  • "ia::result": {
    • "key": "3",
    • "id": "Fixed amount allocation",
    • "href": "/objects/general-ledger/txn-allocation-template/3"
    },
  • "ia::meta": {
    • "totalCount": 1,
    • "totalSuccess": 1,
    • "totalError": 0
    }
}

Delete a transaction allocation template

delete/objects/general-ledger/txn-allocation-template/{key}

Deletes a transaction allocation template.

SecurityOAuth2
Request
path Parameters
key
required
string

System-assigned key for the transaction allocation template.

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