Certain types of transaction definitions in Order Entry (e.g. Sales Invoice, Contract Invoice, Sales Credit Memo) are configured to create corresponding invoices in the Accounts Receivable module.

When a transaction is updated in Order Entry, the related AR transaction is deleted and recreated. As a result, the AR transaction will have a new RECORDNO. Integrations needing to look up the related AR transaction can do so using the PRRECORDKEY field outlined below.


Get Order Entry Transaction Object Definition

lookup

List all the fields and relationships for the Order Entry transaction object:

<lookup>
    <object>SODOCUMENT</object>
</lookup>

Parameters

Name Required Type Description
object Required string Use SODOCUMENT
docparid Optional string Used to indicate the document type (Ex: Sales Order). You must use this to take advantage of any custom fields on the specified document type.

List Order Entry Transactions

query

List the record number, document ID, and record number of the associated AR invoice for each Order Entry transaction:

<query>
    <object>SODOCUMENT</object>
    <select>
        <field>RECORDNO</field>
        <field>DOCID</field>
        <field>ARINVOICE.RECORDNO</field>
    </select>
</query>

Parameters

Name Required Type Description
object Required string Use SODOCUMENT
select Required sequence One or more field names and an optional aggregate function such as count or sum. Returning all fields is not supported.
filter Optional object Query filter expression. Check the value of a single field using operators such as equalto/like, or multiple fields using and/or. Query fields on related objects using the dot operator (for example, VENDOR.CREDITLIMIT on APBILL).
orderby Optional object Provide an order element with a field name and choose an ascending or descending sort order, for example:
<order>
        <field>RECORDNO</field>
        <descending/>
</order>
options Optional object Set the caseinsensitive element to true for a case-insensitive query:
    <caseinsensitive>true</caseinsensitive>
In a multi-entity company, set the showprivate element to true to query data in private entities:
   <showprivate>true</showprivate>
pagesize Optional integer Custom page size between 1 and 2000 items (Default: 100)
offset Optional integer Point at which to start indexing into records (Default: 0)
docparid Optional string Used to indicate the document type (Ex: Sales Order). You must use this to take advantage of any custom fields on the specified document type.

List Order Entry Transactions (Legacy)

readByQuery

<readByQuery>
    <object>SODOCUMENT</object>
    <fields>*</fields>
    <query></query>
    <pagesize>100</pagesize>
    <docparid>Sales Order</docparid>
</readByQuery>

Parameters

Name Required Type Description
object Required string Use SODOCUMENT
fields Optional string Comma-separated list of fields on the object to list. For best performance and predictability, limit the number of fields. To return all fields, omit the element or provide * for the value.
query Required string SQL-like query based on fields on the object. The following operators are supported: <, >, >=, <=, =, like, not like, in, not in, IS NOT NULL, IS NULL, AND, OR. Illegal XML characters must be properly encoded, and single quotes must be escaped with backslashes ('Jane\'s Deli'). Joins are not supported.
pagesize Optional integer Custom page size between 1 and 1000 items (Default: 100)
docparid Optional string Used to indicate the document type (Ex: Sales Order). You must use this to take advantage of any custom fields on the specified document type.

query Fields

Name Required Type Description
PRRECORDKEY Optional integer Related RECORDNO of the corresponding AR transaction created by the Order Entry transaction
STATE Optional string State. Use S for Submitted, A for Approved, X for Partially Approved, R for Declined, I for Draft, O for Pending, D for Closed, G for In Progress, C for Converted, P for Partially Converted.

Get Order Entry Transaction

read

<read>
    <object>SODOCUMENT</object>
    <keys>1</keys>
    <fields>*</fields>
    <docparid>Sales Order</docparid>
</read>

Parameters

Name Required Type Description
object Required string Use SODOCUMENT
keys Required string Transaction RECORDNO to get
fields Optional string Comma-separated list of fields on the object to get. For best performance and predictability, limit the number of fields. To return all fields, omit the element or provide * for the value.
docparid Optional string Used to indicate the document type (Ex: Sales Order). You must use this to take advantage of any custom fields on the specified document type.

Get Order Entry Transaction PDF Data

retrievepdf

Provides base64-encoded data for a PDF version of the specified transaction:

<retrievepdf>
    <SODOCUMENT>
        <DOCID>Sales Order-SO1234</DOCID>
    </SODOCUMENT>
</retrievepdf>

Parameters

Name Required Type Description
SODOCUMENT Required object Use SODOCUMENT

SODOCUMENT

Name Required Type Description
DOCID Required string Document ID for the transaction

Response

pdfdata

The returned data looks like this:

<pdfdata>JVBERi0xLjQKJfbk/N8KMSAwIG9iago8PAovVHlwZSAvQ2F0YWxvZwovVmVyc2lvbiAvMS40Ci9QYWdlcyAyIDAgUgo ...</pdfdata>

Create Order Entry Transaction (Legacy)

Release Changes
2021 Release 3 Added changelognumber, itemdetails now supports trackable kit item types
2021 Release 2 Added relateddockey, relateddoclinekey
2021 Release 1 Added conversiontype, itemaliasid
2020 Release 4 Added shipbydate, shippeddate, taxsolutionid
2020 Release 3 Added trx_amountretained
2020 Release 2 Added parameters for Construction application
2020 Release 1 Added retainagepercentage, costtypeid
2019 Release 4 Added needbydate, cancelafterdate, donotshipbeforedate, donotshipafterdate, servicedeliverydate, datepickticketprinted, trackingnumber, customerponumber, shipby, taskid
2018 Release 2 Added linelevelsimpletaxtype

create_sotransaction

Creates an Order Entry transaction with a single line:

