Transaction definitions

A purchasing transaction definition includes the accounting rules, workflow settings, security settings, and other characteristics for a transaction.

Please be aware that this object is currently "Uncertified", signifying that it has not undergone the complete review process and the design may change during ongoing refinement. Users are advised to exercise discretion in using this object and are encouraged to provide feedback.

List transaction definitions

get/objects/purchasing/txn-definition

Returns a collection with a key, ID, and link for each purchasing transaction definition. This operation is mostly for use in testing; use query 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": "23",
      • "id": "PO Receiver Invoice",
      • "href": "/objects/purchasing/txn-definition/23"
      },
    • {
      • "key": "1",
      • "id": "Purchase Requisition",
      • "href": "/objects/purchasing/txn-definition/1"
      },
    • {
      • "key": "2",
      • "id": "Vendor Invoice",
      • "href": "/objects/purchasing/txn-definition/2"
      }
    ],
  • "ia::meta": {
    • "totalCount": 3,
    • "start": 1,
    • "pageSize": 100,
    • "next": null,
    • "previous": null
    }
}

Create a transaction definition

post/objects/purchasing/txn-definition

Creates a new purchasing transaction definition.

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

The name of the purchasing transaction definition.

Example: "Purchase Order"
docClass
string
Default: "quote"

Purchasing transaction template type. Template type determines whether certain fields appear on the transaction.

Enum: "adjustment" "invoice" "list" "order" "other" "quote"
Example: "quote"
workflowCategory
string
Default: "quote"

Workflow category associated with a purchasing transaction.

Enum: "invoice" "order" "quote" "return" "shipping"
Example: "quote"
disableTax
boolean
Default: false

Set to true to disable tax capture for the transaction.

Example: false
enableOverrideTax
boolean
Default: false

Indicates whether users can override whether a line item is taxable.

Example: false
enableNumberingSequence
boolean
Default: false

Set to true to enable numbering sequence for the transaction.

Example: false
preserveNumberingSequence
boolean
Default: false

Set to true to preserve sequence numbers.

Example: false
inheritDocumentNumber
boolean
Default: false

Set to true if transactions should inherit source document numbers. For example, a transaction could inherit a purchase order number.

Example: false
xslTemplate
string

Document template to use for printed output (PDFs).

Example: "Purchasing"
description
string

Description about purchasing transaction definition.

Example: "Document used for Purchase Return"
inventoryUpdateType
string
Default: "no"

Specify if inventory will be affected by the transaction and, if so, whether to track the quantity, value, or both .

Enum: "no" "quantity" "quantityAndValue" "value"
Example: "no"
txnPostingMethod
string
Default: "noPosting"

Specify whether the transaction post process creates a GL entry and, if so, whether it will post directly to the GL or to the AP subledger.

Enum: "noPosting" "toAP" "toGL"
Example: "toGL"
partialConvertMethod
string
Default: "closeTransaction"

Specify how the system processes transactions that are partially complete.

Enum: "closeOriginalAndCreateBackOrder" "closeTransaction" "leaveTransactionOpen"
Example: "closeTransaction"
object
key
string

The ID of the exchange rate type.

Example: "-1"
id
string

The name of exchange rate type.

Example: "Intacct Daily Rate"
overrideExchangeRateType
boolean
Default: true

If set to true can users edit both the 'Exchange rate' and the 'Exchange rate type' fields.

Example: false
showBaseCurrency
boolean
Default: false

Specifies whether the transaction amounts are displayed in both base currency and transaction currency.

Example: false
enableCreditLimitCheck
boolean
Default: false

Specifies whether to enforce customer credit limit restrictions in transactions created from this definition.

Example: false
freezeRecallValue
boolean
Default: false

Set to true to freeze recalled values

Example: false
overridePrice
boolean
Default: true

Set to true to allow users to override line item prices on the transaction.

Example: false
enableSubtotals
boolean
Default: false

Set to true to specify standard subtotals, such as tax or a discount, for the transaction. When you set this field to true, you must add at least one subtotal detail.

Example: false
showExpandedTaxDetails
boolean
Default: false

Set to true to show expanded tax details in the transaction user interface and in printed output. This field applies only to companies that use Avalara AvaTax or Sage Intacct Advanced Tax.

Example: false
allowDepartmentOverride
boolean
Default: false

Set to true to allow users to override the department set for the transaction.

Example: false
allowLocationOverride
boolean
Default: false

Set to 'true' to allow users to override the location set for the transaction.

Example: false
requireSupplyOfPrices
boolean
Default: false

Set to true if a price must be supplied.

Example: false
fixedMessage
string

This message is displayed in the Print/Email document.

Example: "For any inquiries or assistance, please contact our customer service."
editPolicy
string
Default: "all"

Sets the edit permission for this transaction type. By default, the user cannot edit the transaction after it is created.

Enum: "all" "beforePrinting" "editInDraftOnly" "noEdit"
Example: "noEdit"
deletePolicy
string
Default: "all"

Sets the delete permission for this transaction type. By default, a user cannot delete a transaction after it is created.

Enum: "all" "beforePrinting" "noDelete"
Example: "all"
customerVendorEditRule
string or null
Default: null

Allow users to change the customer in Draft or Pending transactions if the transaction has not been converted to another transaction, the transaction date is in an open period, and the transaction's payment status is not Paid or Partially paid. By default, the users cannot edit the customer.

Enum: "always" "exceptConvertedDocuments" "never" null
Example: "always"
printPayToContact
boolean
Default: false

