Sales Order XML
In this guide, we'll walk you through the process of importing sales order information into Sage Intacct using XML format. Whether you're updating existing sales orders or adding new ones, this comprehensive guide provides you with all the necessary information and examples to ensure a smooth integration.
Matching
Before importing sales orders, it's essential to understand the different matching methods available in Sage Intacct:
Document ID
If the sales order already exists in Sage Intacct, you can provide the Document ID
, which is the unique identifier, to update the corresponding record.
<DOCID>Sales Order-SO0518</DOCID>
External ID
When providing a new sales order that you may need to update in the future, you can include the External ID
within your XML structure. This value is stored in Zynk's internal database and serves as a unique identifier to match the sales order record.
Additionally, if you enable the Prevent Reprocessing
task setting, the presence of the External ID
will trigger this functionality. When this setting is activated, attempting to process the same record again will result in a failure, preventing unintended updates or duplicates.
<EXTERNALID>9876881</EXTERNALID>
Purchase Order Number
If you need to match an existing sales order in Sage Intacct but lack the specific Document ID
, you can utilize the Purchase Order Number
element to lookup the sales order in Sage Intacct.
<PONUMBER>2</PONUMBER>
Note
Although this XML element is named PONUMBER
it relates to the Reference
field on a sales order in Sage Intacct.
XML
Transaction
You can use the mapping outlined in the table below to set fields on the Transaction
tab.
Intacct Field | XML Field | Example | Field Type | Required? | Notes |
---|---|---|---|---|---|
Transaction date | WHENCREATED | 2024-03-05 | datetime | - | If you do not provide this element, then the transaction date will default to the current day. |
Date due | WHENDUE | 2024-03-28 | datetime | - | If you do not provide this element, then the transaction date will default to the current day. |
Project | PROJECTID | - | string | - | - |
Document number | DOCNO | - | string | - | - |
Payment terms | TERM > Name | Net 30 | - | - | |
Reference | PONUMBER | 2 | string | - | - |
Message | MESSAGE | New order | string | - | - |
Shipping method | SHIPPINGMETHOD | string | - | - | |
Attachment | ATTACHMENTSID | string | - | - |
Customer
When importing a sales order, you must link it to an existing Customer
in Sage Intacct or create a new one. You can use the mapping outlined below to set the Customer
.
Intacct Field | XML Field | Example | Field Type | Required? | Notes |
---|---|---|---|---|---|
- | CUSTOMERID | 10310 | string | - | When matching to an existing customer, you can provide the Customer ID element, which acts as the unique identifier for the record. |
- | EXTERNALID | 87575 | string | - | You can provide the External Id element to create a new customer or match to a record that has previously been imported by Zynk. |
Name | NAME | Joe's Music Emporium | string | - | - |
In conjunction with the Auto Create Customers
task setting, you can provide full customer information at this location. Subsequently, this will create a new customer with the given details or update the existing record.
For Customer XML
documentation, please see here.
Bill To Contact
When importing a sales order, you can link the Bill To
field to an existing Contact
in Sage Intacct or create a new one. You can use the mapping outlined below to set the Contact
.
Intacct Field | XML Field | Example | Field Type | Required? | Notes |
---|---|---|---|---|---|
Name | CONTACTNAME | John Lennon | string | - | When matching to an existing contact, you can provide the Contact Name element, which acts as the unique identifier for the record. |
Name | NAME | John Lennon | string | - | When creating a new contact, or matching to an existing one, you can provide the Name element. |
- | EXTERNALID | 5487841 | string | - | You can provide the External Id element to create a new contact or match to a record that has previously been imported by Zynk. |
Print as | PRINTAS | Lennon, John | string | - | - |
In conjunction with the Auto Create Contacts
task setting, you can provide full contact information at this location. Subsequently, this will create a new contact with the given details or update the existing record.
For Contact XML
documentation, please see here.
Ship To Contact
When importing a sales order, you can link the Ship To
field to an existing Contact
in Sage Intacct or create a new one. You can use the mapping outlined below to set the Contact
.
Intacct Field | XML Field | Example | Field Type | Required? | Notes |
---|---|---|---|---|---|
Name | CONTACTNAME | John Lennon | string | - | When matching to an existing contact, you can provide the Contact Name element, which acts as the unique identifier for the record. |
Name | NAME | John Lennon | string | - | When creating a new contact, or matching to an existing one, you can provide the Name element. |
- | EXTERNALID | 5487841 | string | - | You can provide the External Id element to create a new contact or match to a record that has previously been imported by Zynk. |
Print as | PRINTAS | Lennon, John | string | - | - |
In conjunction with the Auto Create Contacts
task setting, you can provide full contact information at this location. Subsequently, this will create a new contact with the given details or update the existing record.
For Contact XML
documentation, please see here.
Entries
When creating a new sales order, you must provide at least one item. You can use the mapping below to set the item entries.
Intacct Field | XML Field | Example | Field Type | Required? | Notes |
---|---|---|---|---|---|
- | LINE_NO | 1 | int | - | The line number must be set to a value that is higher than zero. |
Warehouse | WAREHOUEID | 100 | string | - | - |
Location | LOCATIONID | 100 | string | Yes, on create. | - |
Department | DEPARTMENTID | 100 | string | - | - |
Quantity | QUANTITY | 100 | decimal | Yes, on create. | - |
Unit | UNIT | Each | string | - | If a value is not provided, it will default to Each |
Price | PRICE | 0.99 | decimal | Yes, on create. | - |
Drop ship | DROPSHIP | bool | false | - | - |
Item ID
When importing a sales order line, you must link it to an existing Item
or create a new one. You can use the mapping outlined below to set the Item
.
Intacct Field | XML Field | Example | Field Type | Required? | Notes |
---|---|---|---|---|---|
Item ID | ITEMID | SCISSORS | string | - | When matching to an existing item, you can provide the Item ID element, which acts as the unique identifier for the record. |
Item ID | ITEMIDENTIFIER | SCISSORS | string | - | When creating a new item, or matching to an existing one, you can provide the Item Identifier element. |
- | EXTERNALID | 5487841 | string | - | You can provide the External Id element to create a new item or match to a record that has previously been imported by Zynk. |
Print as | PRINTAS | Lennon, John | string | - | - |
In conjunction with the Auto Create Items
task setting, you can provide item contact information at this location. Subsequently, this will create a new item with the given details or update the existing record.
For Item XML
documentation, please see here.
Example
<?xml version="1.0" encoding="utf-8"?>
<SODOCUMENTS>
<SODOCUMENT>
<EXTERNALID>9876881</EXTERNALID>
<WHENDUE>2024-03-28</WHENDUE>
<WHENCREATED>2024-03-03</WHENCREATED>
<PONUMBER>2</PONUMBER>
<CUSTOMER>
<EXTERNALID>87575</EXTERNALID>
<NAME>Joe's Music Emporium</NAME>
<PRINTAS>Joe's Music Emporium</PRINTAS>
<DISPLAYCONTACT>
<EXTERNALID>44690</EXTERNALID>
<CONTACTNAME>Joe Harrison</CONTACTNAME>
</DISPLAYCONTACT>
<BILLTO>
<EXTERNALID>44690</EXTERNALID>
<CONTACTNAME>Joe Harrison</CONTACTNAME>
</BILLTO>
<SHIPTO>
<EXTERNALID>44691</EXTERNALID>
<CONTACTNAME>Adam McCrory</CONTACTNAME>
</SHIPTO>
</CUSTOMER>
<BILLTO>
<EXTERNALID>44690</EXTERNALID>
<CONTACTNAME>Joe Harrison</CONTACTNAME>
</BILLTO>
<SHIPTO>
<EXTERNALID>44691</EXTERNALID>
<CONTACTNAME>Adam McCrory</CONTACTNAME>
</SHIPTO>
<SODOCUMENTENTRIES>
<sodocumententry>
<ITEM>
<EXTERNALID>2844595</EXTERNALID>
<ITEMID>USBCABLE</ITEMID>
<NAME>USB cable</NAME>
</ITEM>
<LINE_NO>1</LINE_NO>
<ITEMDESC>New USB cables</ITEMDESC>
<PRICE>4.99</PRICE>
<QUANTITY>5</QUANTITY>
<LOCATIONID>100</LOCATIONID>
<UNIT>Each</UNIT>
<WAREHOUSE>
<NAME>WH1 - Entity 100</NAME>
</WAREHOUSE>
<SHIPTO>
<EXTERNALID>44691</EXTERNALID>
<CONTACTNAME>Adam McCrory</CONTACTNAME>
</SHIPTO>
<LINELEVELSIMPLETAXTYPE>Taxable</LINELEVELSIMPLETAXTYPE>
<DROPSHIP>false</DROPSHIP>
<DISCOUNTPERCENT>0</DISCOUNTPERCENT>
<MEMO>New USB cables</MEMO>
</sodocumententry>
<sodocumententry>
<ITEM>
<EXTERNALID>2844597</EXTERNALID>
<ITEMID>LIGHTNINGCABLE</ITEMID>
<NAME>Lightning cable</NAME>
</ITEM>
<LINE_NO>2</LINE_NO>
<ITEMDESC>New lightning cables</ITEMDESC>
<PRICE>9.99</PRICE>
<QUANTITY>2</QUANTITY>
<LOCATIONID>100</LOCATIONID>
<UNIT>Each</UNIT>
<WAREHOUSE>
<NAME>WH1 - Entity 100</NAME>
</WAREHOUSE>
<SHIPTO>
<CONTACTNAME>Adam Wardle</CONTACTNAME>
</SHIPTO>
<DROPSHIP>false</DROPSHIP>
<DISCOUNTPERCENT>0</DISCOUNTPERCENT>
<MEMO>New lightning cables</MEMO>
</sodocumententry>
</SODOCUMENTENTRIES>
<SHIPPINGMETHOD>Best Way</SHIPPINGMETHOD>
<MESSAGE>New order</MESSAGE>
<TERM>
<NAME>Net 30</NAME>
</TERM>
<BASECURR>USD</BASECURR>
<CURRENCY>USD</CURRENCY>
</SODOCUMENT>
</SODOCUMENTS>
Tasks
This XML model cam be applied on the following tasks within the Zynk Sage Intacct library.