<create_sotransaction>
    <transactiontype>Sales Invoice</transactiontype>
    <datecreated>
        <year>2017</year>
        <month>3</month>
        <day>8</day>
    </datecreated>
    <createdfrom>Sales Order-SO1234</createdfrom>
    <customerid>C1000</customerid>
    <documentno>docno001</documentno>
    <origdocdate>
        <year>2017</year>
        <month>3</month>
        <day>8</day>
    </origdocdate>
    <referenceno>1234</referenceno>
    <termname>Net 30</termname>
    <datedue>
        <year>2016</year>
        <month>4</month>
        <day>7</day>
    </datedue>
    <message>hello world</message>
    <shippingmethod>FedEx</shippingmethod>
    <shipto>
        <contactname>Ship to contact</contactname>
    </shipto>
    <billto>
        <contactname>Bill to contact</contactname>
    </billto>
    <basecurr>USD</basecurr>
    <currency>USD</currency>
    <exchratetype>Intacct Daily Rate</exchratetype>
    <customfields></customfields>
    <state>Pending</state>
    <sotransitems>
        <sotransitem>
            <bundlenumber></bundlenumber>
            <itemid>R0044</itemid>
            <quantity>1</quantity>
            <unit>Each</unit>
            <price>100</price>
            <discsurchargememo></discsurchargememo>
            <locationid>ARL-VA-US</locationid>
            <departmentid>ADM</departmentid>
        </sotransitem>
    </sotransitems>
    <subtotals>
        <subtotal>
            <description>Shipping</description>
            <total>20</total>
            <locationid>ARL-VA-US</locationid>
            <departmentid>ADM</departmentid>
        </subtotal>
    </subtotals>
</create_sotransaction>

Assuming that the transaction definition is configured as a source for change management, creates an Order Entry transaction as a source that can accept change orders (Construction subscription):

<create_sotransaction>
    <transactiontype>Source_Doc01</transactiontype>
    <datecreated>
        <year>2021</year>
        <month>03</month>
        <day>31</day>
    </datecreated>
    <customerid>BTI</customerid>
    <termname>N15</termname>
    <datedue>
        <year>2021</year>
        <month>04</month>
        <day>15</day>
    </datedue>
    <basecurr>USD</basecurr>
    <currency>USD</currency>
    <exchratedate>
        <year>2021</year>
        <month>03</month>
        <day>31</day>
    </exchratedate>
    <exchratetype/>
    <state>Pending</state>
    <sotransitems>
        <sotransitem>
            <itemid>A001</itemid>
            <itemdesc>Desktop-HP</itemdesc>
            <warehouseid>1</warehouseid>
            <quantity>10</quantity>
            <unit>Each</unit>
            <price>100</price>
            <locationid>1</locationid>
            <conversiontype>Quantity</conversiontype>
        </sotransitem>
        <sotransitem>
            <itemid>A002</itemid>
            <itemdesc>Desktop-Dell</itemdesc>
            <warehouseid>1</warehouseid>
            <quantity>15</quantity>
            <unit>Each</unit>
            <price>120</price>
            <locationid>1</locationid>
            <conversiontype>Quantity</conversiontype>
        </sotransitem>
        <sotransitem>
            <itemid>A001</itemid>
            <itemdesc>Desktop-HP</itemdesc>
            <warehouseid>1</warehouseid>
            <quantity>17</quantity>
            <unit>Each</unit>
            <price>200</price>
            <locationid>1</locationid>
            <conversiontype>Quantity</conversiontype>
        </sotransitem>
    </sotransitems>
</create_sotransaction>

Assuming that the transaction definition is configured as a change order, creates a change order with two lines. One line is a change for an existing line (created above), and the other line is new (no relateddoclinekey is supplied) (Construction subscription):

<create_sotransaction>
    <transactiontype>Change_Doc01</transactiontype>
    <datecreated>
        <year>2021</year>
        <month>04</month>
        <day>01</day>
    </datecreated>
    <customerid>BTI</customerid>
    <termname>N15</termname>
    <datedue>
        <year>2021</year>
        <month>05</month>
        <day>15</day>
    </datedue>
    <basecurr>USD</basecurr>
    <currency>USD</currency>
    <exchratedate>
        <year>2021</year>
        <month>04</month>
        <day>01</day>
    </exchratedate>
    <exchratetype/>
    <state>Draft</state>
    <sotransitems>
        <sotransitem>
            <itemid>A001</itemid>
            <itemdesc>Desktop-HP</itemdesc>
            <warehouseid>1</warehouseid>
            <quantity>1</quantity>
            <unit>Each</unit>
            <price>100</price>
            <locationid>1</locationid>
            <relateddockey>14</relateddockey>
            <relateddoclinekey>24</relateddoclinekey>
        </sotransitem>
        <sotransitem>
            <itemid>A003</itemid>
            <itemdesc>Desktop-Asus</itemdesc>
            <warehouseid>1</warehouseid>
            <quantity>20</quantity>
            <unit>Each</unit>
            <price>160</price>
            <locationid>1</locationid>
            <relateddockey>14</relateddockey>
            <conversiontype>Quantity</conversiontype>
        </sotransitem>
    </sotransitems>
</create_sotransaction>

Parameters