Set to true to show the Pay to contact on printed purchasing transaction definitions.

Example: false
printReturnToContact
boolean
Default: false

Set to true to show the Return to contact on printed purchasing transaction definitions.

Example: false
printDeliverToContact
boolean
Default: false

Set to true to show the Deliver to contact on printed purchasing transaction definitions.

Example: false
allowEditingPayToContact
boolean
Default: false

If true then allow users to change the Pay-to contact during transaction entry.

Example: false
allowEditingReturnToContact
boolean
Default: false

If true then allow users to change the Return-to contact during transaction entry.

Example: false
allowEditingDeliverToContact
boolean
Default: false

If true then allow users to change the Deliver-to contact during transaction entry.

Example: false
contactOneTitle
string
Default: "Pay to"

Use this field to change the Pay-to labels on the transaction and on the printed document.

Example: "Pay to"
contactTwoTitle
string
Default: "Return to"

Use this field to change the Return-to labels on the transaction and on the printed document.

Example: "Return to"
contactThreeTitle
string
Default: "Deliver to"

Use this field to change the Deliver-to labels on the transaction and on the printed document.

Example: "Deliver to"
enableWarnOnLowQuantity
boolean
Default: true

Indicates whether to alert the user if the quantity needed is greater than the ONHAND total in the selected warehouse. The warning also shows the ONORDER and ONHOLD totals.

Example: false
warehouseSelectionMethod
string
Default: "sortByID"

Determines how warehouses are presented to the user in the warehouse list in the transaction.

Enum: "sortByID" "sortByName" "useTheDefaultWarehouse" "warehouseWithAvailableInventory"
Example: "sortByID"
postToGL
boolean
Default: false

If true then the Additional GL posting account mapping can be setup for this transaction definition.

Example: false
enableAllocations
boolean
Default: false

If true then enable Allocations in the transaction.

Example: false
documentConversionPolicy
string or null
Default: null

Specify whether transactions can be converted and added as new, standalone documents, or converted only from previous transactions in the workflow.

Enum: "convertOnly" "newDocumentOnly" "newDocumentOrConvert" null
Example: "convertOnly"
multiEntityRuleForTransaction
string
Default: "topLevelOrEntity"

Sets the context for where users can create transactions from this transaction definition within a multi-entity, shared environment.

Enum: "entityOnly" "topLevelOnly" "topLevelOrEntity"
Example: "topLevelOrEntity"
object

Specifies the template for populating the transaction subtotals table.

key
string

Subtotal template key.

Example: "120"
id
string

Name of a purhcasing subtotal template.

Example: "Subtotal template"
lineLevelSimpleTax
boolean
Default: false

If true then enable line-level Simple Tax.

Example: false
enableRetainage
boolean
Default: false

Set to 'true' to enable retainage.

Example: false
enableAdditionalInformationScope
boolean
Default: false

For companies subscribed to Construction, set to true to enable scoping included and excluded work.

Example: false
enableAdditionalInformationSchedule
boolean
Default: false

For companies subscribed to Construction, set to true to enable scheduling of work milestones.

Example: false
enableInternalReference
boolean
Default: false

For companies subscribed to Construction, set to true to enable identification of the internal resource who authorized the work.

Example: false
enableExternalReference
boolean
Default: false

For companies subscribed to Construction, set to true to enable identification of the external resource who authorized the work.

Example: false
enableBond
boolean
Default: false

For companies subscribed to Construction, set to true to enable addition of information about performance and payment bonds.

Example: false
documentChangeType
string or null
Default: null

For companies subscribed to Construction, establish whether document values can be changed and how.

Enum: "changeOrder" "enableChange" "noChange" null
Example: "enableChange"
enablePrimaryDocumentWorkflow
boolean
Default: false

Set to 'true' to enable primary document workflow.

Example: false
increaseOrDecreaseInventory
string
Default: "increase"

Increases or decreases inventory. System will auto assign depending on Inventory totals selected and if its adding quantity/value or decrease the quantity/value.

Enum: "decrease" "increase"
Example: "increase"
reportingCategory
string or null
Default: null

Establishes a reporting category that best reflects the purpose of the transaction definition so that similar documents can be grouped when building reports. This field is applicable for use with Interactive Custom Report Writer or Interactive Visual Explorer subscriptions only.

Enum: "bidsAndQuotes" "blanketPurchaseOrdersOrVendorContracts" "grantAwards" "grantRequests" "internalSupplyRequisitions" null "purchaseClearingReceivers" "purchaseCredits" "purchaseDebits" "purchaseOrderChangeOrders" "purchaseOrderInvoices" "purchaseOrders" "purchaseReceivers" "purchaseRequisitions" "purchaseReturns" "subcontractBids" "subcontractChangeOrders" "subcontractInvoices" "subcontracts"
Example: "bidsAndQuotes"
object

The first price list the system will evaluate when determining a suggested transaction price.

key
string

System-assigned key for the purchasing price list.

Example: "200"
id
string

ID for the initial price list.

Example: "Initial Price List"
object

Select the numbering sequence to use to automatically number transactions

key
string

Document sequence Key

Example: "55"
id
string

The ID of the numbering sequence.

Example: "Adjustment Decrease"
object

When the layered price list feature is active, this signifies that a special price list has higher priority over the Initial price list.

key
string

System-assigned key for the special price list.

Example: "121"
id
string

Special price list ID.

Example: "Special price list"
object

