Skip to content

Purchase Order XML

In this guide, we'll walk you through the process of importing purchase order information into Sage Intacct using XML format. Whether you're updating existing purhcase 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 purchase orders, it's essential to understand the different matching methods available in Sage Intacct:

Document ID

If the purchase order already exists in Sage Intacct, you can provide the Document ID, which is the unique identifier, to update the corresponding record.

<DOCID>Purchase Order-PO0055</DOCID>

External ID

When providing a new purchase 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 purchase 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>12234231</EXTERNALID>

Purchase Order Number

If you need to match an existing purchase order in Sage Intacct but lack the specific Document ID, you can utilize the Purchase Order Number element to lookup the purchase order in Sage Intacct.

<PONUMBER>1</PONUMBER>

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 string - -
Reference PONUMBER 1 string - -
Vendor document number VENDORDOCNUMBER - string - -
Message MESSAGE PO #12234231 string - -
Shipping method SHIPVIA Best Way string - -
Attachment ATTACHMENTSID - string - -

Vendor

When importing a purchase order, you can link it to an existing Vendor in Sage Intacct or create a new one. You can use the mapping outlined below to set the Vendor.

Intacct Field XML Field Example Field Type Required? Notes
- VENDORID 20036 string - When matching to an existing vendor, you can provide the Vendor ID element, which acts as the unique identifier for the record.
- EXTERNALID 5487841 string - You can provide the External Id element to create a new vendor or match to a record that has previously been imported by Zynk.
Name NAME The Beatles string - -

In conjunction with the Auto Create Vendors task setting, you can provide full vendor information at this location. Subsequently, this will create a new vendor with the given details or update the existing record.

For Vendor XML documentation, please see here.

Pay To Contact

When importing a purchase order, you can link the Pay 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.

Return To Contact

When importing a purchase order, you can link the Return 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.

Deliver To Contact

When importing a purchase order, you can link the Deliver 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 purchase 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.
Location LOCATIONID 100 string Yes, on create. -
Department DEPARTMENTID 100 string Yes, on create. -
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. -
Item ID

When importing a purchase order line, you must link it to an existing Item. You can sue 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

The below document is a sample of the XML format required to import a purchase order into Sage Intacct.

<?xml version="1.0" encoding="utf-8"?>
<PODOCUMENTS>
    <PODOCUMENT>
        <EXTERNALID>12234231</EXTERNALID>
        <PONUMBER>1</PONUMBER>
        <WHENDUE>2024-03-28</WHENDUE>
        <WHENCREATED>2024-03-05</WHENCREATED>
        <VENDOR>
            <EXTERNALID>5487841</EXTERNALID>
        </VENDOR>
        <DELIVERTO>
            <EXTERNALID>44708</EXTERNALID>
        </DELIVERTO>
        <BILLTO>
            <EXTERNALID>44708</EXTERNALID>
        </BILLTO>
        <SHIPTO>
            <EXTERNALID>44708</EXTERNALID>
        </SHIPTO>
        <PODOCUMENTENTRIES>
            <podocumententry>
                <LINE_NO>1</LINE_NO>
                <ITEMID>Radio</ITEMID>
                <ITEMDESC>New radio</ITEMDESC>
                <PRICE>0.99</PRICE>
                <QUANTITY>100</QUANTITY>
                <TAXABLE>true</TAXABLE>
                <DELIVERTO>
                    <CONTACTNAME>Paul McCartney</CONTACTNAME>
                </DELIVERTO>
                <LOCATIONID>100</LOCATIONID>
                <DEPARTMENTID>100</DEPARTMENTID>
            </podocumententry>
        </PODOCUMENTENTRIES>
        <MESSAGE>PO #12234231</MESSAGE>
        <TERM>
            <NAME>Net 30</NAME>
        </TERM>
    </PODOCUMENT>
</PODOCUMENTS>

Tasks

This XML model cam be applied on the following tasks within the Zynk Sage Intacct library.

Import Purchase Orders