Name Required Type Description
transactiontype Required string Transaction definition to use
datecreated Required object Transaction date
dateposted Optional object GL posting date
createdfrom Optional string Order Entry transaction document number to convert from
customerid Required String Customer ID
documentno Optional string Document number. Leave blank to use auto numbering if set in definition
origdocdate Optional object Original document date
referenceno Optional string Reference number
termname Optional string Payment term. Required if not using datedue.
datedue Optional object Due date. Required if not using termname.
message Optional string Message
shippingmethod Optional string Shipping method
shipto Optional object Ship to contact
billto Optional object Bill to contact
supdocid Optional string Attachments ID
externalid Optional string External ID
basecurr Optional string Base currency code
currency Optional string Transaction currency code
exchratedate Optional object Exchange rate date
exchratetype Optional string Exchange rate type. Do not use if exchrate is set. (Leave blank to use Intacct Daily Rate)
exchrate Optional currency Exchange rate value. Do not use if exchangeratetype is set.
vsoepricelist Optional string VSOE price list
customfields Optional customfield[0...n] Custom fields
state Optional string Action. Use Draft, Pending or Closed. (Default depends on transaction definition configuration)
projectid Optional String Project ID
changelognumber Optional integer Log number for tracking the number of changes applied to a source transaction. When you create a source transaction, its changelognumber is set to 0 by default. Then, each time you submit a change transaction against it, the number on the source is incremented. When you create a change transaction, it’s changelognumber is set to 1 by default. (Default: 0 for a source transaction, 1 for a change transaction) (Construction subscription)
needbydate Optional object Need by date for shipping, which is when the customer needs the goods to arrive on their premises. (Default: Date due)
shipbydate Optional object Ship by date, which is the date the shipment must go out in order to arrive when the customer needs it (needbydate). This date will be automatically calculated based on the needbydate and the estimated days in transit value specified as part of the shipping method in the Sage Intacct UI. You can provide your own value to override the calculated one. (Default: Automatically calculated value)
cancelafterdate Optional object Cancel after date for shipping, which is the date when the transaction should be canceled if it has not already shipped.
donotshipbeforedate Optional object Do not ship before date.
donotshipafterdate Optional object Do not ship after date.
servicedeliverydate Optional object Service delivery date when any related services, such as installation or customization, are scheduled.
trackingnumber optional String Tracking number. If goods are shipped in multiple shipments, you can enter multiple numbers separated by a comma with no spaces.
shippeddate Optional object Shipped date, which specifies when the shipment went out.
customerponumber optional String Customer’s purchase order number
scope Optional string Details about the expected scope of work to be performed or materials to be delivered. Use 4000 or fewer characters. (Construction subscription)
inclusions Optional string Details related to items that are explicitly included in the terms of this document. Use 4000 or fewer characters. (Construction subscription)
exclusions Optional string Details related to items that are explicitly excluded in the terms of this document. Use 4000 or fewer characters. (Construction subscription)
terms Optional string Additional terms or performance obligations. Use 4000 or fewer characters. (Construction subscription)
schedulestartdate Optional date Scheduled start date in the mm/dd/yyyy format (Construction subscription)
actualstartdate Optional date Actual start date in the mm/dd/yyyy format (Construction subscription)
scheduledcompletiondate Optional date Original scheduled date for completion of the work in the mm/dd/yyyy format (Construction subscription)
revisedcompletiondate Optional date Revised completion date for the work (caused by changes). Specified in the mm/dd/yyyy format. (Construction subscription)
substantialcompletiondate Optional date Date the work is considered substantially complete in the mm/dd/yyyy format. Typically used as a milestone to identify when payment obligations are due. (Construction subscription)
actualcompletiondate Optional date Date the work is actually complete in the mm/dd/yyyy format (Construction subscription)
noticetoproceed Optional date Date when a formal notice to proceed was given in the mm/dd/yyyy format (Construction subscription)
responsedue Optional date Date when a response is expected from an external party in the mm/dd/yyyy format (Construction subscription)
executedon Optional date Date the related contract document was formally executed in the mm/dd/yyyy format (Construction subscription)
scheduleimpact Optional string Details about any impacts on the current schedule. Use 100 or fewer characters. (Construction subscription)
internalrefno Optional string Specifies an internal reference number that can be tracked separately. Use 100 or fewer characters. (Construction subscription)
internalinitiatedby Optional string ID of the employee who initiated the transaction. (Construction subscription)
internalverbalby Optional string ID of the employee who verbally agreed to the transaction. (Construction subscription)
internalissuedby Optional string ID of the employee who issued the transaction. (Construction subscription)
internalissuedon Optional date Internal issued-on date in the mm/dd/yyyy format (Construction subscription)
internalapprovedby Optional string ID of the employee who approved the transaction. (Construction subscription)
internalapprovedon Optional date Internal approved-on date in the mm/dd/yyyy format (Construction subscription)
internalsignedby Optional string ID of the employee who signed for the transaction. (Construction subscription)
internalsignedon Optional date Internal signed-on date in the mm/dd/yyyy format (Construction subscription)
internalsource Optional string Internal reference source when the transaction originated from another document or workflow. Can be an internal or external source. For example, a request for information (RFI) or a project change request. Use 100 or fewer characters. (Construction subscription)
internalsourcerefno Optional string Internal reference source number or ID when the transaction originated from another source. Can be an internal or external number. Use 100 or fewer characters. (Construction subscription)
externalrefno Optional string External reference number for this transaction, such as one required by a vendor or customer. Use 100 or fewer characters. (Construction subscription)
externalverbalby Optional string Name of the contact who verbally agreed to the transaction. For example, a customer or vendor contact. (Construction subscription)
externalapprovedby Optional string Name of the contact who approved the document. For example, a customer or vendor contact. (Construction subscription)
externalapprovedon Optional date Date the customer or vendor approved the transaction in the mm/dd/yyyy format (Construction subscription)
externalsignedby Optional string Name of the external contact who signed for the transaction. For example, a customer or vendor contact. (Construction subscription)
externalsignedon Optional date Date the customer or vendor signed for the transaction in the mm/dd/yyyy format (Construction subscription)
performancebondrequired Optional boolean Use true to indicate that a performance bond is required (Default: false). (Construction subscription)
performancebondreceived Optional boolean Use true to indicate that performance bond documentation was received (Default: false). (Construction subscription)
performancebondamount Optional currency Amount of the performance bond (Construction subscription)
performancesuretycompany Optional string ID of the vendor for the related surety company providing the performance bond (Construction subscription)
paymentbondrequired boolean string Use true to indicate that performance bond is required (Default: false). (Construction subscription)
paymentbondreceived Optional boolean Use true to indicate that performance bond was received (Default: false). (Construction subscription)
paymentbondamount Optional currency Amount of the payment bond (Construction subscription)
paymentsuretycompany Optional string ID of the vendor for the related surety company providing the payment bond (Construction subscription)
taxsolutionid Optional string Tax solution name, such as United Kingdom - VAT or Australia - GST. Required only if the company is configured for multiple tax jurisdictions and the transaction is occurring at the top level of the company. The available tax solution names can be found in the Sage Intacct UI in the Taxes application from the top level of a multi-entity company. (GB, AU, and ZA only)
sotransitems Required sotransitem[1...n] Transaction lines, must have at least 1.
subtotals Optional subtotal[0...n] Subtotal lines

datecreated dateposted origdocdate datedue

Name Required Type Description
year Required string Year yyyy
month Required string Month mm
day Required string Day dd

shipto

Name Required Type Description
contactname Required string Ship to contact name

billto

Name Required Type Description
contactname Required string Bill to contact name

exchratedate needbydate shipbydate cancelafterdate donotshipbeforedate donotshipbafterdate servicedeliverydate

Name Required Type Description
year Required string Year yyyy
month Required string Month mm
day Required string Day dd

customfield

Name Required Type Description
customfieldname Optional string Custom field ID
customfieldvalue Optional varies Custom field value. For a multi-pick-list custom field, implode multiple field values with #~#.

sotransitem