The price list that will be updated when a user saves a transaction.

key
string

System-assigned key for the purchasing price list.

Example: "423"
id
string

The name of purchase order price list.

Example: "PO Price List"
object

Accounts Payable (AP) term, which determines the expiration date for quotes and the due date for invoices.

key
string

System-assigned key for the AP term.

Example: "223"
id
string

The name of AP term.

Example: "10 Days"
object

Default warehouse

key
string

Default warehouse key.

Example: "323"
id
string

Unique identifier for the warehouse.

Example: "Warehouse-001"
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"
Array of objects

When Transaction posting is set to Accounts Payable and Enable additional posting is set to true, specify the GL account details for additional GL account posting. These accounts are used to reverse the previous transaction in the workflow.

Array
isOffset
boolean
Default: false

If set to true, the GL account is marked as offset.

Example: true
txnType
string

Indicate whether to debit or credit the corresponding GL account.

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

Line number of the COGs GL detail on the transaction definition. If not provided, the system automatically assigns a unique line number. If you specify a lineNumber already used, the application sets other lines to unique numbers. The application uses this line number to post to the GL in the order provided.

Example: 1
object

Set the GL account to which this transaction posts for the specified account mapping (itemGLGroup and warehouse).

object

Set the default location against which the line item will be recorded.

object

Set the default department against which the line item will be recorded.

object

The Item GL group and Warehouse together form the criteria set for the account mapping.

object

The Item GL group and Warehouse together form the criteria set for the account mapping.

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

Purchasing transaction definition associated with this additional GL account detail object.

Array of objects

When Transaction posting is set to Accounts Payable or General Ledger, specify and define the AP or GL accounts to debit and credit.

Array
isOffset
boolean
Default: false

If set to true, the line is marked as offset.

Example: true
txnType
string

Indicates whether to debit or credit the corresponding GL account.

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

Line number of AP account detail on the transaction definition. If not provided, the system automatically assigns a unique line number. If you specify a lineNumber that is already used, the application sets other lines to unique numbers. The application uses this line number to post to the GL in the order provided.

Example: 1
object

The General Ledger account to which this transaction posts.

object

Location associated with the transaction definition account detail object.

object

Department associated with the transaction definition account detail object.

object

Item GL group associated with the transaction definition account detail object.

object

Warehouse associated with the transaction definition account detail object.

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

Purchasing transaction definition associated with this transaction definition account detail object.

Array of objects

Inventory total detail for Purchase transaction

Array
maintainType
string

Specify whether to track the quantity, value, or both for the specified inventoryTotal.

Enum: "quantity" "quantityAndValue" "value"
Example: "value"
operation
string

Specify whether the amount will increase or decrease when the user saves the transaction.

Enum: "add" "subtract"
Example: "add"
object

Specify the inventory total that will be affected by the transaction.

object

Purchasing transaction definition associated with this inventory total detail.

Array of objects

subtotal detail for Purchasing transaction

Array
subtotalType
string or null
Default: null

Indicates whether the subtotal type is discount or charge.

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

Line number for the subtotal on the transaction definition. If not provided, the system automatically assigns a unique line number. If you specify a lineNumber already used, the application sets other lines to unique numbers. The transaction definition uses the line numbers to display the order of subtotals.

Example: 1
description
string <= 100 characters

Provide a text description of the subtotal. A unique description is required to create a transaction definition subtotal detail object.

Example: "Discount"
valueType
string or null
Default: null

Value type for the subtotal. Options are amount or percent.

Enum: "amount" null "percent"
Example: "amount"
subtotalValue
string <decimal-precision-2> <= 12 characters

Provide a default value for the subtotal. If valueType is amount, specify the amount of the subtotal. For example, 250. If valueType is percent, provide a percentage as a whole number. For example, specify 10 for 10%. End users can override the default subtotal value in the transaction.

Example: "10"
isApportioned
boolean
Default: false

If set to true, the subtotal will be apportioned across all line items in the transaction.

Example: true
object

The GL account to which the subtotal will post.

object

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

txnType
string or null
Default: null

Indicates the transaction type, which can be debit or credit.

Enum: "credit" "debit" null
Example: "credit"
appliedToLineNumber
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. The value of appliedToLineNumber is implicitly assumed to be 0. Taxes, all other charges, and discounts are computed at the line level. This field does not apply if enableLineLevelSimpleTax is set to true.

Example: 1
isTax
boolean
Default: false

Set this field to true for tax subtotal lines if your organization uses Simple Tax, Advanced Tax, or Avalara AvaTax. When the transaction posts, the tax will post separately based on the items in the transaction.

Example: true
object

Specify a default department for the subtotal.

enableAvalaraTax
boolean
Default: false

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

Example: true
object

Purchasing transaction definition associated with this transaction definition subtotal detail.

Array of objects

Document conversion detail for a Purchasing transaction

Array
object

Specify the transaction definitions from which this transaction can be converted. For example, a purchasing invoice can be converted from a purchase order.

object

Purchasing transaction definition associated with this source document detail object.

Array of objects

Entity detail for Purchasing transaction creation

Array
enableNumberingSequence
boolean
Default: false

Set to true to enable sequence numbering.

Example: false
preserveNumberingSequence
boolean
Default: false

Set to true to preserve sequence numbering. Ensures that numbers are never skipped.

Example: false
canInheritSourceDocumentNumber
boolean
Default: false

Set to true to inherit source document number. For example, if you convert transfer out TO-001 into a transfer in, the number for the transfer in will be TO-001 if the transfer in is set to inherit the source transaction number.

