Package structure

A package is an XML document that defines one or more customization activities that are deployed together to enable a feature. By grouping related activities, you ensure that changes to one activity do not adversely affect other activities in the package. You also have a single location where you can modify all aspects of a feature.

A customization package has a customErpPackage root element that wraps the child elements, as shown:

The child elements provide the content for the customization feature as follows:


Create a package

When creating a package, the easiest approach is to start with the XML package file template, then use the Sage Intacct UI to generate parts of the file. For example, you can export the definition of a Custom Report from a Wizard in the UI, then paste that definition (minus the XML declaration) into the correct place in the template file (below).

Package file template

<?xml version='1.0' encoding='UTF-8'?>
<customErpPackage xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <packageDescription>
        <name>My custom package</name>
        <description>Good stuff you will want</description>
        <author>My name</author>
    </packageDescription>
    <customFields>
        <!-- Put the exported definitions for custom fields here. -->
    </customFields>
    <smartLinks>
        <!-- Put the exported definitions of Smart Rules, Smart Events, or Smartlinks here -->
    </smartLinks>
    <customReports>
        <!-- Put the exported definitions of custom reports here. -->
    </customReports>
</customErpPackage>

Tips


Sample package file

The following shows a sample package file that provides a custom field and a related custom report:

<?xml version="1.0" encoding="UTF-8"?>
<customErpPackage xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <packageDescription>
        <name>Commission Report with Subtotals</name>
        <description>Commission Report with Subtotals</description>
        <author>johnm</author>
    </packageDescription>
    <customFields>
        <customField>
            <customFieldId>COMMISSION</customFieldId>
            <type>currency</type>
            <ownerObject>arinvoice</ownerObject>
            <label>Commission</label>
            <fieldSet />
            <page>Header</page>
            <dataDescription>
                <currency>
                    <leftOfDecimal>3</leftOfDecimal>
                    <rightOfDecimal>2</rightOfDecimal>
                </currency>
            </dataDescription>
            <description>Commission Amount</description>
        </customField>
    </customFields>
    <customReports>
        <customReport>
            <name>Commission Report with Subtotals</name>
            <description>Commission Report with Subtotals</description>
            <type>summary</type>
            <module>ar</module>
            <root>ARINVOICE</root>
            <columns>
                <field>
                    <path>ARINVOICE.CUSTOMER.CUSTOMERID</path>
                </field>
            </columns>
        </customReport>
    </customReports>
</customErpPackage>

XML refresher


What’s next?

Provide feedback