Transaction definitions

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

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.

Permissions and other requirements
SubscriptionPurchasing
User typeBusiness, Employee, Project Manager, Warehouse
PermissionsList, View Purchasing transactions
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": "52",
      • "id": "Vendor Invoice",
      • "href": "/objects/purchasing/txn-definition/2"
      }
    ],
  • "ia::meta": {
    • "totalCount": 3,
    • "start": 1,
    • "pageSize": 100,
    • "next": null,
    • "previous": null
    }
}

Get a transaction definition

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

Returns detailed information for a specified purchasing transaction definition.

Permissions and other requirements
SubscriptionPurchasing
User typeBusiness, Employee, Project Manager, Warehouse
PermissionsList, View Purchasing transactions
SecurityOAuth2
Request
path Parameters
key
required
string

System-assigned unique key for the transaction definition.

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

Create a transaction definition

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

Creates a new purchasing transaction definition.

Permissions and other requirements
SubscriptionPurchasing
User typeBusiness, Employee, Project Manager, Warehouse
PermissionsList, View, Add Purchasing transactions
SecurityOAuth2
Request
path Parameters
key
required
string

System-assigned unique key for the transaction definition.

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

ID for 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: "invoice"
workflowCategory
string
Default: "quote"

Workflow category associated with a purchasing transaction.

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

Set to true to disable tax capture for the transaction.

Example: false
enableOverrideTax
boolean
Default: false

Set to true to enable users to 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 the 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 sub-ledger.

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

Unique key for 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, users can edit both the exchange rate and the exchange rate type in transactions created from this definition.

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 in transactions created from this definition.

Example: false
enableSubtotals
boolean
Default: false

Set to true to specify standard subtotals, such as tax or a discount, for resulting transactions. If set 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 resulting transactions.

Example: false
allowLocationOverride
boolean
Default: false

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

Example: false
requireSupplyOfPrices
boolean
Default: false

Set to true if prices must be supplied.

Example: false
fixedMessage
string

Message displayed in the Print/Email document.

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

Sets the edit permissions for this transaction type. By default, users cannot edit transactions after they are created.

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

Sets the delete permission for this transaction type. By default, users cannot delete transactions after they are 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, users cannot change 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 transactions.

Example: false
printReturnToContact
boolean
Default: false

Set to true to show the Return to contact on printed purchasing transactions.

Example: false
printDeliverToContact
boolean
Default: false

Set to true to show the Deliver to contact on printed purchasing transactions.

Example: false
allowEditingPayToContact
boolean
Default: false

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

Example: false
allowEditingReturnToContact
boolean
Default: false

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

Example: false
allowEditingDeliverToContact
boolean
Default: false

Set to true to 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 set up for this transaction definition.

Example: false
enableAllocations
boolean
Default: false

Set to true to 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

Unique key for the subtotal template.

Example: "120"
id
string

ID for the subtotal template.

Example: "Subtotal template"
lineLevelSimpleTax
boolean
Default: false

Set to true to enable line-level Simple Tax.

Example: false
enableRetainage
boolean
Default: false

For companies subscribed to Construction, 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. Sage Intacct auto assigns this value depending on Inventory totals selected.

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

Unique key for the initial price list.

Example: "200"
id
string

ID for the initial price list.

Example: "Initial Price List"
object

The numbering sequence used to automatically number transactions.

key
string

Unique key for the document numbering sequence.

Example: "55"
id
string

The ID of the document numbering sequence.

Example: "Adjustment Decrease"
object

When the layered price list feature is active, the special price list has higher priority over the initial price list.

key
string

Unique key for the special price list.

Example: "121"
id
string

Special price list ID.

Example: "Special price list"
object

The price list that is updated when a user saves a transaction.

key
string

Unique 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

Unique key for the AP term.

Example: "223"
id
string

The name of AP term.

Example: "10 Days"
object

Default warehouse for resulting transactions.

key
string

Unique key for the warehouse.

Example: "323"
id
string

Unique ID 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 txnPostingMethod is set to toAP and postToGL 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 txnPostingMethod is set to toAP or toGL, specify 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