Example: false
object

Provide the printed document template to use as the default for printed output (PDFs) for the corresponding entity. The template for the transaction definition document is used if a template is not specified in this field.

object

Specify the template to use to populate the transaction subtotals table.

showExpandedTaxDetail
boolean
Default: false

Indicates whether to show expanded tax details in the user interface and in the printed output. For example, you might have State, Territory, Local, and District taxes. If you want the transaction printed output to show all taxes, set this field to true. If you want the printed output to have one tax subtotal, set this field to false. This field is only applicable to companies that use Avalara AvaTax or Advanced Tax and applies only if subtotals are enabled.

Example: false
enableOverrideTax
boolean
Default: false

Set to true to enable users to override whether an item is taxable. This field is only applicable if subtotals are enabled.

Example: false
enableLineLevelSimpleTax
boolean
Default: false

Set to true to allow the tax rate to be overridden at the line level when using Simple Tax. This field is only applicable if subtotals are enabled.

Example: false
object

Entity associated with the transaction definition.

object

Specifies the numbering sequence to use to automatically number transactions for the corresponding entity.

object

Purchasing transaction definition

Responses
201

Created

400

Bad Request

Request samples
application/json
{
  • "id": "Purchase Order",
  • "docClass": "order",
  • "workflowCategory": "order",
  • "description": "Purchasing Txn definition for P&G",
  • "entitySettingDetail": [
    • {
      • "enableNumberingSequence": false,
      • "entity": {
        },
      • "documentSequence": {
        },
      • "preserveNumberingSequence": false,
      • "canInheritSourceDocumentNumber": false,
      • "enableCreateTransactionRule": true,
      • "showExpandedTaxDetail": false,
      • "enableOverrideTax": false,
      • "enableLineLevelSimpleTax": false
      }
    ]
}
Response samples
application/json
{
  • "ia::result": {
    • "key": "100",
    • "href": "/objects/purchasing-txn-definition/100"
    },
  • "ia::meta": {
    • "totalCount": 1,
    • "totalSuccess": 1,
    • "totalError": 0
    }
}

Get a transaction definition

get/objects/purchasing/txn-definition/{key}

Returns detailed information for a specified purchasing transaction definition.

SecurityOAuth2
Request
path Parameters
key
required
string

System-assigned unique key for the transaction definition.

Responses
200

OK

400

Bad Request

Request samples
Response samples
application/json
{
  • "ia::result": {
    • "key": "96",
    • "id": "Purchase Order",
    • "docClass": "order",
    • "workflowCategory": "order",
    • "description": "PO TD",
    • "enableUserOrGroupPermmission": false,
    • "editPolicy": "noEdit",
    • "deletePolicy": "noDelete",
    • "enableNumberingSequence": false,
    • "preserveNumberingSequence": false,
    • "inheritDocumentNumber": false,
    • "inventoryUpdateType": "no",
    • "increaseOrDecreaseInventory": "increase",
    • "txnPostingMethod": "noPosting",
    • "disableTax": false,
    • "partialConvertMethod": "closeTransaction",
    • "affectsCost": false,
    • "overrideExchangeRateType": true,
    • "showBaseCurrency": false,
    • "overridePrice": true,
    • "enableSubtotals": true,
    • "showExpandedTaxDetails": false,
    • "enableOverrideTax": false,
    • "allowLocationOverride": true,
    • "allowDepartmentOverride": true,
    • "contactOneTitle": "Pay to",
    • "printPayToContact": false,
    • "allowEditingPayToContact": false,
    • "contactThreeTitle": "Return to",
    • "contactTwoTitle": "Return to",
    • "printReturnToContact": false,
    • "allowEditingReturnToContact": false,
    • "printDeliverToContact": false,
    • "allowEditingDeliverToContact": false,
    • "enableWarnOnLowQuantity": true,
    • "enableCreditLimitCheck": false,
    • "warehouseSelectionMethod": "sortByID",
    • "status": "active",
    • "postToGL": false,
    • "enableAllocations": false,
    • "audit": {
      • "createdDateTime": "2024-03-05T06:09:23Z",
      • "modifiedDateTime": "2024-03-14T05:53:16Z",
      • "createdBy": "1",
      • "modifiedBy": "1"
      },
    • "documentConversionPolicy": "newDocumentOrConvert",
    • "multiEntityRuleForTransaction": "topLevelOrEntity",
    • "lineLevelSimpleTax": false,
    • "customerVendorEditRule": "never",
    • "enableAdditionalInformationScope": false,
    • "enableAdditionalInformationSchedule": false,
    • "enableInternalReference": false,
    • "enableExternalReference": false,
    • "enableBond": false,
    • "inventoryTotalDetail": [
      • {
        }
      ],
    • "subtotalDetail": [
      • {
        },
      • {
        }
      ],
    • "sourceDocumentDetail": [
      • {
        }
      ],
    • "entitySettingDetail": [
      • {
        },
      • {
        }
      ],
    • "href": "/objects/purchasing/txn-definition/96"
    },
  • "ia::meta": {
    • "totalCount": 1,
    • "totalSuccess": 1,
    • "totalError": 0
    }
}

Update a transaction definition

patch/objects/purchasing/txn-definition/{key}

Updates an existing purchasing transaction definition by setting field values. Any fields not provided remain unchanged.

SecurityOAuth2
Request
path Parameters
key
required
string

System-assigned unique key for the transaction definition.

