Skip to content

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.

Import Sales Orders