Specifies the inventory running total that will be affected by resulting transactions and how the total will be affected.

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

Provides details about the type of subtotals that are supported.

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

Provides document conversion details for resulting transactions.

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

Provides details about the entities that can create transactions, and also includes settings for each entity, such as numbering sequences and document templates.

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,
      • "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
    }
}

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.

Permissions and other requirements
SubscriptionPurchasing
User typeBusiness, Employee, Project Manager, Warehouse
PermissionsList, View, Edit Purchasing transactions
SecurityOAuth2
Request
path Parameters
key
required
string

System-assigned unique key for the transaction definition.

Example: 23
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: "invoice"
workflowCategory
string
Default: "quote"

Workflow category associated with a purchasing transaction.

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

Set to true to disable tax capture for the transaction.

Example: false
enableOverrideTax
boolean
Default: false

Set to true to enable users to 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 the 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 sub-ledger.

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

Unique key for 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, users can edit both the exchange rate and the exchange rate type in transactions created from this definition.

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 in transactions created from this definition.

Example: false
enableSubtotals
boolean
Default: false

Set to true to specify standard subtotals, such as tax or a discount, for resulting transactions. If set 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 resulting transactions.

Example: false
allowLocationOverride
boolean
Default: false

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

Example: false
requireSupplyOfPrices
boolean
Default: false

Set to true if prices must be supplied.

Example: false
fixedMessage
string

Message displayed in the Print/Email document.

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

Sets the edit permissions for this transaction type. By default, users cannot edit transactions after they are created.

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

Sets the delete permission for this transaction type. By default, users cannot delete transactions after they are 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, users cannot change 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 transactions.

Example: false
printReturnToContact
boolean
Default: false

Set to true to show the Return to contact on printed purchasing transactions.

Example: false
printDeliverToContact
boolean
Default: false

Set to true to show the Deliver to contact on printed purchasing transactions.

Example: false
allowEditingPayToContact
boolean
Default: false

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

Example: false
allowEditingReturnToContact
boolean
Default: false

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

Example: false
allowEditingDeliverToContact
boolean
Default: false

Set to true to 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 set up for this transaction definition.

Example: false
enableAllocations
boolean
Default: false

Set to true to 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

Unique key for the subtotal template.

Example: "120"
id
string

ID for the subtotal template.

Example: "Subtotal template"
lineLevelSimpleTax
boolean
Default: false

Set to true to enable line-level Simple Tax.

Example: false
enableRetainage
boolean
Default: false

For companies subscribed to Construction, 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. Sage Intacct auto assigns this value depending on Inventory totals selected.

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

Unique key for the initial price list.

Example: "200"
id
string

ID for the initial price list.

Example: "Initial Price List"
object

The numbering sequence used to automatically number transactions.

key
string

Unique key for the document numbering sequence.

Example: "55"
id
string

The ID of the document numbering sequence.

Example: "Adjustment Decrease"
object

When the layered price list feature is active, the special price list has higher priority over the initial price list.

key
string

Unique key for the special price list.

Example: "121"
id
string

Special price list ID.

Example: "Special price list"
object

The price list that is updated when a user saves a transaction.

key
string

Unique 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

Unique key for the AP term.

Example: "223"
id
string

The name of AP term.

Example: "10 Days"
object

Default warehouse for resulting transactions.

key
string

Unique key for the warehouse.

Example: "323"
id
string

Unique ID 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 txnPostingMethod is set to toAP and postToGL 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 txnPostingMethod is set to toAP or toGL, specify 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

Specifies the inventory running total that will be affected by resulting transactions and how the total will be affected.

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

Provides details about the type of subtotals that are supported.

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

Provides document conversion details for resulting transactions.

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

Provides details about the entities that can create transactions, and also includes settings for each entity, such as numbering sequences and document templates.

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.

Permissions and other requirements
SubscriptionPurchasing
User typeBusiness, Employee, Project Manager, Warehouse
PermissionsList, View, Delete Purchasing transactions
SecurityOAuth2
Request
path Parameters
key
required
string

System-assigned unique key for the transaction definition.

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

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

SecurityOAuth2
Responses
200

OK

Request samples