Request Body schema: application/json
docClass
string
Default: "quote"

Purchasing transaction template type. Template type determines whether certain fields appear on the transaction.

Enum: "adjustment" "invoice" "list" "order" "other" "quote"
Example: "quote"
workflowCategory
string
Default: "quote"

Workflow category associated with a purchasing transaction.

Enum: "invoice" "order" "quote" "return" "shipping"
Example: "quote"
disableTax
boolean
Default: false

Set to true to disable tax capture for the transaction.

Example: false
enableOverrideTax
boolean
Default: false

Indicates whether users can override whether a line item is taxable.

Example: false
enableNumberingSequence
boolean
Default: false

Set to true to enable numbering sequence for the transaction.

Example: false
preserveNumberingSequence
boolean
Default: false

Set to true to preserve sequence numbers.

Example: false
inheritDocumentNumber
boolean
Default: false

Set to true if transactions should inherit source document numbers. For example, a transaction could inherit a purchase order number.

Example: false
xslTemplate
string

Document template to use for printed output (PDFs).

Example: "Purchasing"
description
string

Description about purchasing transaction definition.

Example: "Document used for Purchase Return"
inventoryUpdateType
string
Default: "no"

Specify if inventory will be affected by the transaction and, if so, whether to track the quantity, value, or both .

Enum: "no" "quantity" "quantityAndValue" "value"
Example: "no"
txnPostingMethod
string
Default: "noPosting"

Specify whether the transaction post process creates a GL entry and, if so, whether it will post directly to the GL or to the AP subledger.

Enum: "noPosting" "toAP" "toGL"
Example: "toGL"
partialConvertMethod
string
Default: "closeTransaction"

Specify how the system processes transactions that are partially complete.

Enum: "closeOriginalAndCreateBackOrder" "closeTransaction" "leaveTransactionOpen"
Example: "closeTransaction"
object
key
string

The ID of the exchange rate type.

Example: "-1"
id
string

The name of exchange rate type.

Example: "Intacct Daily Rate"
overrideExchangeRateType
boolean
Default: true

If set to true can users edit both the 'Exchange rate' and the 'Exchange rate type' fields.

Example: false
showBaseCurrency
boolean
Default: false

Specifies whether the transaction amounts are displayed in both base currency and transaction currency.

Example: false
enableCreditLimitCheck
boolean
Default: false

Specifies whether to enforce customer credit limit restrictions in transactions created from this definition.

Example: false
freezeRecallValue
boolean
Default: false

Set to true to freeze recalled values

Example: false
overridePrice
boolean
Default: true

Set to true to allow users to override line item prices on the transaction.

Example: false
enableSubtotals
boolean
Default: false

Set to true to specify standard subtotals, such as tax or a discount, for the transaction. When you set this field to true, you must add at least one subtotal detail.

Example: false
showExpandedTaxDetails
boolean
Default: false

Set to true to show expanded tax details in the transaction user interface and in printed output. This field applies only to companies that use Avalara AvaTax or Sage Intacct Advanced Tax.

Example: false
allowDepartmentOverride
boolean
Default: false

Set to true to allow users to override the department set for the transaction.

Example: false
allowLocationOverride
boolean
Default: false

Set to 'true' to allow users to override the location set for the transaction.

Example: false
requireSupplyOfPrices
boolean
Default: false

Set to true if a price must be supplied.

Example: false
fixedMessage
string

This message is displayed in the Print/Email document.

Example: "For any inquiries or assistance, please contact our customer service."
editPolicy
string
Default: "all"

Sets the edit permission for this transaction type. By default, the user cannot edit the transaction after it is created.

Enum: "all" "beforePrinting" "editInDraftOnly" "noEdit"
Example: "noEdit"
deletePolicy
string
Default: "all"

Sets the delete permission for this transaction type. By default, a user cannot delete a transaction after it is created.

Enum: "all" "beforePrinting" "noDelete"
Example: "all"
customerVendorEditRule
string or null
Default: null

Allow users to change the customer in Draft or Pending transactions if the transaction has not been converted to another transaction, the transaction date is in an open period, and the transaction's payment status is not Paid or Partially paid. By default, the users cannot edit the customer.

Enum: "always" "exceptConvertedDocuments" "never" null
Example: "always"
printPayToContact
boolean
Default: false

Set to true to show the Pay to contact on printed purchasing transaction definitions.

Example: false
printReturnToContact
boolean
Default: false

Set to true to show the Return to contact on printed purchasing transaction definitions.

Example: false
printDeliverToContact
boolean
Default: false

Set to true to show the Deliver to contact on printed purchasing transaction definitions.

Example: false
allowEditingPayToContact
boolean
Default: false

If true then allow users to change the Pay-to contact during transaction entry.

Example: false
allowEditingReturnToContact
boolean
Default: false

If true then allow users to change the Return-to contact during transaction entry.

Example: false
allowEditingDeliverToContact
boolean
Default: false

If true then allow users to change the Deliver-to contact during transaction entry.

Example: false
contactOneTitle
string
Default: "Pay to"

Use this field to change the Pay-to labels on the transaction and on the printed document.

Example: "Pay to"
contactTwoTitle
string
Default: "Return to"

Use this field to change the Return-to labels on the transaction and on the printed document.

Example: "Return to"
contactThreeTitle
string
Default: "Deliver to"

Use this field to change the Deliver-to labels on the transaction and on the printed document.

Example: "Deliver to"
enableWarnOnLowQuantity
boolean
Default: true