Name Required Type Description
bundlenumber Optional string Bundle number
itemid Required string Item ID
itemaliasid Optional string Alias name for the item as set up in an item cross reference created for the customer on this transaction.
itemdesc Optional string Item description
taxable Optional boolean Taxable. Use false for No, true for Yes. Customer must be set up for taxable.
warehouseid Optional string Warehouse ID
quantity Required number Quantity
unit Optional string Unit of measure to base quantity off
linelevelsimpletaxtype Optional string Simple tax rate to apply at the line level. Available only if Enable subtotals and Enable line level Simple Tax are enabled for the transaction definition.
discountpercent Optional number Discount percentage
price Optional currency Price
relateddockey Optional integer Record number of the source transaction when creating a change order. See the FAQ about change orders for information about using the API to compare original values of a source transaction to revised values. (Construction subscription)
relateddoclinekey Optional integer Record number of a source transaction line to modify when creating a change order. If you omit this parameter but supply relateddockey, a new line will be created on the source transaction. (Construction subscription)
retainagepercentage Optional numeric Percentage of the total amount to retain on a transaction that is part of a Construction project. When you supply this value, the value for trx_amountretained is automatically calculated.
trx_amountretained Optional currency Amount to retain if you want to override the retainagepercentage. When you supply this value, the value for retainagepercentage is automatically calculated.
conversiontype Optional string Conversion type to use when converting the transaction to the next step in the workflow (for example, sales order to sales invoice). Use Price if you want the conversion to be based on the price (for non-inventory items only), or Quantity if the conversion should be based on the quantity and unit. If using Price, set Quantity to 1 and provide a unit that is a base unit (unit factor is 1). (Default: Quantity) (Construction subscription)
sourcelinekey Optional integer Source line to convert this line from. Use the RECORDNO of the line from the createdfrom transaction document.
discsurchargememo Optional string Discount/surcharge memo
locationid Optional string Location ID
departmentid Optional string Department ID
memo Optional string Memo
itemdetails Optional itemdetail[0...n] Array of item details (applicable to inventory or stockable kit item types).
customfields Optional customfield[0...n] Custom fields
revrectemplate Optional string Rev rec template ID
revrecstartdate Optional object Rev rec start date
revrecenddate Optional object Rev rec end date
renewalmacro Optional string Renewal macro
projectid Optional string Project ID
taskid Optional string Task ID. Only available when the parent projectid is also specified.
costtypeid Optional string Cost type ID. Only available when projectid and taskid are specified. (Construction subscription)
customerid Optional string Customer ID
vendorid Optional string Vendor ID
employeeid Optional string Employee ID
classid Optional string Class ID
contractid Optional string Contract ID
fulfillmentstatus Optional object Fulfillment Status
taskno Optional string Task RECORDNO
billingtemplate Optional string Billing template
dropship Optional boolean Drop ship. Use false for No, true for Yes.
shipto Optional string Ship to contact name for the transaction line, which overrides the ship to contact name on the transaction.
needbydate Optional object Need by date for shipping, which is when the customer needs the goods to arrive on their premises. (Default: Date due)
shipby Optional object Ship by date, which is the date the first shipment needs to be sent to meet the customer’s need by date.
donotshipbeforedate Optional object Do not ship before date.
donotshipafterdate Optional object Do not ship after date.
datepickticketprinted Optional object Date ticket printed, which is the last date this line was printed on a pick ticket.
cancelafterdate Optional object Cancel after date for shipping, which is the date when the transaction should be canceled if it has not already shipped.
shippeddate Optional object Shipped date, which specifies when the shipment went out for this line. Overrides the shippeddate value set on the transaction header.

itemdetail

Name Required Type Description
quantity Optional number Quantity
serialno Optional string Serial number.
lotno Optional string Lot number.
aisle Optional string Aisle
row Optional string Row
bin Optional string Bin
itemexpiration Optional object Item expiration

itemexpiration

Name Required Type Description
year Required string Year yyyy
month Required string Month mm
day Required string Day dd

fulfillmentstatus

Name Required Type Description
deliverystatus Optional string Delivery status. Use either Delivered or Undelivered
deliverydate Optional object Delivery date
deferralstatus Optional string Deferral status. Use either Defer until item is delivered or Defer bundle until item is delivered
kitstatus Optional object Kit status

kitstatus

Name Required Type Description
line_num Required integer Line number
invoiceprice Optional currency Invoice price
deliverystatus Optional string Delivery status. Use either Delivered or Undelivered
deliverydate Optional object Delivery date
deferralstatus Optional string Deferral status. Use either Defer until item is delivered or Defer bundle until item is delivered