Indicates whether to alert the user if the quantity needed is greater than the ONHAND total in the selected warehouse. The warning also shows the ONORDER and ONHOLD totals.

Example: false
warehouseSelectionMethod
string
Default: "sortByID"

Determines how warehouses are presented to the user in the warehouse list in the transaction.

Enum: "sortByID" "sortByName" "useTheDefaultWarehouse" "warehouseWithAvailableInventory"
Example: "sortByID"
postToGL
boolean
Default: false

If true then the Additional GL posting account mapping can be setup for this transaction definition.

Example: false
enableAllocations
boolean
Default: false

If true then enable Allocations in the transaction.

Example: false
documentConversionPolicy
string or null
Default: null

Specify whether transactions can be converted and added as new, standalone documents, or converted only from previous transactions in the workflow.

Enum: "convertOnly" "newDocumentOnly" "newDocumentOrConvert" null
Example: "convertOnly"
multiEntityRuleForTransaction
string
Default: "topLevelOrEntity"

Sets the context for where users can create transactions from this transaction definition within a multi-entity, shared environment.

Enum: "entityOnly" "topLevelOnly" "topLevelOrEntity"
Example: "topLevelOrEntity"
object

Specifies the template for populating the transaction subtotals table.

key
string

Subtotal template key.

Example: "120"
id
string

Name of a purhcasing subtotal template.

Example: "Subtotal template"
lineLevelSimpleTax
boolean
Default: false

If true then enable line-level Simple Tax.

Example: false
enableRetainage
boolean
Default: false

Set to 'true' to enable retainage.

Example: false
enableAdditionalInformationScope
boolean
Default: false

For companies subscribed to Construction, set to true to enable scoping included and excluded work.

Example: false
enableAdditionalInformationSchedule
boolean
Default: false

For companies subscribed to Construction, set to true to enable scheduling of work milestones.

Example: false
enableInternalReference
boolean
Default: false

For companies subscribed to Construction, set to true to enable identification of the internal resource who authorized the work.

Example: false
enableExternalReference
boolean
Default: false

For companies subscribed to Construction, set to true to enable identification of the external resource who authorized the work.

Example: false
enableBond
boolean
Default: false

For companies subscribed to Construction, set to true to enable addition of information about performance and payment bonds.

Example: false
documentChangeType
string or null
Default: null

For companies subscribed to Construction, establish whether document values can be changed and how.

Enum: "changeOrder" "enableChange" "noChange" null
Example: "enableChange"
enablePrimaryDocumentWorkflow
boolean
Default: false

Set to 'true' to enable primary document workflow.

Example: false
increaseOrDecreaseInventory
string
Default: "increase"

Increases or decreases inventory. System will auto assign depending on Inventory totals selected and if its adding quantity/value or decrease the quantity/value.

Enum: "decrease" "increase"
Example: "increase"
reportingCategory
string or null
Default: null

Establishes a reporting category that best reflects the purpose of the transaction definition so that similar documents can be grouped when building reports. This field is applicable for use with Interactive Custom Report Writer or Interactive Visual Explorer subscriptions only.

Enum: "bidsAndQuotes" "blanketPurchaseOrdersOrVendorContracts" "grantAwards" "grantRequests" "internalSupplyRequisitions" null "purchaseClearingReceivers" "purchaseCredits" "purchaseDebits" "purchaseOrderChangeOrders" "purchaseOrderInvoices" "purchaseOrders" "purchaseReceivers" "purchaseRequisitions" "purchaseReturns" "subcontractBids" "subcontractChangeOrders" "subcontractInvoices" "subcontracts"
Example: "bidsAndQuotes"
object

The first price list the system will evaluate when determining a suggested transaction price.

key
string

System-assigned key for the purchasing price list.

Example: "200"
id
string

ID for the initial price list.

Example: "Initial Price List"
object

Select the numbering sequence to use to automatically number transactions

key
string

Document sequence Key

Example: "55"
id
string

The ID of the numbering sequence.

Example: "Adjustment Decrease"
object

When the layered price list feature is active, this signifies that a special price list has higher priority over the Initial price list.

key
string

System-assigned key for the special price list.

Example: "121"
id
string

Special price list ID.

Example: "Special price list"
object

The price list that will be updated when a user saves a transaction.

key
string

System-assigned key for the purchasing price list.

Example: "423"
id
string

The name of purchase order price list.

Example: "PO Price List"
object

Accounts Payable (AP) term, which determines the expiration date for quotes and the due date for invoices.

key
string

System-assigned key for the AP term.

Example: "223"
id
string

The name of AP term.

Example: "10 Days"
object

Default warehouse

key
string

Default warehouse key.

Example: "323"
id
string

Unique identifier for the warehouse.

Example: "Warehouse-001"
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"
Array of objects

When Transaction posting is set to Accounts Payable and Enable additional posting is set to true, specify the GL account details for additional GL account posting. These accounts are used to reverse the previous transaction in the workflow.

Array
isOffset
boolean
Default: false

If set to true, the GL account is marked as offset.

Example: true
txnType
string

Indicate whether to debit or credit the corresponding GL account.

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

Line number of the COGs GL detail on the transaction definition. If not provided, the system automatically assigns a unique line number. If you specify a lineNumber already used, the application sets other lines to unique numbers. The application uses this line number to post to the GL in the order provided.

Example: 1
object

Set the GL account to which this transaction posts for the specified account mapping (itemGLGroup and warehouse).