deliverydate needbydate shipbydate donotshipbeforedate donotshipafterdate shippeddate datepickticketprinted cancelafterdate shippeddate`

Name Required Type Description
year Required string Year yyyy
month Required string Month mm
day Required string Day dd

subtotal

Name Required Type Description
description Required string Description
total Required currency Total
absval Optional number Absolute value
percentval Optional number Percent value
locationid Optional string Location ID
departmentid Optional string Department ID
projectid Optional string Project ID
taskid Optional string Task ID. Only available when the parent projectid is also specified.
costtypeid Optional string Cost type ID. Only available when projectid and taskid are specified. (Construction subscription)
customerid Optional string Customer ID
vendorid Optional string Vendor ID
employeeid Optional string Employee ID
classid Optional string Class ID
itemid Optional string Item ID
contractid Optional string Contract ID

Update Order Entry Transaction (Legacy)

Release Changes
2021 Release 3 Added changelognumber, itemdetails now supports trackable kit item types
2021 Release 2 Added relateddockey, relateddoclinekey
2021 Release 1 Added conversiontype, itemaliasid
2020 Release 4 Added shipbydate, shippeddate
2020 Release 3 Added trx_amountretained
2020 Release 2 Added parameters for Construction application
2020 Release 1 Added retainagepercentage, costtypeid
2019 Release 4 Added needbydate, cancelafterdate, donotshipbeforedate, donotshipafterdate, servicedeliverydate, datepickticketprinted, trackingnumber, customerponumber, shipby, taskid
2018 Release 2 Added linelevelsimpletaxtype

Before using this function to modify existing lines, make sure you know the correct line numbers. For this object, the generic read function uses a zero-based index for entries returned in the response. However, the object-specific update function uses a one-based index for entries you supply in the request.

After using read to get the line number of the entry you want to modify, add one to that number to specify the correct line in your update operation. See Working with transaction lines and legacy functions for more information.

Warning: Before doing any large scale update operations, perform a test to make sure you are modifying the correct lines.

update_sotransaction

Updates an existing line on the transaction:

<update_sotransaction key="Sales Order-SO1234">
    <updatesotransitems>
        <updatesotransitem line_num="1">
            <memo>Testing1234</memo>
        </updatesotransitem>
    </updatesotransitems>
</update_sotransaction>

Creates a new line on the transaction:

<update_sotransaction key="Sales Order-SO1234">
    <updatesotransitems>
        <sotransitem>
            <itemid>R0056</itemid>
            <quantity>1</quantity>
            <unit>Each</unit>
            <price>125</price>
            <locationid>110-SJC</locationid>
        </sotransitem>
    </updatesotransitems>
</update_sotransaction>

Updates an existing change order to change the quantity for an existing line (Construction subscription):

<update_sotransaction key="Change_Doc01-Ord#0012#doc">
    <message>update relateddoclinekey</message>
    <updatesotransitems>
        <updatesotransitem line_num="1">
            <quantity>26</quantity>
        </updatesotransitem>
    </updatesotransitems>
</update_sotransaction>

Updates an existing change order so that the first line refers to a different line on the original source transaction:

<update_sotransaction key="Change_Doc01-Ord#0012#doc">
    <message>update relateddoclinekey for line one of this change order</message>
    <updatesotransitems>
        <updatesotransitem line_num="1">
            <price>200</price>
            <relateddockey>11</relateddockey>
            <relateddoclinekey>21</relateddoclinekey>
        </updatesotransitem>
    </updatesotransitems>
</update_sotransaction>

Parameters

Name Required Type Description
key Required string Document ID to update
disablevalidation Optional boolean Disable transaction validation on update. Use false for No, true for Yes.
datecreated Optional object Transaction date
dateposted Optional object GL posting date
referenceno Optional string Reference number
termname Optional string Payment term. Required if not using datedue.
datedue Optional object Due date. Required if not using termname.
origdocdate Optional object Original document date
message Optional string Message
shippingmethod Optional string Shipping method
shipto Optional object Ship to contact
billto Optional object Bill to contact
supdocid Optional string Attachments ID
externalid Optional string External ID
basecurr Optional string Base currency code
currency Optional string Transaction currency code
exchratedate Optional object Exchange rate date
exchratetype Optional string Exchange rate type. Do not use if exchrate is set. (Leave blank to use Intacct Daily Rate)
exchrate Optional currency Exchange rate value. Do not use if exchangeratetype is set.
vsoepricelist Optional string VSOE price list
customfields Optional customfield[0...n] Custom fields
state Optional string Action. Use Draft, Pending or Closed. (Default depends on transaction definition configuration)
projectid Optional string Project ID
changelognumber Optional integer Log number for tracking the number of changes applied to a source transaction. When you create a source transaction, its changelognumber is set to 0 by default. Then, each time you submit a change transaction against it, the number on the source is incremented. When you create a change transaction, it’s changelognumber is set to 1 by default. (Construction subscription)
needbydate Optional object Need by date for shipping, which is when the customer needs the goods to arrive on their premises. (Default: Date due)
shipbydate Optional object Ship by date, which is the date the shipment must go out in order to arrive when the customer needs it (needbydate). This date will be automatically calculated based on the needbydate and the estimated days in transit value specified as part of the shipping method in the Sage Intacct UI. You can provide your own value to override the calculated one.
cancelafterdate Optional object Cancel after date for shipping, which is the date when the transaction should be canceled if it has not already shipped.
donotshipbeforedate Optional object Do not ship before date.
donotshipafterdate Optional object Do not ship after date.
servicedeliverydate Optional object Service delivery date when any related services, such as installation or customization, are scheduled.
trackingnumber optional String Tracking number. If goods are shipped in multiple shipments, you can enter multiple numbers separated by a comma with no spaces.
shippeddate Optional object Shipped date, which specifies when the shipment went out.
customerponumber optional String Customer purchase order number
scope Optional string Details about the expected scope of work to be performed or materials to be delivered. Use 4000 or fewer characters. (Construction subscription)
inclusions Optional string Details related to items that are explicitly included in the terms of this document. Use 4000 or fewer characters. (Construction subscription)
exclusions Optional string Details related to items that are explicitly excluded in the terms of this document. Use 4000 or fewer characters. (Construction subscription)
terms Optional string Additional terms or performance obligations. Use 4000 or fewer characters. (Construction subscription)
schedulestartdate Optional date Scheduled start date in the mm/dd/yyyy format (Construction subscription)
actualstartdate Optional date Actual start date in the mm/dd/yyyy format (Construction subscription)
scheduledcompletiondate Optional date Original scheduled date for completion of the work in the mm/dd/yyyy format (Construction subscription)
revisedcompletiondate Optional date Revised completion date for the work (caused by changes). Specified in the mm/dd/yyyy format. (Construction subscription)
substantialcompletiondate Optional date Date the work is considered substantially complete in the mm/dd/yyyy format. Typically used as a milestone to identify when payment obligations are due. (Construction subscription)
actualcompletiondate Optional date Date the work is actually complete in the mm/dd/yyyy format (Construction subscription)
noticetoproceed Optional date Date when a formal notice to proceed was given in the mm/dd/yyyy format (Construction subscription)
responsedue Optional date Date when a response is expected from an external party in the mm/dd/yyyy format (Construction subscription)
executedon Optional date Date the related contract document was formally executed in the mm/dd/yyyy format (Construction subscription)
scheduleimpact Optional string Details about any impacts on the current schedule. Use 100 or fewer characters. (Construction subscription)
internalrefno Optional string Specifies an internal reference ID that can be tracked separately from the formal document number (documentno) (Construction subscription)
internalinitiatedby Optional string ID of the employee who initiated the transaction. (Construction subscription)
internalverbalby Optional string ID of the employee who verbally agreed to the transaction. (Construction subscription)
internalissuedby Optional string ID of the employee who issued the transaction. (Construction subscription)
internalissuedon Optional date Internal issued-on date in the mm/dd/yyyy format (Construction subscription)
internalapprovedby Optional string ID of the employee who approved the transaction. (Construction subscription)
internalapprovedon Optional date Internal approved-on date in the mm/dd/yyyy format (Construction subscription)
internalsignedby Optional string ID of the employee who signed for the transaction. (Construction subscription)
internalsignedon Optional date Internal signed-on date in the mm/dd/yyyy format (Construction subscription)
internalsource Optional string Internal reference source when the transaction originated from another document or workflow. Can be an internal or external source. For example, a request for information (RFI) or a project change request. Use 100 or fewer characters. (Construction subscription)
internalsourcerefno Optional string Internal reference source number or ID when the transaction originated from another source. Can be an internal or external number. Use 100 or fewer characters. (Construction subscription)
externalrefno Optional string External reference number for this transaction, such as one required by a vendor or customer. (Construction subscription)
externalverbalby Optional string Name of the contact who verbally agreed to the transaction. For example, a customer or vendor contact. (Construction subscription)
externalapprovedby Optional string Name of the contact who approved the document. For example, a customer or vendor contact. (Construction subscription)
externalapprovedon Optional date Date the customer or vendor approved the transaction in the mm/dd/yyyy format (Construction subscription)
externalsignedby Optional string Name of the external contact who signed for the transaction. For example, a customer or vendor contact. (Construction subscription)
externalsignedon Optional date Date the customer or vendor signed for the transaction in the mm/dd/yyyy format (Construction subscription)
performancebondrequired Optional boolean Use true to indicate that a performance bond is required (Default: false). (Construction subscription)
performancebondreceived Optional boolean Use true to indicate that performance bond documentation was received (Default: false). (Construction subscription)
performancebondamount Optional currency Amount of the performance bond (Construction subscription)
performancesuretycompany Optional string ID of the vendor for the related surety company providing the performance bond (Construction subscription)
paymentbondrequired boolean string Use true to indicate that performance bond is required (Default: false). (Construction subscription)
paymentbondreceived Optional boolean Use true to indicate that performance bond was received (Default: false). (Construction subscription)
paymentbondamount Optional currency Amount of the payment bond (Construction subscription)
paymentsuretycompany Optional string ID of the vendor for the related surety company providing the payment bond (Construction subscription)
updatesotransitems Required updatesotransitem | sotransitem[1...n] To update an existing line use updatesotransitem otherwise to create a new line use sotransitem. You can mix types in the array.
updatesubtotals Optional updatesubtotal[0...n] Subtotal lines

datecreated dateposted origdocdate datedue

Name Required Type Description
year Required string Year yyyy
month Required string Month mm
day Required string Day dd

shipto

Name Required Type Description
contactname Required string Ship to contact name

billto

Name Required Type Description
contactname Required string Bill to contact name

exchratedate

Name Required Type Description
year Required string Year yyyy
month Required string Month mm
day Required string Day dd

customfield

Name Required Type Description
customfieldname Optional string Custom field ID
customfieldvalue Optional varies Custom field value. For a multi-pick-list custom field, implode multiple field values with #~#.

needbydate shipbydate cancelafterdate donotshipbeforedate donotshipafterdate shippeddate servicedeliverydate

Name Required Type Description
year Required string Year yyyy
month Required string Month mm
day Required string Day dd

updatesotransitem

Name Required Type Description
line_num Required integer Line number to update.
bundlenumber Optional string Bundle number
itemid Optional string Item ID
itemaliasid Optional string Alias name for the item as set up in an item cross reference created for the customer on this transaction.
itemdesc Optional string Item description
taxable Optional boolean Taxable. Use false for No, true for Yes. Customer must be set up for taxable.
warehouseid Optional string Warehouse ID
quantity Optional number Quantity
unit Optional string Unit of measure to base quantity off
linelevelsimpletaxtype Optional string Simple tax rate to apply at the line level. Available only if Enable subtotals and Enable line level Simple Tax are enabled for the transaction definition.
discountpercent Optional number Discount percentage
price Optional currency Price
relateddockey Optional integer Record number of the source transaction when updating a change order. See the FAQ about change orders for information about using the API to compare original values of a source transaction to revised values. (Construction subscription)
relateddoclinekey Optional integer Record number of a source transaction line to modify when updating a change order (which must be in draft state). If you omit this parameter but supply relateddockey, a new line will be created on the source transaction. (Construction subscription)
retainagepercentage Optional numeric Percentage of the total amount to retain on a transaction that is part of a Construction project. When you supply this value, the value for trx_amountretained is automatically calculated.
trx_amountretained Optional currency Amount to retain if you want to override the retainagepercentage. When you supply this value, the value for retainagepercentage is automatically calculated.
conversiontype Optional string Conversion type to use when converting the transaction to the next step in the workflow (for example, sales order to sales invoice). Use Price if you want the conversion to be based on the price (for non-inventory items only), or Quantity if the conversion should be based on the quantity and unit. If using Price, set Quantity to 1 and provide a unit that is a base unit (unit factor is 1). (Construction subscription)
discsurchargememo Optional string Discount/surcharge memo
locationid Optional string Location ID
departmentid Optional string Department ID
memo Optional string Memo
itemdetails Optional itemdetail[0...n] Array of item details (applicable to inventory or stockable kit item types).
customfields Optional customfield[0...n] Custom fields
revrectemplate Optional string Rev rec template ID
revrecstartdate Optional object Rev rec start date
revrecenddate Optional object Rev rec end date
renewalmacro Optional string Renewal macro
projectid Optional string Project ID
taskid Optional string Task ID. Only available when the parent projectid is also specified.
costtypeid Optional string Cost type ID. Only available when projectid and taskid are specified. (Construction subscription)
customerid Optional string Customer ID
vendorid Optional string Vendor ID
employeeid Optional string Employee ID
classid Optional string Class ID
contractid Optional string Contract ID
fulfillmentstatus Optional object Fulfillment Status
taskno Optional string Task RECORDNO
billingtemplate Optional string Billing template
dropship Optional boolean Drop ship. Use false for No, true for Yes.
shipto Optional string Ship to contact name for the transaction line, which overrides the ship to contact name on the transaction.
needbydate Optional object Need by date for shipping, which is when the customer needs the goods to arrive on their premisis. (Default: Date due)
shipby Optional object Ship by date, which is the date the first shipment needs to be sent to meet the customer’s need by date.
donotshipbeforedate Optional object Do not ship before date.
donotshipafterdate Optional object Do not ship after date.
datepickticketprinted Optional object Date ticket printed, which is the last date this line was printed on a pick ticket.
cancelafterdate Optional object Cancel after date for shipping, which is the date when the transaction should be canceled if it has not already shipped.
shippeddate Optional object Shipped date, which specifies when the shipment went out for this line. Overrides the shippeddate value set on the transaction header.

sotransitem

New lines are added to the bottom of the list—you cannot insert a line between existing lines.

Name Required Type Description
bundlenumber Optional string Bundle number
itemid Required string Item ID
itemaliasid Optional string Alias name for the item as set up in an item cross reference created for the customer on this transaction.
itemdesc Optional string Item description
taxable Optional boolean Taxable. Use false for No, true for Yes. Customer must be set up for taxable.
warehouseid Optional string Warehouse ID
quantity Required number Quantity
unit Optional string Unit of measure to base quantity off
linelevelsimpletaxtype Optional string Simple tax rate to apply at the line level. Available only if Enable subtotals and Enable line level Simple Tax are enabled for the transaction definition.
discountpercent Optional number Discount percentage
price Optional currency Price
relateddockey Optional integer Record number of the source transaction when creating a change order. See the FAQ about change orders for information about using the API to compare original values of a source transaction to revised values. (Construction subscription)
relateddoclinekey Optional integer Record number of a source transaction line to modify when creating a change order. If you omit this parameter but supply relateddockey, a new line will be created on the source transaction. (Construction subscription)
retainagepercentage Optional numeric Percentage of the total amount to retain on a transaction. When you supply this value, the value for trx_amountretained is automatically calculated. (Construction subscription)
trx_amountretained Optional currency Amount to retain if you want to override the retainagepercentage. When you supply this value, the value for retainagepercentage is automatically calculated.
conversiontype Optional string Conversion type to use when converting the transaction to the next step in the workflow (for example, sales order to sales invoice). Use Price if you want the conversion to be based on the price (for non-inventory items only), or Quantity if the conversion should be based on the quantity and unit. If using Price, set Quantity to 1 and provide a unit that is a base unit (unit factor is 1). (Default: Quantity) (Construction subscription)
sourcelinekey Optional integer Source line to convert this line from. Use the RECORDNO of the line from the createdfrom transaction document.
discsurchargememo Optional string Discount/surcharge memo
locationid Optional string Location ID
departmentid Optional string Department ID
memo Optional string Memo
itemdetails Optional itemdetail[0...n] Array of item details (applicable to inventory or stockable kit item types).
customfields Optional customfield[0...n] Custom fields
revrectemplate Optional string Rev rec template ID
revrecstartdate Optional object Rev rec start date
revrecenddate Optional object Rev rec end date
renewalmacro Optional string Renewal macro
projectid Optional string Project ID
taskid Optional string Task ID. Only available when the parent projectid is also specified.
costtypeid Optional string Cost type ID. Only available when projectid and taskid are specified. (Construction subscription)
customerid Optional string Customer ID
vendorid Optional string Vendor ID
employeeid Optional string Employee ID
classid Optional string Class ID
contractid Optional string Contract ID
fulfillmentstatus Optional object Fulfillment Status
taskno Optional string Task RECORDNO
billingtemplate Optional string Billing template
dropship Optional boolean Drop ship. Use false for No, true for Yes.
shipto Optional string Ship to contact name for the transaction line, which overrides the ship to contact name on the transaction.
needbydate Optional object Need by date for shipping, which is when the customer needs the goods to arrive on their premises. (Default: Date due)
shipby Optional object Ship by date, which is the date the first shipment needs to be sent to meet the customer’s need by date.
donotshipbeforedate Optional object Do not ship before date.
donotshipafterdate Optional object Do not ship after date.
datepickticketprinted Optional object Date ticket printed, which is the last date this line was printed on a pick ticket.
cancelafterdate Optional object Cancel after date for shipping, which is the date when the transaction should be canceled if it has not already shipped.
shippeddate Optional object Shipped date, which specifies when the shipment went out for this line. Overrides the shippeddate value set on the transaction.

itemdetail

Name Required Type Description
quantity Optional number Quantity
serialno Optional string Serial number.
lotno Optional string Lot number.
aisle Optional string Aisle
row Optional string Row
bin Optional string Bin
itemexpiration Optional object Item expiration

itemexpiration

Name Required Type Description
year Required string Year yyyy
month Required string Month mm
day Required string Day dd

fulfillmentstatus

Name Required Type Description
deliverystatus Optional string Delivery status. Use either Delivered or Undelivered
deliverydate Optional object Delivery date
deferralstatus Optional string Deferral status. Use either Defer until item is delivered or Defer bundle until item is delivered
kitstatus Optional object Kit status

kitstatus

Name Required Type Description
line_num Required integer Line number
invoiceprice Optional currency Invoice price
deliverystatus Optional string Delivery status. Use either Delivered or Undelivered
deliverydate Optional object Delivery date
deferralstatus Optional string Deferral status. Use either Defer until item is delivered or Defer bundle until item is delivered

deliverydate needbydate shipbydate shipby donotshipbeforedate donotshipafterdate shippeddate datepickticketprinted cancelafterdate shippeddate

Name Required Type Description
year Required string Year yyyy
month Required string Month mm
day Required string Day dd

updatesubtotal

Name Required Type Description
description Required string Description
total Required currency Total
absval Optional number Absolute value
percentval Optional number Percent value
locationid Optional string Location ID
departmentid Optional string Department ID
projectid Optional string Project ID
taskid Optional string Task ID. Only available when the parent projectid is also specified.
costtypeid Optional string Cost type. Only available when projectid and taskid are specified. (Construction subscription)
customerid Optional string Customer ID
vendorid Optional string Vendor ID
employeeid Optional string Employee ID
classid Optional string Class ID
itemid Optional string Item ID
contractid Optional string Contract ID

Delete Order Entry Transaction (Legacy)

delete_sotransaction

<delete_sotransaction key="Sales Order-SO1234"></delete_sotransaction>

Parameters

Name Required Type Description
key Required string Transaction DOCID to delete

Get Order Entry Transaction Line Object Definition

lookup

List all the fields and relationships for the Order Entry transaction line object:

<lookup>
    <object>SODOCUMENTENTRY</object>
</lookup>

Parameters

Name Required Type Description
object Required string Use SODOCUMENTENTRY
docparid Optional string Used to indicate the document type (Ex: Sales Order). You must use this to take advantage of any custom fields on the specified document type.

List Order Entry Transaction Lines

query

List the record number of the transaction header plus information about each transaction line:

<query>
    <object>SODOCUMENTENTRY</object>
    <select>
        <field>DOCHDRNO</field>
        <field>LINE_NO</field>
        <field>ITEMID</field>
        <field>TOTAL</field>
    </select>
</query>

Parameters

Name Required Type Description
object Required string Use SODOCUMENTENTRY
select Required sequence One or more field names and an optional aggregate function such as count or sum. Returning all fields is not supported.
filter Optional object Query filter expression. Check the value of a single field using operators such as equalto/like, or multiple fields using and/or. Query fields on related objects using the dot operator (for example, VENDOR.CREDITLIMIT on APBILL).
orderby Optional object Provide an order element with a field name and choose an ascending or descending sort order, for example:
<order>
        <field>RECORDNO</field>
        <descending/>
</order>
options Optional object Set the caseinsensitive element to true for a case-insensitive query:
    <caseinsensitive>true</caseinsensitive>
In a multi-entity company, set the showprivate element to true to query data in private entities:
   <showprivate>true</showprivate>
pagesize Optional integer Custom page size between 1 and 2000 items (Default: 100)
offset Optional integer Point at which to start indexing into records (Default: 0)
docparid Optional string Used to indicate the document type (Ex: Sales Order). You must use this to take advantage of any custom fields on the specified document type.

List Order Entry Transaction Lines (Legacy)

readByQuery

<readByQuery>
    <object>SODOCUMENTENTRY</object>
    <fields>*</fields>
    <query></query>
    <pagesize>100</pagesize>
    <docparid>Sales Order</docparid>
</readByQuery>

Parameters

Name Required Type Description
object Required string Use SODOCUMENTENTRY
fields Optional string Comma-separated list of fields on the object to list. For best performance and predictability, limit the number of fields. To return all fields, omit the element or provide * for the value.
query Required string SQL-like query based on fields on the object. The following operators are supported: <, >, >=, <=, =, like, not like, in, not in, IS NOT NULL, IS NULL, AND, OR. Illegal XML characters must be properly encoded, and single quotes must be escaped with backslashes ('Jane\'s Deli'). Joins are not supported.
pagesize Optional integer Custom page size between 1 and 1000 items (Default: 100)
docparid Optional string Used to indicate the document type (Ex: Sales Order). You must use this to take advantage of any custom fields on the specified document type.

Get Order Entry Transaction Line

read

<read>
    <object>SODOCUMENTENTRY</object>
    <keys>1</keys>
    <fields>*</fields>
    <docparid>Sales Order</docparid>
</read>

Parameters

Name Required Type Description
object Required string Use SODOCUMENTENTRY
keys Required string Transaction line RECORDNO to get
fields Optional string Comma-separated list of fields on the object to get. For best performance and predictability, limit the number of fields. To return all fields, omit the element or provide * for the value.
docparid Optional string Used to indicate the document type (Ex: Sales Order). You must use this to take advantage of any custom fields on the specified document type.

Get Order Entry Transaction Subtotals Object Definition

lookup

List all the fields and relationships for the Order Entry transaction subtotals object:

<lookup>
    <object>SODOCUMENTSUBTOTALS</object>
</lookup>

Parameters

Name Required Type Description
object Required string Use SODOCUMENTSUBTOTALS
docparid Optional string Used to indicate the document type (Ex: Sales Order). You must use this to take advantage of any custom fields on the specified document type.

List Order Entry Transaction Subtotals

query

List the record number, document ID, and record number of the associated AR invoice for each Order Entry transaction:

<query>
    <object>SODOCUMENTSUBTOTALS</object>
    <select>
        <field>RECORDNO</field>
        <field>DESCRIPTION</field>
    </select>
</query>

Parameters

Name Required Type Description
object Required string Use SODOCUMENTSUBTOTALS
select Required sequence One or more field names and an optional aggregate function such as count or sum. Returning all fields is not supported.
filter Optional object Query filter expression. Check the value of a single field using operators such as equalto/like, or multiple fields using and/or. Query fields on related objects using the dot operator (for example, VENDOR.CREDITLIMIT on APBILL).
orderby Optional object Provide an order element with a field name and choose an ascending or descending sort order, for example:
<order>
        <field>RECORDNO</field>
        <descending/>
</order>
options Optional object Set the caseinsensitive element to true for a case-insensitive query:
    <caseinsensitive>true</caseinsensitive>
In a multi-entity company, set the showprivate element to true to query data in private entities:
   <showprivate>true</showprivate>
pagesize Optional integer Custom page size between 1 and 2000 items (Default: 100)
offset Optional integer Point at which to start indexing into records (Default: 0)
docparid Optional string Used to indicate the document type (Ex: Sales Order). You must use this to take advantage of any custom fields on the specified document type.

List Order Entry Transaction Subtotals (Legacy)

readByQuery

<readByQuery>
    <object>SODOCUMENTSUBTOTALS</object>
    <fields>*</fields>
    <query></query>
    <pagesize>100</pagesize>
    <docparid>Sales Order</docparid>
</readByQuery>

Parameters

Name Required Type Description
object Required string Use SODOCUMENTSUBTOTALS
fields Optional string Comma-separated list of fields on the object to list. For best performance and predictability, limit the number of fields. To return all fields, omit the element or provide * for the value.
query Required string SQL-like query based on fields on the object. The following operators are supported: <, >, >=, <=, =, like, not like, in, not in, IS NOT NULL, IS NULL, AND, OR. Illegal XML characters must be properly encoded, and single quotes must be escaped with backslashes ('Jane\'s Deli'). Joins are not supported.
pagesize Optional integer Custom page size between 1 and 1000 items (Default: 100)
docparid Optional string Used to indicate the document type (Ex: Sales Order). You must use this to take advantage of any custom fields on the specified document type.

Get Order Entry Transaction Subtotal

read

<read>
    <object>SODOCUMENTSUBTOTALS</object>
    <keys>1</keys>
    <fields>*</fields>
    <docparid>Sales Order</docparid>
</read>

Parameters

Name Required Type Description
object Required string Use SODOCUMENTSUBTOTALS
keys Required string Transaction subtotal RECORDNO to get
fields Optional string Comma-separated list of fields on the object to get. For best performance and predictability, limit the number of fields. To return all fields, omit the element or provide * for the value.
docparid Optional string Used to indicate the document type (Ex: Sales Order). You must use this to take advantage of any custom fields on the specified document type.

Provide feedback