object

Set the default location against which the line item will be recorded.

object

Set the default department against which the line item will be recorded.

object

The Item GL group and Warehouse together form the criteria set for the account mapping.

object

The Item GL group and Warehouse together form the criteria set for the account mapping.

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

Purchasing transaction definition associated with this additional GL account detail object.

Array of objects

When Transaction posting is set to Accounts Payable or General Ledger, specify and define the AP or GL accounts to debit and credit.

Array
isOffset
boolean
Default: false

If set to true, the line is marked as offset.

Example: true
txnType
string

Indicates whether to debit or credit the corresponding GL account.

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

Line number of AP account detail on the transaction definition. If not provided, the system automatically assigns a unique line number. If you specify a lineNumber that is already used, the application sets other lines to unique numbers. The application uses this line number to post to the GL in the order provided.

Example: 1
object

The General Ledger account to which this transaction posts.

object

Location associated with the transaction definition account detail object.

object

Department associated with the transaction definition account detail object.

object

Item GL group associated with the transaction definition account detail object.

object

Warehouse associated with the transaction definition account detail object.

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

Purchasing transaction definition associated with this transaction definition account detail object.

Array of objects

Inventory total detail for Purchase transaction

Array
maintainType
string

Specify whether to track the quantity, value, or both for the specified inventoryTotal.

Enum: "quantity" "quantityAndValue" "value"
Example: "value"
operation
string

Specify whether the amount will increase or decrease when the user saves the transaction.

Enum: "add" "subtract"
Example: "add"
object

Specify the inventory total that will be affected by the transaction.

object

Purchasing transaction definition associated with this inventory total detail.

Array of objects

subtotal detail for Purchasing transaction

Array
subtotalType
string or null
Default: null

Indicates whether the subtotal type is discount or charge.

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

Line number for the subtotal on the transaction definition. If not provided, the system automatically assigns a unique line number. If you specify a lineNumber already used, the application sets other lines to unique numbers. The transaction definition uses the line numbers to display the order of subtotals.

Example: 1
description
string <= 100 characters

Provide a text description of the subtotal. A unique description is required to create a transaction definition subtotal detail object.

Example: "Discount"
valueType
string or null
Default: null

Value type for the subtotal. Options are amount or percent.

Enum: "amount" null "percent"
Example: "amount"
subtotalValue
string <decimal-precision-2> <= 12 characters

Provide a default value for the subtotal. If valueType is amount, specify the amount of the subtotal. For example, 250. If valueType is percent, provide a percentage as a whole number. For example, specify 10 for 10%. End users can override the default subtotal value in the transaction.

Example: "10"
isApportioned
boolean
Default: false

If set to true, the subtotal will be apportioned across all line items in the transaction.

Example: true
object

The GL account to which the subtotal will post.

object

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

txnType
string or null
Default: null

Indicates the transaction type, which can be debit or credit.

Enum: "credit" "debit" null
Example: "credit"
appliedToLineNumber
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. The value of appliedToLineNumber is implicitly assumed to be 0. Taxes, all other charges, and discounts are computed at the line level. This field does not apply if enableLineLevelSimpleTax is set to true.

Example: 1
isTax
boolean
Default: false

Set this field to true for tax subtotal lines if your organization uses Simple Tax, Advanced Tax, or Avalara AvaTax. When the transaction posts, the tax will post separately based on the items in the transaction.

Example: true
object

Specify a default department for the subtotal.

enableAvalaraTax
boolean
Default: false

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

Example: true
object

Purchasing transaction definition associated with this transaction definition subtotal detail.

Array of objects

Document conversion detail for a Purchasing transaction

Array
object

Specify the transaction definitions from which this transaction can be converted. For example, a purchasing invoice can be converted from a purchase order.

object

Purchasing transaction definition associated with this source document detail object.

Array of objects

Entity detail for Purchasing transaction creation

Array
enableNumberingSequence
boolean
Default: false

Set to true to enable sequence numbering.

Example: false
preserveNumberingSequence
boolean
Default: false

Set to true to preserve sequence numbering. Ensures that numbers are never skipped.

Example: false
canInheritSourceDocumentNumber
boolean
Default: false

Set to true to inherit source document number. For example, if you convert transfer out TO-001 into a transfer in, the number for the transfer in will be TO-001 if the transfer in is set to inherit the source transaction number.

Example: false
object

Provide the printed document template to use as the default for printed output (PDFs) for the corresponding entity. The template for the transaction definition document is used if a template is not specified in this field.

object

Specify the template to use to populate the transaction subtotals table.

showExpandedTaxDetail
boolean
Default: false

Indicates whether to show expanded tax details in the user interface and in the printed output. For example, you might have State, Territory, Local, and District taxes. If you want the transaction printed output to show all taxes, set this field to true. If you want the printed output to have one tax subtotal, set this field to false. This field is only applicable to companies that use Avalara AvaTax or Advanced Tax and applies only if subtotals are enabled.

Example: false
enableOverrideTax
boolean
Default: false

Set to true to enable users to override whether an item is taxable. This field is only applicable if subtotals are enabled.

Example: false
enableLineLevelSimpleTax
boolean
Default: false

Set to true to allow the tax rate to be overridden at the line level when using Simple Tax. This field is only applicable if subtotals are enabled.

Example: false
object

Entity associated with the transaction definition.

object

Specifies the numbering sequence to use to automatically number transactions for the corresponding entity.

object

Purchasing transaction definition

Responses
200

OK

400

Bad Request

Request samples
application/json
{
  • "description": "Purchase requisition for P&G",
  • "entitySettingDetail": [
    • {
      • "key": "239",
      • "ia::operation": "delete"
      },
    • {
      • "key": "240",
      • "preserveNumberingSequence": true
      }
    ]
}
Response samples
application/json
{
  • "ia::result": {
    • "key": "97",
    • "href": "/objects/purchasing/txn-definition/97"
    },
  • "ia::meta": {
    • "totalCount": 1,
    • "totalSuccess": 1,
    • "totalError": 0
    }
}

Delete a transaction definition

delete/objects/purchasing/txn-definition/{key}

Deletes a purchasing transaction definition. You can delete a transaction definition when it is no longer needed or relevant. Deleting a transaction definition is irreversible.

SecurityOAuth2
Request
path Parameters
key
required
string

System-assigned unique key for the transaction definition.

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 transaction definitions

post/services/core/query

Queries an object for filtered data.

SecurityOAuth2
Request
Request Body schema: application/json
object
string

Object type to query, in the form <application-name>/<object name>. For custom objects use platform-apps/nsp::<object-name>.

Example: "purchasing/txn-definition"
fields
Array of strings

List of fields to include in the response. Can be any combination of these:

  • The name of a field in the object that you are querying, such as id.

  • The name of a field in a related object, using the form relatedObjectName.fieldName, such as vendor.id.

  • The result of an aggregate function run against the values in the returned objects. Use the form function:fieldName, such as min:startDate to return the earliest starting date. Valid function names are:

    • count
    • avg
    • sum
    • min
    • max
  • The result of an aggregate function run against the values in related objects, using the form function:relatedObjectName.fieldName, such as max:vendor.creditLimit. The same functions are supported as for object fields.

Example: ["key","id","max:vendor.creditLimit"]
Array of equal (object) or not equal (object) or less than (object) or (less than or equal (object)) or greater than (object) or (greater than or equal (object)) or in (object) or not in (object) or between (object) or not between (object) or contains (object) or does not contain (object) or starts with (object) or does not start with (object) or ends with (object) or does not end with (object)

Filter conditions to select the objects to return based on their field values. You use operators and conditions to build your filter, such as {"$eq":{"status":"active"}} to select objects in which status is equal to "active".

Example: [{"$eq":{"status":"active"}},{"$gt":{"totalDue":"1000"}},{"$contains":{"name":"Acme"}}]
Array
Any of:

Field value must be equal to this specified value.

For date fields, you can use these macro values that are relative to the current date or the asOfDate in filterParameters, if set:

  • today
  • currentWeek
  • currentMonth
  • currentQuarter
  • currentYear
  • yesterday
  • lastWeek
  • priorMonth
  • priorQuarter
  • priorYear

These are most useful for queries that you want to save and use repeatedly, such as for views or reports. Just change the asOfDate each time to retrieve the same data set for different time periods.

For example, {"eq":{"postingDate":"priorYear"}}.

object

The field name and value to be compared with object values.

Example: {"status":"active"}
filterExpression
string
Default: "and"

Logical operators to apply when there are multiple filter conditions. The conditions in the filters array are implicitly numbered starting at 1. Supports and, or, and grouping with parentheses.

Shortcuts:

  • and by itself means that all conditions must be true.
  • or by itself means that at least one condition must be true.
Example: "(1 and 2) or 3"
object

Pre-defined filter options.

asOfDate
string <date>

The "as of" date to use with any relative date comparisons in filters. For example, if asOfDate is set to "2022-04-01" then priorMonth will be "03".

The current date is used if asOfDate is not set.

Example: "2022-04-01"
includeHierarchyFields
boolean
Default: false

Set to true to include hierarchical structure information with each object in the response.

Example: false
caseSensitiveComparison
boolean
Default: true

Queries are case-sensitive by default. Set to false to ignore case in a query.

Example: true
includePrivate
boolean
Default: false

By default, in a multi-entity company, queries from the top-level entity do not access data in private entities. Set includePrivate to true if you want to query data in private entities.

Example: false
Array of objects

Set the order of the results by specifying field names to sort by and whether they should be in ascending or descending order.

Example: [{"totalDue":"asc"},{"lastPaymentMadeDate":"desc"}]
Array
property name*
additional property
string
Enum: "asc" "desc"
start
integer

First record of the result set to include in the response.

Example: 1
size
integer

Number of records to include in the response.

Example: 100
Responses
200

OK

400

Bad Request

Request samples
application/json
{
  • "object": "accounts-payable/vendor",
  • "fields": [
    • "id",
    • "name",
    • "status",
    • "href"
    ],
  • "filters": [
    • {
      • "$eq": {
        }
      },
    • {
      • "$eq": {
        }
      }
    ],
  • "filterExpression": "1 and 2",
  • "orderBy": [
    • {
      • "id": "asc"
      }
    ]
}
Response samples
application/json
{
  • "ia::result": [
    • {
      • "id": "Vend-00002",
      • "name": "Test vendor",
      • "status": "active",
      • "href": "/objects/accounts-payable/vendor/85"
      },
    • {
      • "id": "VEND-00010",
      • "name": "Design Works",
      • "status": "active",
      • "href": "/objects/accounts-payable/vendor/111"
      }
    ],
  • "ia::meta": {
    • "totalCount": 2,
    • "start": 1,
    • "pageSize": 100,
    • "next": null,
    • "previous": null
    }
}