customization services

134
Customization Services User Manual

Upload: others

Post on 12-Sep-2021

10 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Customization Services

Customization Services User Manual

Page 2: Customization Services

Intacct ERP • Customization Services User Manual

Contents Introduction ................................................................................................................... 5

Who Can Use Customization Services? ...................................................................... 5 Additional Resources................................................................................................... 5

Glossary......................................................................................................................... 6 Creating a Customization Strategy.............................................................................. 7

Planning to Meet Objectives ........................................................................................ 7 Understanding Your Customization Tool Set............................................................... 7

Ad Hoc Reporting..................................................................................................... 7 Custom Fields .......................................................................................................... 8 SmartLink Click ........................................................................................................ 8 SmartLink Fetch....................................................................................................... 8 Smart Rules ............................................................................................................. 8 Smart Events............................................................................................................ 8 Catalog..................................................................................................................... 8 Packages ................................................................................................................. 9

Accessing Customization Services ........................................................................... 10 Setting Up Customization Services............................................................................ 10

Subscribing Your Company ................................................................................... 10 Subscribing Users and Granting Permissions........................................................ 10

The Customization Services Console........................................................................ 12 Using the Customization Services Wizard Interface ................................................ 14 Adding and Editing Ad Hoc Reports ......................................................................... 16

The Ad Hoc Reports Menu ........................................................................................ 16 The Ad Hoc Reports Wizard ...................................................................................... 18

Choose Your Report Format .................................................................................. 19 Choose the Data Type For Your Report................................................................. 19 Select the Columns to Be Included ........................................................................ 20 Order Your Report Columns................................................................................... 22 Select Filters .......................................................................................................... 22 Select Advanced Filter ........................................................................................... 25 Select Summary Information.................................................................................. 25 Select Group by Column ........................................................................................ 26 Select Column Sequence....................................................................................... 26 Select Summary Sequence.................................................................................... 27 Select Group by Sequence .................................................................................... 27 Select the Type of Chart ........................................................................................ 27 Run Report............................................................................................................. 29 Select Runtime Parameter Fields........................................................................... 30 Select Runtime Parameter Properties.................................................................... 30 Describe Your Report............................................................................................. 31 Duplicating a Report............................................................................................... 31 Saving the Ad Hoc Report XML to a File................................................................ 32

Running an Ad Hoc Report........................................................................................ 32 View Formats ......................................................................................................... 32

2

Page 3: Customization Services

Intacct ERP • Customization Services User Manual

Adding an Ad Hoc Report to Your Dashboard ........................................................... 33 A Business Example of Ad Hoc Reporting................................................................. 34

Adding and Editing Custom Fields............................................................................ 37 The Custom Fields Menu........................................................................................... 37 The Custom Field Wizard .......................................................................................... 38

Choose an Object to Extend .................................................................................. 39 Choose a Field Data Type ..................................................................................... 40 Choose Field Characteristics ................................................................................. 41 Saving a Custom Field ........................................................................................... 49 Duplicating a Custom Field .................................................................................... 49 Saving the Custom Field XML to a File .................................................................. 49

A Business Example of Custom Fields ...................................................................... 49 Adding and Editing SmartLink Clicks ....................................................................... 51

The SmartLink Click Menu......................................................................................... 51 The SmartLink Click Wizard ...................................................................................... 52

Choose an Object to Extend .................................................................................. 53 Select Click Properties ........................................................................................... 54 Select Deployment Options.................................................................................... 55 Saving Your SmartLink Click.................................................................................. 56 Duplicating a SmartLink Click................................................................................. 56 Saving the SmartLink Click XML to a File .............................................................. 56

A Business Example of SmartLink Click .................................................................... 57 Adding and Editing SmartLink Fetches .................................................................... 59

The SmartLink Fetch Menu ....................................................................................... 59 The SmartLink Fetch Wizard ..................................................................................... 60

Choose an Object to Extend .................................................................................. 61 Select Fetch Properties.......................................................................................... 61 Select Deployment Options.................................................................................... 62 Saving Your SmartLink Fetch................................................................................. 63 Duplicating a SmartLink Fetch ............................................................................... 63 Saving the SmartLink Fetch XML to a File ............................................................. 63

A Business Example of SmartLink Fetch................................................................... 64 Adding and Editing Smart Rules................................................................................ 66

The Smart Rules Menu.............................................................................................. 66 The Smart Rule Wizard ............................................................................................. 67

Choose an Object to Extend .................................................................................. 68 Select Rule Properties ........................................................................................... 68 Select Deployment Options.................................................................................... 70 Saving Your Smart Rule......................................................................................... 70 Duplicating a Smart Rule ....................................................................................... 70 Saving the Smart Rule XML to a File ..................................................................... 71

A Business Example of Smart Rules ......................................................................... 71 Adding and Editing Smart Events.............................................................................. 72

The Smart Events Menu ............................................................................................ 72 The Smart Event Wizard............................................................................................ 73

Choose and Object to Extend ................................................................................ 74

3

Page 4: Customization Services

Intacct ERP • Customization Services User Manual

Select Event Properties.......................................................................................... 74 Select E-Mail or HTTP Post Properties .................................................................. 75 Select Deployment Options.................................................................................... 77 Saving Your Smart Event....................................................................................... 77 Duplicating a Smart Event...................................................................................... 78 Saving the Smart Event XML to a File ................................................................... 78

A Business Example of Smart Events ....................................................................... 78 An E-Commerce Solution....................................................................................... 78

Writing Injections & Conditions................................................................................. 80 Injections ................................................................................................................... 80

Understanding the Catalog .................................................................................... 81 Injection Parameters .............................................................................................. 81

Conditions.................................................................................................................. 83 Injections................................................................................................................ 84 Literals ................................................................................................................... 84 Operators ............................................................................................................... 84 Grouping ................................................................................................................ 84 Methods ................................................................................................................. 85 Illegal Characters ................................................................................................... 86 Mixing Data Types ................................................................................................. 86

Creating and Uploading Packages ............................................................................ 87 How to Use This Reference....................................................................................... 87 Writing XML ............................................................................................................... 89 Package Structure ..................................................................................................... 92 customErpPackage (Root)......................................................................................... 93 packageDefinition ........................................................ Error! Bookmark not defined. customFields.............................................................................................................. 94

customField............................................................................................................ 95 Template XML for Custom Fields........................................................................... 99

smartLinks ............................................................................................................... 100 smartLink ............................................................................................................. 100 Template XML for smartLinks .............................................................................. 104

customReports......................................................................................................... 105 customReport....................................................................................................... 105 Template XML for customReports........................................................................ 110

Opening the Packages Menu ...................................... Error! Bookmark not defined. Sorting and Finding Packages..................................... Error! Bookmark not defined. View a Package........................................................... Error! Bookmark not defined. Delete a Package ........................................................ Error! Bookmark not defined. Add a Package ............................................................ Error! Bookmark not defined.

Appendix A – Ad Hoc Report Data Types ............................................................... 115 Appendix B – Chart Types........................................................................................ 117 Appendix C – Package XML Schema Definition ..................................................... 124 Index........................................................................................................................... 134

4

Page 5: Customization Services

Intacct ERP • Customization Services User Manual

Introduction Welcome to Customization Services. Customization Services provides the tools to extend Intacct and make new options available immediately. Have you ever needed a new field in a record right away? Are their reports that you need to run on your data or even on custom fields? Would your business be improved by communicating accounting activity immediately and automatically to key associates within your company? How about sending automatic e-mails to customers and vendors regarding sales and purchase orders? Would you like to create rules and warnings that guide users along your unique business practices? Customization Services was designed to make sure that your accounting solution adapts to you, not the other way around.

As you learn to use customization services, you will find a new world of possibilities. You will be able to better adapt the Intacct solution to your business needs. You will be able to add rules and notices to comply with your industry and the Sarbanes-Oxley Act. By implementing unique reports, fields, and activities related to your business, you will be able to create better business processes that improve profitability and meet growing compliance regulations.

Who Can Use Customization Services? Just about anyone can use Customization Services. Although many companies rely on their developers to perform customization tasks, this manual is designed to help any Intacct user effectively adapt Intacct to their unique business processes. If you understand the results you want to achieve and basic accounting reporting principles, you should be able to use Customization Services. Most of the activities are guided step-by-step and only require selecting options and choosing fields. The only part that remotely resembles coding is writing conditions and that is thoroughly documented in the section Writing Conditions.

Additional Resources Because Customization Services relies on adapting existing resources, you may find it helpful to review the documentation and online help for the parts of Intacct that you want to customize. For instance, if you are going to create custom fields for inventory items, you may want to go to inventory items and review the definitions, data-types, and purposes of the existing fields before adding a custom field.

Live Help is also available as part of your Intacct financial management solution. Simply click on the Live Help link in the upper right corner of your Intacct user console to initiate a chat session with an Intacct customer service professional.

5

Page 6: Customization Services

Intacct ERP • Customization Services User Manual

Glossary The following glossary defined some of the terms we will be working with in Customization Services. This is not a complete list of terminology related to the Intacct ERP. It is limited to terms specific to Customization Services.

Catalog: A directory of objects, fields, and events useable in Customization Services activities for a specific company.

Condition: A logical expression that must evaluate to true before Customization Services will allow an action to proceed.

Event: A business process event in the Intacct, such as “add customer” or “delete invoice.” Events are listed in the Customization Services catalog for every available object.

Filter: A fixed query.

Injection: the process of replacing parameters in Customization Services arguments with relevant Intacct values. Injection parameters are wrapped with “{!” and “!}”. For example,

https://www.google.com/search?q={!CUSTOMER.NAME!}

might evaluate to

https://www.google.com/search?q=Acme

Nexus: The relationship of data within Intacct. Customization Services uses Nexus to locate data. Nexus paths define a specific field in the database.

Runtime Parameter: A query parameter that is added by the user at the time the filter is run.

Smart Link: A Customization Services component used to link Intacct records or screens to external systems. Smart Links can be of type click or fetch.

Smart Link Click: Clickable link on the screen.

Smart Link Fetch: Window in the Intacct screen.

Smart Rule: A Customization Services component that allows users to add conditions to events. If the condition expression evaluates to false, Customization Services either shows an error or a warning to the user.

Smart Event: A Customization Services component that allows users to add custom actions to events. These actions are executed after the event completes successfully. Available actions are “E-Mail” and “HTTP Post”. HTTP Post provides a way for Intacct to communicate in real time with other applications.

6

Page 7: Customization Services

Intacct ERP • Customization Services User Manual

Creating a Customization Strategy What do you want your ERP to do for you? What tasks are you currently doing with your Intacct ERP data outside of Intacct that could be handled automatically by a Customizations Services activity? Customization Services offers you so many possibilities that you may wonder where to start. Where to start depends greatly on what kind of business you are in.

If you are in the wholesale business, you may want to start by customizing Items to capture shipping details. Of course, if you are a professional services company, you may not care about shipping, but you may want to add fields to the Customer record to capture more intelligent, business-relevant information about your customers.

Every industry is different. Where you begin is entirely up to you. A good place to start is to understand how you can use customization to meet business objectives and to understand the tools available in Customization Services.

Planning to Meet Objectives Even though Customization Services is built into your Intacct ERP, you will still be using time and energy resources to make use of it. With that in mind, you will want to carefully plan and weigh your customization against your business objectives.

In addition to considering resource allocation, you will want to consider the impact of the changes you make on the way you do business. Adding 20 extra fields to the customer record may get you lots of data to work with, but if order entry time doubles, your customization may end up costing more in labor and lost calls than it’s worth.

Going into all the ways customization can impact your businesses is beyond the scope of this user manual. It is important that you assess your individual needs and come up with a plan that meets your needs.

Understanding Your Customization Tool Set Customization Services can be best understood in terms of the available tools. Below is brief description of each tool. To learn how to use each tool, go to the chapter about that tool.

Ad Hoc Reporting Ad Hoc Reporting is a robust reporting tool that can be used to create custom queries against your data, export data and data structures for use in other applications or application development, and to create executive reports that can be output as documents or added to dashboards. For more information on Ad Hoc Reporting, see Adding and Editing Ad Hoc Reports.

7

Page 8: Customization Services

Intacct ERP • Customization Services User Manual

Custom Fields You can use Custom Fields to capture important data that is unique to your business process. Once a custom field is added, it can become part of standard forms, such as Order Entry, and can also be used when creating Ad Hoc Reports. For more information on Custom Fields, see Adding and Editing Custom Fields.

SmartLink Click With a SmartLink Click, you can embed intelligent hyperlinks into forms and reports. These hyperlinks can be based on conditional information about the customer, the invoice, or any number of variables in the data. For more information on SmartLink Click, see Adding and Editing SmartLink Clicks.

SmartLink Fetch A SmartLink Fetch is similar to a SmartLink Click except that instead of embedding just a link, it embeds actual information from an external web site. Things like stock tickers, shipping status, search engine results, etc., can be loaded into a frame on a report or dashboard. For more information on SmartLink Fetch, see Adding and Editing SmartLink Fetches.

Smart Rules Smart Rules are the key to building industry specific compliance into your business processes. Using Smart Rules, you can create governing limitations on financial management activities to ensure that the business practices your want are enforced within your organization. For more information on Smart Rules, see Adding and Editing Smart Rules.

Smart Events Smart Events are events that get triggered when certain conditions are met. An event could be something as simple as an e-mail to the sales manager when a sales quote over $10,000 is created. Smart Events allow you to automate communications and processes according to events that arise in your financial management. For more information on Smart Events, see Adding and Editing Smart Events.

Catalog The Catalog is sort of a sub-set of all the tools in Customization Services. The Catalog provides you with a view of all the objects and fields available to you as you perform customization activities. For more information about the Catalog, see Injections/Understanding the Catalog.

8

Page 9: Customization Services

Intacct ERP • Customization Services User Manual

Packages When a new customization is very involved and requires several interrelated activities, queries, or functions, you may choose to write a package. For more information on Packages see Creating and Uploading Packages.

9

Page 10: Customization Services

Intacct ERP • Customization Services User Manual

Accessing Customization Services To access Customization Services from your user Accounting Console, go to the Applications menu. If Customization Services is setup and available, choose Customization Services. This will bring up the main Customization Services Console.

If customization services is not available, the administrator can set up Customization Services using the steps listed below.

Setting Up Customization Services Setting up Customization services requires that you first subscribe as a company, and second, subscribe and grant permissions to individual users.

Subscribing Your Company Like many Intacct services, Customization Services becomes active when the administrator subscribes to it. Customization Services is included with the Enterprise Package. To check and see if you are currently subscribed to the Custom ERP:

1. From the Applications menu on your home console, choose Company.

2. From the Company Map, choose Subscribe & Configure Applications.

If your company has subscribed to Customization Services, Customization Services will be listed among the subscriptions.

Subscribing Users and Granting Permissions For individuals to work with customer services, you need to set subscription and permissions at the user level.

10

Page 11: Customization Services

Intacct ERP • Customization Services User Manual

Note: Just because permission is granted for customization services, doesn’t mean the user can implement all the possible activities available from customization services. A user can only setup customization activities for objects and fields to which they already have permissions.

For instance, if a user does not have access to the Customer record, that user cannot add customization activities related to the Customer record.

For information on granting general permissions, see the Online Help for the Users Lister.

To subscribe and grant permissions to a user:

1. From the Accounting Console, choose Company

2. Under Administration, choose Users

3. From the User menu, find the User you want.

Note: Got a big list of users? Get to the one you want quicker by selecting the up arrow on the far left of the user list header. Type the first few letters of the ID or name of the user you want and click Go. A short list of possible choices comes up, and you are saved the time of scrolling through hundreds of users.

4. On the user list, choose Subscriptions next to the name of the user.

5. Click the check box next to Customization Services to enable this set of functions for that user. At this point they have not given permission for specific activities.

6. On the Customization Services Row, choose Permissions.

7. From the right side of the header row, select the type of permission you want to allow for the different activities:

None: Cannot read, add, or edit

Read Only: Can read but not add or edit

All: Can read, add, and edit

8. Check the boxes next to the activities to which you want this user to have access.

List: Can access lists of activities

View: Can access the content of activities

11

Page 12: Customization Services

Intacct ERP • Customization Services User Manual

The Customization Services Console

Starting in the upper left, you would use the Activities pull down menu to quickly begin creating a new activity. When you choose an activity from this menu, it takes you directly to step one of creating a new instance of one of the following activities:

• Ad Hoc Reporting • Custom Fields • SmartLink Click • SmartLink Fetch • Smart Rules • Smart Events

To the right of the Activities menu is the Records pull down menu. You can use the Records menu to view lists of the following activities:

• Ad Hoc Reporting • Custom Fields • SmartLink Click • SmartLink Fetch • Smart Rules • Smart Events

The next menu to the right of Records is the Services pull down menu. From the Services menu, you can choose to view:

Customization Packages: a list of all uploaded packages.

12

Page 13: Customization Services

Intacct ERP • Customization Services User Manual

Catalog: a catalog of all the available customization resources by clicking on Customization Services Catalog.

In the center of the Customization Services page is the Customization Services Map. You can use the Map menu to view lists of the following activities and services:

• Ad Hoc Reporting • Custom Fields • SmartLink Click • SmartLink Fetch • Smart Rules • Smart Events • Customization Packages • Catalog

On the top right, you have several navigation and services options related to navigating through your accounting practice:

E-Practice Console links to your main dashboard page.

Home links to your My Accounting console.

Map links to the main map for Customization Services.

Search launches the Intacct search tool in a new window.

Help launches the Intacct help utility in a new window.

LiveHelp launches a window from which you can launch a chat session with an Intacct customer service professional.

SignOut signs you out of Intacct.

Below these navigational and service links is the Applications pull down menu. From the Applications pull down menu, you can launch any of the applications related to your Intacct Accounting Practice.

13

Page 14: Customization Services

Intacct ERP • Customization Services User Manual

Using the Customization Services Wizard Interface Customization Services uses wizards to set up and edit activities. It may be helpful to go over some of the common interface elements and processes in the customization services interface.

Wizard navigation consists of the following:

Print To: Click print to when you want to capture the current screen as a PDF or capture the XML code associated with the current screen. The Print To function will bring up a menu that allows you to choose between printing to a PDF or XML document.

Save: Save will validate the activity and write the custom changes to your Intacct ERP. Nothing is written to the database until you click Save.

Save & New: Choose save and new if you are creating another of the same type of activity. Note: If you are creating multiple similar activities, you may want to go back to the list view and choose Duplicate next to a similar activity. You will need to change the ID to make it unique.

Cancel: You can clear all your input for the current activity setup and return to the Customization Services map by clicking cancel.

Step [2] of [3] Pull Down Menu: This menu allows you instant access to any step in the wizard. All the steps for the current wizard are listed in the pull down menu next to the text indicating the current step and the total number of steps in the wizard.

<< >>: The double arrow buttons next to the pull down menu have the same functions as the Back and Next buttons respectively.

Back: Takes you to the previous step.

Next: Takes you to the next step.

Note: Selections and input for each step are maintained as you move forward and back or jump between steps.

Additional options that appear in the upper right corner are:

Duplicate: Once an activity has been saved and you have come back to it in editing mode, you can duplicate the activity then make changes to fields to quickly create a similar activity.

14

Page 15: Customization Services

Intacct ERP • Customization Services User Manual

Exp Def: Exports an XML definition of the activity for use in development or package creation (available on the Deployment or Save steps of the wizard). The XML of the activity can not be used as a package by itself, but rather can be inserted in the proper place in a package to create that activity (see Creating and Uploading Packages).

Run Report: Takes you directly to the Run Report step in Ad Hoc Reporting. Shown only in the Ad Hoc Reporting wizard.

The following button shows up next to certain fields as a shortcut within the wizard interface:

Calendar Button: Click on this button to bring up a calendar from which to pick a date.

15

Page 16: Customization Services

Intacct ERP • Customization Services User Manual

Adding and Editing Ad Hoc Reports Ad Hoc Reports are perhaps the most powerful and complex activities in the Customizations Services tool kit. They can add tremendous power to you Intacct accounting solution as you use them to query data and generate reports according to your business practices.

Things to consider when creating an Ad Hoc Report are the objects from which you want to pull data, the filters you want to run on that data, the calculations and subtotals that will make the data most meaningful, and how you want the data displayed. Ad Hoc Reporting can draw on data from existing fields or from custom fields. Ad Hoc Reports are built using a step-by-step wizard and stored in the Ad Hoc Reports Menu.

The Ad Hoc Reports Menu To get to the Ad Hoc Reports Menu from your Customization Services Console, choose Ad Hoc Reporting from the Records pull down menu or click on the Ad Hoc Reporting icon on the Customization Services Map.

The ad hoc reports menu contains all the custom reports that have been added to your Intacct ERP.

If a report has been added using Customization Services and you have full permissions regarding the report and its query items, you can Edit, View, Run, or Delete the report. If an Ad Hoc report was added as part of package, it will have a package name, and you will only be able to View or Run the report.

To sort the names of your Ad Hoc Reports alphabetically ascending or descending, click the column header for the column by which you want to sort.

To quickly view an item from a long list, use the Filter Fields with the Go button next to them at the bottom of the column.

1. Choose the column you want to filter.

2. Type the first few letters of the item or filter criteria in the Filter Field for that column.

3. Click Go.

To bring the Filter Fields to the top of the list, click the arrow in the upper left corner of the menu.

16

Page 17: Customization Services

Intacct ERP • Customization Services User Manual

For more information on using Filter Fields, see Online Help for Filtering Lists.

Once you have filtered a list, you may want to again view all items. You can do this by clicking Clear to left of the filter.

By default, the Ad Hoc Reports menu shows only the active reports. To view all the reports, click the View All button in the upper and lower right corners of the Ad Hoc Reports menu. When you click the View All button, you get a list of all active and inactive reports. You will also see two changes to the menu: first, a Status column has been added to the menu to indicate whether a report is active or inactive, and second, the View All button has changed to a View Active button. You can go back to viewing only active reports by clicking the View Active button.

To exit the Ad Hoc Reports menu and return back to the Customization Services Map, click on Map on the right side of your console header.

17

Page 18: Customization Services

Intacct ERP • Customization Services User Manual

The Ad Hoc Reports Wizard When creating an Ad Hoc Report, the number of required steps and the content of those steps changes according to the kind of report you choose. The following chart shows possible paths you can follow as you create your report.

18

Page 19: Customization Services

Intacct ERP • Customization Services User Manual

To start creating a new Ad Hoc Report and bring up the Ad Hoc Reporting Wizard:

• Choose Ad Hoc Reporting from the Activities pull down menu (see Customization Services Console/Activities Menu)

OR • If you are already at the Ad Hoc Reports menu, click on the Add

button in the upper and lower right of the menu.

Choose Your Report Format

Choosing your report format really depends on the complexity of your report. For data that can simply be listed together with one grand total, you should choose Tabular. For data that needs to be broken up into subunits and get subtotals, you should choose Summary. When you choose Summary, the number of steps in the wizard increases as shown un the flow chart at the beginning of this section.

For example, getting a report on all invoices over $10,000, you would choose different report formats depending on how you wanted to view the information. If you simply want to view the number of these invoices and their combined dollar volume, choose Tabular. If, however, you want to gather some intelligence on large invoices by geographic region, you may want to choose Summary so you can create subtotals according to regions.

Choose the Data Type For Your Report

Select the data type for your report from the drop down menu. The data type you choose will determine the relationships and options in later steps. For some document data types, a second field will appear where you can select the specific form of that data type you want to work with.

19

Page 20: Customization Services

Intacct ERP • Customization Services User Manual

For example, if you are going to set up a report that lists all invoices with line items over $10,000, you would want to set your data type to Invoice Details. From there you could add in other details related to Invoice Details, but that would be the starting point, the anchor, to which all the other data would link.

The list of data types is limited to objects to which you have permissions. For a list of available data types, see Appendix A.

Select the Columns to Be Included

This is where Ad Hoc Reporting gets fun. The first data type or object (Invoice Detail in this illustration) is the Data Type you selected. The items with check boxes next to them (Memo, Department ID, etc. in this illustration) are the fields or columns for that object.

Check the box next to each item that you want to include in your report.

The objects below the first object (AR Account Label, Allocation, Invoice, etc. in this illustration) are objects that share a relationship with the first object. To see column details and additional relationships for these objects:

• Click the arrow to the left of the object name.

You can follow a trail of objects as far as the relationships will take you and include fields from those related objects in your report. As with the list of data types, you will only be able to view related objects to which you have permissions granted. Below is an example of following relationships 3 tiers deep.

20

Page 21: Customization Services

Intacct ERP • Customization Services User Manual

Using the same example, you can link from Invoice Detail to Invoice where you can add State and from there to Customer where you can add Term. There are also many more related objects under customer that you could access.

Note: You only need to select the fields you want to display in your report. In later steps, you can still filter your report by other related fields not shown in your report.

This figure also shows two important indicator icons:

(next to FedEx Tracking): Tells you this is a custom field.

(next to Customer ID): Tells you this is a drill down field. When this field is added to the report, a user can click on the data in this field to get more information.

Although your report may be far from finished, you have, by this point, defined enough information to run your report. A Run Report button has been added to the upper right corner of the wizard, along with Save, Save & New, and Cancel.

For more information on Running your report see the section Running an Ad Hoc Report.

21

Page 22: Customization Services

Intacct ERP • Customization Services User Manual

Order Your Report Columns

Once you have selected the fields you want to include in your report, you can put them in the order in which you would like them to sort.

To set the sort order for a column:

1. Click the arrow next to the pull-down menu under sort.

2. Choose Ascending, Descending, or None.

Only four columns may have an assigned sort type of Ascending or Descending.

You can change the sort priority of a column by moving it up or down the list. The column in the first position will be sorted first, the next column down will be sorted within the first, and so on. To change a column’s priority:

1. Select the Position radio button for the column you want to move.

2. Click on the Top, Up, Down, or Bottom buttons to change the position of the selected column.

Select Filters

Selecting filters limits your data to the criteria you set.

Notice that all the objects related to Invoice Detail are present in the above example. Filters may be set on any field for any object related to your root object. You are not limited to just the objects you chose to display in your report.

22

Page 23: Customization Services

Intacct ERP • Customization Services User Manual

Note: Filtering by date is a run time parameter for every report and does not require a filter to be set up at this point.

To select a filter:

1. Choose the object that holds the column or field you want to filter.

2. Choose the column within the object you want to filter.

3. Choose an operator. Available operators include:

Equals: Displays all records in which the data in the chosen Column matches the text or number typed in the Value field.

Less than: Displays all records in which the value of the number in the chosen Column is less than the value of the number typed in the Value field.

Greater than: Displays all records in which the value of the number in the chosen Column is greater than the value of the number typed in the Value field.

Less or equal: Displays all records in which the value of the number in the chosen Column is less than or equal to the value of the number typed in the Value field.

Greater or equal: Displays all records in which the value of the number in the chosen Column is greater than or equal to the value of the number typed in the Value field.

Not equal to: Displays all records in which the data in the chosen Column does not match the text or number typed in the Value field.

Contains: Displays all records in which a character or group of characters in the chosen Column matches the character or group of characters in the Value field. Characters must match in the same order. For instance, “ox” typed in the Value field may return records for “Oxygen, Inc.,” “Boxing Agency,” and “Clorox,” if those were values in the chosen column.

Does not contain: Displays all records in which no character or group of characters in the chosen Column matches the character or group of characters in the Value field. For instance, a value of “USA” might be used to match records with contacts in countries other than “USA.”

Starts with: Displays all records in which the first character or group of characters in the data in the chosen Column match the character or group of characters in the Value field. Characters must match in the same order. For instance, if you had an item ID scheme that used initial letters to identify product type, you could

23

Page 24: Customization Services

Intacct ERP • Customization Services User Manual

set the column to ItemID and the Value field to these letters and display all records for that product type.

Ends with: Displays all records in which the last character or group of characters in the data in the chosen Column match the character or group of characters in the Value field. Characters must match in the same order. An instance, if you had tagged the end of the item ID for all custom order items with the letters “CO,” you could set the column to ItemID and set the value to “CO” to display all the records for custom order items.

Includes: Displays all records that match items in a comma delimited list in the Value field.

Excludes: Displays all records that do not match items in a comma delimited list in the Value field.

4. Add a value. This may be a number or a string of text depending on the operator you chose. If you chose Includes or Excludes, this could be a comma delimited list of numbers or text strings.

To add more filters within an object: • Click More at the bottom of the filter field area.

To remove unused filter fields: • Click Less at the bottom of the filter field area.

Removing unused filters is not necessary, but it may be helpful if you need more space on the screen to view filters in other objects.

Filtering Out Empty Fields (Null Values)

You may find it helpful, especially when creating report charts, to eliminate records where summary fields are blank. For instance, if you are running a report on invoices by state, you may want to eliminate all invoices that don’t have a value for state. This keeps your report clean and relevant.

To filter out records in which a key field is empty:

1. In the Columns column, select the column you want to filter by.

2. In the Operator column, select “not equal to”.

3. In the Value column, type the word “null”.

24

Page 25: Customization Services

Intacct ERP • Customization Services User Manual

Select Advanced Filter If you chose a filter, then you will be asked to select an advanced filter. If you chose no filter, You will be asked to select summary information as shown in the next step.

Setting advanced filter conditions requires writing conditions. These are simple Boolean conditions such as grouping filters using and, or, or parenthesis functions. For example, if you had 3 conditions, you could write the filter condition:

(1 and 2) or 3

If (1 and 2) returned no results, the report would go to 3 as an alternate.

As shown in the above figure. The Advanced filter condition will provide a default that runs each of the filters you had set up.

Select Summary Information

To select the columns you want to summarize:

1. Go to the object that contains the column.

2. Check the box to the right of the column name for the type of summary you wish to see. As shown in the above figure, mathematical summaries can only be performed on numeric fields. Text fields are limited to Count summaries.

25

Page 26: Customization Services

Intacct ERP • Customization Services User Manual

Select Group by Column This step only comes up if you chose Summary format.

You can select up to three Group by Columns. To select the columns by which you want to group your report:

1. Go to the object that contains the desired column.

2. From the pull-down menu, choose the column by which you want to group.

When you select multiple columns, you create subgroups within your report.

To get more column fields within an object: • Click on More below the object fields.

To remove unused column fields from the object: • Click on Less below the object fields.

Select Column Sequence

To select the column display sequence for your report:

1. Click the radio button next to the column you want to move.

2. Use the Top, Up, Down, and Bottom buttons to move it to the desired position.

To change the Header Label that is displayed for a column:

1. Click in the field under Header Label next to the column you want to change.

2. Type in the new header label.

26

Page 27: Customization Services

Intacct ERP • Customization Services User Manual

Select Summary Sequence This step is only present if you selected one or more summary columns.

In this step, you establish the labels and display order of your summaries.

To set the Labels for your summaries: • Type the label you want in the text fields under Summary Label.

To change the display order of the Summaries:

1. Click the button next to the summary column you want to change.

2. Use the arrows labeled Top, Up, Down, and Bottom to change the position of the column.

Select Group by Sequence This step is only present if you chose a Summary report format and you selected one or more Group by Columns.

You use the Group by Sequence step to set which groups take priority when they are sorted. Items are sorted first by the first column, then by the second column and so on creating multiple levels of summary information.

To set the sort order for a summary group: • Select Ascending, Descending, or None from the sort menu.

To change the sort order of the summary groups:

1. Click the button next to the summary column you want to change.

2. Use the arrows labeled Top, Up, Down, and Bottom to change the sort priority of the column.

Select the Type of Chart When you run your report, you can choose to run a Chart Format to visually display your information.

Several different kinds of charts are available:

27

Page 28: Customization Services

Intacct ERP • Customization Services User Manual

• Line • Column (default) • Stacked Column • 3D Column • Stacked 3D Column • Parallel 3D Column • Pie • 3D Pie • Bar • Stacked Bar • Area • Stacked Area • Scatter • Polar

To view screen different types of charts, see Appendix B – Chart Types

First, select the Chart Type that works best for your report:

• Choose a chart from the Chart Type pull-down menu.

The Chart Type you choose will change some of the visual options available to you. See below for brief descriptions of what each option affects.

Y-Axis: The summary value that is set along the vertical axis of the chart.

X-Axis: The summary value that is set along the horizontal axis of the chart.

Grouping: Sets a third parameter (from Grouped by) for stacked and parallel charts.

X Label: Sets the position for the label on the horizontal axis.

28

Page 29: Customization Services

Intacct ERP • Customization Services User Manual

Y Label: Sets the position for the label on the vertical axis.

Legend: Sets the position for the chart legend.

Font size: Sets the size of the text used on the chart.

Graph size: Sets the size of the grid the chart is set over.

Width: Sets the overall width of the chart.

Height: Sets the overall height of the chart.

Note: It’s ok to make some guesses and experiment with the visual options for your chart. If you don’t like the look of the chart, you can go back and edit the chart type and options.

Run Report

Your report requires an reporting period to report on. To set the accounting period as well as the display titles and footer:

1. Select a Reporting Period. The Reporting Period pull-down menu gives you monthly, quarterly, and annual options that include next, current, and past periods back to 1999. You can modify this time period by adding an As of Date.

OR

Select a precise Start Date and End Date for your report.

2. Use the Report Title 1 and Report Title 2 fields to enter the first and second lines of your title, respectively.

3. Use the Footer Text to add information you want to show up at the bottom of your report pages.

The Run Report step gives you a short cut to run your report:

To Run the Report:

1. Choose a view option from the View pull-down menu.

2. Click Go.

For more information on the running a report and the different view options, see the section Running an Ad Hoc Report.

29

Page 30: Customization Services

Intacct ERP • Customization Services User Manual

Select Runtime Parameter Fields

Runtime Parameters are similar to filters in that they filter the data according the criteria you set. Unlike filters, Runtime Parameters are set up as fields that the user specifies at the time they run the report. You can set up to six runtime parameters.

For instance, at runtime, you may want the person running the report to be able to specify the accounts receivable status regarding the invoice from which the item comes. You could open the AR Account Label object and click the field titled Status. The person running the report would be able to specify an account status (e.g “Paid” or “Overdue”).

To select a field to receive a runtime parameter:

1. Click on the object that contains the field.

2. Click the check box next to the field.

Select Runtime Parameter Properties You will only set up Runtime Parameter Properties if you chose Runtime Parameter fields.

The Runtime Parameter Properties allow you to control how a parameter field will be labeled, how multiple fields will be grouped, and whether it will have a prompt at runtime.

By default, the name of the field is provided as the Field Label. To change the Field Label:

• Click in the Field Label text field and type in the label you prefer.

The Field Group is an arbitrary group that you designate. If you were to type “AR Parameters” into both Field Group boxes above, your runtime parameter fields would be grouped together in a box called AR Parameters. On a report with several runtime parameters, grouping fields with meaningful labels can save time for the person running the report. To add a Field Group:

30

Page 31: Customization Services

Intacct ERP • Customization Services User Manual

• Click in the Field Group text field and type the name of the group you are creating.

For your runtime parameter to provide a prompt to the user when the report is run:

• Check the box under Show Prompt On Run.

To change the display position of your runtime parameters:

1. Click the radio button in the Position column for the parameter you want to move.

2. Move the parameter up or down by using the Top, Up, Down, and Bottom buttons.

Describe Your Report

The final step in creating your Ad Hoc Report is to give it an identity.

1. Type a name into the required Name field. The red asterisk and text indicate that this is a required field.

2. Select an Intacct ERP Module where you want the report to be found and run from.

3. Check Deploy to make your report part of the module your chose or leave it unchecked to make accessible only through Ad Hoc Reporting.

4. Type a brief description of your report.

The report you are creating is Active by default. To make the report inactive, click the pull-down menu next to status and choose Inactive.

Duplicating a Report Once a report has been saved, it can be accessed and changed by selecting Edit to the right of the report on the Ad Hoc Reports menu. In edit mode, you will see an additional option in the upper right corner of the wizard: Duplicate.

Duplicate allows you to create a copy of your report, give it a different name, and make changes to the report.

In Edit mode, you can change everything about the report except its name.

31

Page 32: Customization Services

Intacct ERP • Customization Services User Manual

Tip: If you really want to rename the report, duplicate the report, give the new report the new name and delete the old report.

Saving the Ad Hoc Report XML to a File Having the XML that is the basis of your Ad Hoc Report can be a useful development tool. To obtain the XML of your Ad Hoc Report:

1. On the last step of the Wizard, choose Exp Def from the upper right corner to download the XML code displayed in a browser page.

2. Click Save and choose a location to save the file.

Running an Ad Hoc Report You can run an Ad Hoc report from the list of Ad Hoc Reports or from the Ad Hoc Reporting wizard.

To run an Ad Hoc Report from the list Ad Hoc Reports:

1. Click Run to the right of the report you want to run.

2. Choose the view format for your report (see View Formats below).

To run a report from the Ad Hoc Reporting wizard:

1. Click on the Run Report button in the upper right. This takes you to the Run Report step.

2. Choose the view format from the View pull-down menu in the upper right corner (see View Formats below).

3. Click Go.

View Formats You can view your Ad Hoc Reports in the following formats:

HTML: HTML is the most common format. The report is displayed in a new window in your browser and retains the ability to drill down on select fields.

Printable: The printable view option displays the report in an Adobe® Acrobat file. This is a good option if you want to print the report or share it in a locked format. You cannot drill down on any fields in a printable report.

Word: When you choose to view your report in Word, you receive a prompt to download or open a dynamically created Microsoft® Word document. You may want to choose a word document if you are going to incorporate the data from the report into another Word or word processing document such as an annual report.

Graph: Choosing graph generates a Flash chart that is displayed in a new browser window. The chart format is based on the parameters you chose in the Chart Parameters step of the Ad Hock Reporting wizard. A print button is

32

Page 33: Customization Services

Intacct ERP • Customization Services User Manual

included in the chart to make printing the chart quick and easy. A chart can be useful when you want a visual snapshot of your report.

CSV: CSV stands for Comma Separated Values. The CSV format is often used to get data in and out of flat file databases and can be a useful development tool. It is heavily dependant on the order of the fields.

Excel: Excel is becoming an industry standard for analyzing tables of data. Exporting to Excel provides you with an organized accessible format for additional number crunching.

Text: The text format view displays the report in ordered columns of text.

XSD: XSD stands for XML Schema Definition. It specifies how to formally describe the elements in an Extensible Markup Language (XML) document. This description can be used to verify that each item of content in a document adheres to the description of the element in which the content is to be placed. An XSD represents the interrelationship between the attributes and elements of an XML object. Although this file does not contain the actual data of your report, viewing the XSD file for your report can be invaluable when developing integration tools for external systems.

XML: XML stands for Extensible Markup Language and is the main format the Intacct ERP uses for communicating data between the data server, the web server, and your interface. The XML version of your report can be used to communicate structured data to an internet or intranet page or to communicate with another application that uses XML.

Adding an Ad Hoc Report to Your Dashboard Just like other reports, an Ad Hoc Report or its associated chart can be added to your dashboard. To add an Ad Hoc Report to your dashboard:

1. From your Home console, use to the Applications menu to go to the location where the report is deployed. For instance, an invoice report would be under Accounts Receivable.

2. From the Reports pull-down menu in the upper left, choose the report you want to add. Ad Hoc Reports will be at the bottom of the list.

3. With the report showing, set any additional time period, filter, format, or title parameters.

4. Click on the Memorize button in the upper or lower right corner of the menu. This brings up the Memorize Report Parameters dialog page.

5. Type a Name and Description for the memorized Report. If you want others to be able to use this report in their dashboards, check the box next to Public.

6. Click OK. This will bring up the Memorized Reports menu.

33

Page 34: Customization Services

Intacct ERP • Customization Services User Manual

Your report is no available to be added to a Dashboard. For information on adding components to a Dashboard, see the Online Help Section on Edit Dashboards. For specific information on setting property values for Reports and Charts, see the Online Help on Component Properties.

A Business Example of Ad Hoc Reporting A plumbing fixture company has established itself as the leader in the faucet market. They have strong brand awareness among consumers because of their extended presence in home improvement stores. They’ve decided to stave off competitors by reinforcing their brand with an ad campaign. They only want to spend about $2.5 million on media for a short, Spring campaign, and know that their best bet will be to buy heavy in spot markets. They’ve asked their controller for a report that shows faucet sales to stores by zip code during second quarter of last year. The advertising planners can then cross reference this report with a list of zip-codes by dominate market areas and pick the market areas with the best brand development based on sales.

This report assumes there is a product line called FAUCET and that there is existing sales order data for FAUCET items from the reporting period.

To create this report:

1. From the Customization Services console, click on the Activities menu and choose Ad Hoc Reporting.

2. On the “Choose Your Report Format” step, click the radio button next to Tabular.

3. Click Next.

4. On the “Choose the data type for your report, select Order Entry Transaction Detail from the first field and Sales Invoice from the second field.

5. Click Next.

6. On the “Select the Columns to be Included in Your Report” step, click the radio boxes next to:

• Item ID • Quantity Entered • Item > Product Line ID • Order Entry Transaction > Ship to Contact > Mail Address >

Zip

7. Click Next.

8. On the “Order You Report Columns” step, use the Top, Up, Down, and Bottom arrows to put the Columns in the following order with the listed Sort setting:

34

Page 35: Customization Services

Intacct ERP • Customization Services User Manual

• Order Entry Transaction > Ship to Contact > Mail Address > Zip (ascending)

• Item > Product Line ID (none) • Item ID (ascending) • Quantity Entered (none)

9. Click Next.

10. On the “Select Filters” step, select the Item object and set the following condition:

Column Operator Value

Product Line ID equals FAUCET

11. Click Next.

12. On the “Select Advanced Filters” step, leave as is. With only one condition, no advanced filter conditions are necessary.

13. Click Next.

14. On the “Select Summary” step, check the boxes next to Quantity for Largest and Smallest.

15. Click Next.

16. On the “Select Column Sequence” step, use the Top, Up, Down, and Bottom arrows to put the Columns in the following order:

• Item > Product Line ID • Item ID • Order Entry Transaction > Ship to Contact > Mail Address >

Zip • Quantity Entered

17. Click Next.

18. On the “Select Summary Sequence” step, use the Top, Up, Down, and Bottom arrows to put the Operations in the following order:

• Smallest of Quantity • Largest of Quantity

19. Click Next.

20. On the “Run Report” step, click on the Reporting Period menu and choose Prior Year Prior Quarter with an As of Date set to 07/01/2006.

21. In the Report Title 1 field write “Faucet Sales Q2 2005 by Zip”.

22. Click Next.

35

Page 36: Customization Services

Intacct ERP • Customization Services User Manual

23. On the “Select Runtime Parameter Fields” step, don’t select any fields. The only filters needed for this report are already set.

Note: If you were making the report a more general product line tool, you could leave the earlier filter blank and choose to set the Product line ID as a Runtime Parameter. That way you could specify the product line you wanted to report on at the time you run the report.

24. Click Next.

25. On the “Describe Your Report” step, set or select the following:

Name: Faucet_Q2_2005_by_Zip

Module: Order Entry

Deploy: Checked

Description: Report for sales by zip to be cross referenced with ad markets.

Status: Active

26. Click Save.

On running this report, the controller selects to view it as an Excel file. He saves as an excel file and sends it to the advertising manager.

36

Page 37: Customization Services

Intacct ERP • Customization Services User Manual

Adding and Editing Custom Fields Custom Fields is likely the most used of all the activities in Customization Services. Most of the other Customization Services activities rely on data captured in custom fields, data that is unique to your business practices.

Another reason Custom Fields are so widely used is because they are so easy to create. All you need to do is pick an object to extend, choose a data type, then name and describe your field. Each step is covered in detail below along with the characteristics of different data types. You can create up to 25 custom fields per object. Before you create a custom field for an object, it may be useful to review the existing fields for the object and understand how your field will compliment the data already being captured.

The Custom Fields Menu

If a Custom Field has been added using Customization Services and you have full permissions regarding the Custom Field, you can Edit, View, or Delete the Custom Field. If a Custom Field was added as part of package, it will have a package name, and you will only be able to View the Custom Field.

To sort the names of your Custom Fields alphabetically ascending or descending, click the column header for the column you want to sort.

To quickly view an item from a long list, use the Filter Fields with the Go button next to them at the bottom of the column.

1. Choose the column you want to filter.

2. Type the first few letters of the item or filter criteria in the Filter Field for that column.

3. Click Go.

To bring the Filter Fields to the top of the list, click the arrow in the upper left corner of the menu.

37

Page 38: Customization Services

Intacct ERP • Customization Services User Manual

Once you have filtered a list, you may want to again view all items. You can do this by clicking Clear to left of the filter.

For more information on using Filter Fields, see Online Help on Filtering Lists.

By default, the Custom Fields menu shows only the active Custom Fields. To view all the Custom Fields, click the View All button in the upper and lower right corners of the Custom Fields menu. When you click the View All button, you get a list of all active and inactive Custom Fields. You will also see two changes to the menu: first, a Status column has been added to the menu to indicate whether a Custom Fields is active or inactive, and second, the View All button has changed to a View Active button. You can go back to viewing only active Custom Fields by clicking the View Active button.

To exit the Custom Fields menu and return back to the Customization Services Map, click on Map on the right side of your console header.

The Custom Field Wizard To start the wizard to add a custom field:

• From the Activities Menu, choose Custom Fields.

OR • From the Custom Fields list, click on Add in the upper right corner.

To start the wizard to edit a custom field: • From the Custom Fields list, click on Edit next to the custom field you

want to edit.

The Custom Fields Wizard will guide you through the four steps to add a custom field.

38

Page 39: Customization Services

Intacct ERP • Customization Services User Manual

Choose an Object to Extend

Custom fields can only be created to extend an existing object. The custom field will become part of the object your select. To create a custom object requires a package from the developer and is beyond the scope of customization services. Available objects are shown in the above figure of the Object pull-down menu.

1. Click on the Object pull-down menu.

2. Click on the Object to which you want to add a Custom Field.

When you choose a Document object, such as SO Document, a second option comes up for Document Type:

1. Click on the Document Type pull-down menu.

2. Click on the Document Type to which you want to add a Custom Field.

3. Click Next in the lower right corner.

39

Page 40: Customization Services

Intacct ERP • Customization Services User Manual

Choose a Field Data Type

When selecting the Data Type for your field, you can choose from all the standard Intacct data types as shown in the above figure Data Type pull-down menu.

1. Click on the Data Type pull-down menu.

2. Click on the data type you want for your custom field.

What data type you want to use depends on the type of data you want to capture and how simple you want the interface to be. The following descriptions of the data types and their usage may help you:

Checkbox: A check box provides a single checkbox the user that reports a value of true for checked and false for unchecked. If you have simple true false flags you want to add to an object, such as whether an account is active or not, a checkbox can be a quick and easy way to capture this information.

Currency: Currency is handled differently than numbers and needs to be stored as such to take advantage of multi-currency applications, currency rounding, and currency symbols in reports.

Date: The date can be set up to be entered in or set to auto fill with the current date. Date fields should follow a standard input of MM/DD/YY. This may be helpful to add to the description for your custom field.

E-Mail: E-mail addresses follow a standard format of [email protected]. Fields set for e-mail input will validate that the proper format is used.

Number: Numbers are handled differently than other strings in that they are used for computations. If the numeric data you are entering in this field will be used as part of a mathematical equation, be sure to set it as a number data type.

Percent: Percents are essentially numbers that are input and displayed with the decimal moved two places to the right. If the user is working with

40

Page 41: Customization Services

Intacct ERP • Customization Services User Manual

percentages, giving them an input field set up as a percentage can save time and confusion.

Pick List: A pick list is a great way to maintain a consistent set of variables within your data, as well as a time saver for the person entering the data. Consider using a pick list any time you want the input limited to a defined set of options.

Pick List Multi-Select: Sometimes you want to select multiple options from a list. In these cases, you should set the field to be a Pick List Multi-Select. Users can use the shift key + click to select consecutive values or the control key + click to select non-consecutive values.

Sequence: A sequence field will auto-fill with the next value in a series, such as inserting an Invoice number one number higher than the last invoice number.

Text: When you need to create a field for a short string of text or for a number that you don’t want treated as a number, use the text data type.

Text Area: Occasionally you need a long string of text, such as a notes field or a description of services. The text area data type provides you with a multi-line field to input long strings of text.

URL: A URL has a unique format and properties. By identifying a field as a URL, the Intacct ERP is able to treat the data as a link as well as validate the format.

Password: A password has the unique property of not showing up while it’s being entered. Instead of characters, an on-looker only sees bullets, thus protecting the secrecy of the password.

Choose Field Characteristics Choosing field characteristics depends on the data type you chose. To set the field characteristics:

• Fill in the required values and fill-in, check, or select other values as appropriate.

Tip: Use a label and a description that help your user understand what type of data they need to enter in the field. This will help your customization be more user-friendly and save time for new users.

We’ll walk through the characteristics for each of the 13 data types:

41

Page 42: Customization Services

Intacct ERP • Customization Services User Manual

Checkbox Data Type

The Checkbox data type characteristics are:

Label (required): The text you want to show next to the field in the user interface.

Default Value (required): The state of the field when the user first encounters it. Checked means that the field will automatically be checked until the user un-checks it. Unchecked means that the field will be unchecked until the user checks it.

Field ID (required): This is the ID of the field as it will appear in the Catalog and the list of Custom Fields. The system will auto-suggest an ID based on the Label.

Description: Information to help the user understand the purpose and use of this field.

Currency Data Type

The Currency data type characteristics are:

Label (required): The text you want to show next to the field in the user interface.

Length (required): Number of digits allowed to the left of the decimal point.

Decimal Places (required): Number of digits shown to the right of the decimal point.

42

Page 43: Customization Services

Intacct ERP • Customization Services User Manual

Field ID (required): This is the ID of the field as it will appear in the Catalog and the list of Custom Fields. The system will auto-suggest an ID based on the Label.

Description: Information to help the user understand the purpose and use of this field.

Date Data Type

The Date data type characteristics are:

Label (required): The text you want to show next to the field in the user interface.

Default to today’s date: Check box that always defaults field to the current date.

Field ID (required): This is the ID of the field as it will appear in the Catalog and the list of Custom Fields. The system will auto-suggest an ID based on the Label.

Description: Information to help the user understand the purpose and use of this field.

E-Mail Data Type

The E-Mail data type characteristics are:

Label (required): The text you want to show next to the field in the user interface.

Field ID (required): This is the ID of the field as it will appear in the Catalog and the list of Custom Fields. The system will auto-suggest an ID based on the Label.

Description: Information to help the user understand the purpose and use of this field.

43

Page 44: Customization Services

Intacct ERP • Customization Services User Manual

Number Data Type

The Number data type characteristics are:

Label (required): The text you want to show next to the field in the user interface.

Length (required): Number of digits allowed to the left of the decimal point.

Decimal Places (required): Number of digits shown to the right of the decimal point.

Field ID (required): This is the ID of the field as it will appear in the Catalog and the list of Custom Fields. The system will auto-suggest an ID based on the Label.

Description: Information to help the user understand the purpose and use of this field.

Percent Data Type

The Percent data type characteristics are:

Label (required): The text you want to show next to the field in the user interface.

Length (required): Number of digits allowed to the left of the decimal point in a percentage format (i.e. putting in 50 shows up as 50% and is numerically stored as 0.5).

Decimal Places (required): Number of digits shown to the right of the decimal point in a percentage format (i.e. putting in a one decimal point number such as 0.5 shows up as 0.5% and is numerically stored as 0.005).

44

Page 45: Customization Services

Intacct ERP • Customization Services User Manual

Field ID (required): This is the ID of the field as it will appear in the Catalog and the list of Custom Fields. The system will auto-suggest an ID based on the Label.

Description: Information to help the user understand the purpose and use of this field.

Pick List Data Format

The Pick List data type characteristics are:

Label (required): The text you want to show next to the field in the user interface.

Pick Values (required): Values from which the user can choose. Values are separated by a carriage return.

Use first value as default: Checking this box automatically selects the first value until changed by the user. When left unchecked, the field will have no value until the user chooses one from the list.

Sort list alphabetically: Automatically sort the list in alphabetical order. Left unchecked, the list will show in the same order in which you entered them.

Field ID (required): This is the ID of the field as it will appear in the Catalog and the list of Custom Fields. The system will auto-suggest an ID based on the Label.

Description: Information to help the user understand the purpose and use of this field.

45

Page 46: Customization Services

Intacct ERP • Customization Services User Manual

Pick List Multi-Select

The Pick List Multi-Select data type characteristics are:

Label (required): The text you want to show next to the field in the user interface.

Pick Values (required): Values from which the user can choose. Values are separated by a carriage return.

Use first value as default: Check box to automatically select the first value until changed by the user. When left unchecked, the field will have no value until the user chooses one from the list.

Sort list alphabetically: Automatically sort the list in alphabetical order. Left unchecked, the list will show in the same order in which you entered them.

Number of Rows to Display: How many values will be displayed at in this pull-down menu. Additional values can be accessed using a scroll bar that is available when the number of values exceeds the number of rows.

Field ID (required): This is the ID of the field as it will appear in the Catalog and the list of Custom Fields. The system will auto-suggest an ID based on the Label.

Description: Information to help the user understand the purpose and use of this field.

Sequence Data Type

The Sequence data type characteristics are:

46

Page 47: Customization Services

Intacct ERP • Customization Services User Manual

Label (required): The text you want to show next to the field in the user interface.

Document Numbering Scheme (required): Format of the numbers to be input in this field. Choose from a list of existing auto-numbering formats in the Intacct ERP. Clicking on the Pick Icon brings up a menu to {feature not working}.

Field ID (required): This is the ID of the field as it will appear in the Catalog and the list of Custom Fields. The system will auto-suggest an ID based on the Label.

Description: Information to help the user understand the purpose and use of this field.

Text Data Type

The Text data type characteristics are:

Label (required): The text you want to show next to the field in the user interface.

Length (required): Number of characters allowed.

Field ID (required): This is the ID of the field as it will appear in the Catalog and the list of Custom Fields. The system will auto-suggest an ID based on the Label.

Description: Information to help the user understand the purpose and use of this field.

Text Area Data Type

The Text Area data type characteristics are:

Label (required): The text you want to show next to the field in the user interface.

47

Page 48: Customization Services

Intacct ERP • Customization Services User Manual

Number of Rows to Display (required): The height of the field by rows. If the user types beyond the number of available rows, a scrollbar will appear to help the user navigate the field.

Field ID (required): This is the ID of the field as it will appear in the Catalog and the list of Custom Fields. The system will auto-suggest an ID based on the Label.

Description: Information to help the user understand the purpose and use of this field.

URL Data Type

The URL data type characteristics are:

Label (required): The text you want to show next to the field in the user interface.

Field ID (required): This is the ID of the field as it will appear in the Catalog and the list of Custom Fields. The system will auto-suggest an ID based on the Label.

Description: Information to help the user understand the purpose and use of this field.

Password

The Password data type characteristics are:

Label (required): The text you want to show next to the field in the user interface.

Field ID (required): This is the ID of the field as it will appear in the Catalog and the list of Custom Fields. The system will auto-suggest an ID based on the Label.

Description: Information to help the user understand the purpose and use of this field.

48

Page 49: Customization Services

Intacct ERP • Customization Services User Manual

Saving a Custom Field At any step in setting up of a Custom Field, you may save your settings.

To save and go back to the Custom Field menu: • Click Save in the upper right corner of the wizard.

To save and start adding a new Custom Field: • Click Save & New in the upper right corner of the wizard.

If you have left any required fields blank, a warning will come up indicating which fields require information. You can go to the first of those fields by clicking Go Back on the warning screen.

Duplicating a Custom Field Once a Custom Field has been saved, you can quickly create a copy of the Custom Field to use as a basis for creating a similar Custom Field. The new Custom Field will have all the same properties and require only a new name and ID. To create a duplicate of a saved Custom Field:

1. On the Custom Field menu, click Edit next to the Custom Field you want to duplicate.

2. Click Duplicate in the upper right corner of the wizard.

3. Change whatever parameters you want to be different.

4. Give your new Custom Field a new name and ID.

5. Click Save in the upper right corner of the wizard.

Saving the Custom Field XML to a File Having the XML that is the basis of your Custom Field can be a useful development tool. To obtain the XML of your Custom Field:

1. On the last step of the Wizard, choose Export Def from the upper right corner to download the XML code displayed in a browser page.

2. Click Save and choose a location to save the file.

A Business Example of Custom Fields The Acme Toy and Lumber Company has been buying lumber from suppliers in various states. It has become important to them to track which items use lumber from reusable and sustainable wood sources (i.e. tree farms). They want to be able to add labels to products indicating their renewable wood source status. The company controller has been given the task of creating a way to show in the item page which products use wood that comes from tree farm suppliers.

To create the necessary custom field:

49

Page 50: Customization Services

Intacct ERP • Customization Services User Manual

1. From the Customization Services console, click on the Activities menu and choose Custom Fields.

2. On the “Choose Object to Extend” step, click on the Object menu and choose Item.

3. Click Next.

4. On the “Choose Field Data Type” step, click on the Data Type menu and choose Check Box.

5. Click Next.

6. On the “Choose Pick List Field Characteristics” set the following values:

Label: Tree Farm Supplied

Default Value: Unchecked

Field ID: TREE_FARM_SUPPLIED

Description: Wood for product comes from renewable tree farm.

7. Click Next.

8. On the “Choose Deployment Options” step, set the following values:

Field is Required: Unchecked

Field is Hidden: Unchecked

Field is Inactive: Unchecked

Field Set: empty

Show on Page: General Info

9. Click Save.

50

Page 51: Customization Services

Intacct ERP • Customization Services User Manual

Adding and Editing SmartLink Clicks A SmartLink Click is a conditional link that is imbedded in a form object. The link can be set up to only appear if certain criteria are met. For instance, you could set up a field in your customer record for a stock ticker. Then setup a SmartLink Click that shows a link to a stock quote page for only those records that have data in the stock ticker field.

When the link is clicked, it brings up the specified web page in a new window. The wizard helps you set up the parameters for this new window.

The SmartLink Click Menu

If a SmartLink Click has been added using Customization Services and you have full permissions regarding the report and its query items, you can Edit, View, or Delete the report. If a SmartLink Click was added as part of package, it will have a package name, and you will only be able to View the SmartLink Click.

To sort the names of your SmartLink Clicks alphabetically ascending or descending, click the column header for the field you want to sort.

To quickly view an item from a long list, use the Filter Fields with the Go button next to them at the bottom of the column.

1. Choose the column you want to filter.

2. Type the first few letters of the item or filter criteria in the Filter Field for that column.

3. Click Go.

To bring the Filter Fields to the top of the list, click the arrow in the upper left corner of the menu.

Once you have filtered a list, you may want to again view all items. You can do this by clicking Clear to left of the filter.

For more information on using Filter Fields, see Online Help/Filtering Lists.

By default, the SmartLink Click menu shows only the active SmartLink Clicks. To view all the SmartLink Clicks, click the View All button in the upper and lower right corners of the SmartLink Click menu. When you click the View All button, you get a list of all active and inactive SmartLink Clicks. You will also see two changes to the menu: first, a Status column has been added to the menu to

51

Page 52: Customization Services

Intacct ERP • Customization Services User Manual

indicate whether a SmartLink Click is active or inactive, and second, the View All button has changed to a View Active button. You can go back to viewing only active SmartLink Clicks by clicking the View Active button.

To exit the SmartLink Click menu and return back to the Customization Services Map, click on Map on the right side of your console header.

The SmartLink Click Wizard You use the same wizard to create and edit SmartLink Click. When you choose to add a SmartLink Click, the fields in the wizard are not filled in. When you edit a SmartLink Click, the fields are filled in. In edit mode, fields are already populated with current settings for that SmartLink Click, but you can make changes to any field, including the name.

To add a SmartLink Click: • From the SmartLink Click Menu, click on add in the upper right corner.

OR • From any point in Customization Services, choose SmartLink Click

from the Activities pull-down menu.

Either of these tasks takes you to the first step of the SmartLink Click Wizard

To edit a SmartLink Click: • From the SmartLink Click Menu, click on Edit to the left of the item

you want to edit.

There are three steps in the SmartLink Click Wizard. These are the same steps whether you are adding and new SmartLink Click or editing an existing one:

Let’s look at each of these steps and what all the options mean.

52

Page 53: Customization Services

Intacct ERP • Customization Services User Manual

Choose an Object to Extend

SmartLink clicks are stored and displayed as part of an object. The Owner Object pull-down menu gives you a list of objects to which you can add a SmartLink Click.

1. Click on the Owner Object pull-down menu.

2. Click on the object to which you can add a SmartLink Click.

When you choose a Document object, such as SO Document, a second qualifier comes up for Document Type:

1. Click on the Document Type pull-down menu.

2. Click on the document type to which you want to add a SmartLink Click.

3. Click Next in the lower right corner.

53

Page 54: Customization Services

Intacct ERP • Customization Services User Manual

Select Click Properties

The two main properties that deal with the function of the SmartLink Click are:

Target (required): The destination web address or URL that the user will be directed to when they click on the SmartLink Click. The target can also contain a field path or Injection the will extract data from a field within the ERP. For instance, if you have a field in the customer record named WEBSITE that contains the customer’s domain name in it. You could set a target to

http://{!CUSTOMER.WEBSITE!}

and create a link that went to the customer’s site.

You could likewise set up a search in Google based on the CUSTOMER WEBSITE field:

http://www.google.com/search?hl=en&amp;q={!CUSTOMER.WEBSITE!}

Condition: An argument that determines whether the SmartLink Click will appear in the interface. For instance, a condition may be set that a field in the customer record called WEBSITE must contain text, and only then will the SmartLink Click show up for the user to click on it. Such a condition would be stated:

{!CUSTOMER.WEBSITE!}!= ''

For more information on writing conditions, see Writing Injections & Conditions.

The rest of the properties on this page deal with the browser window that comes up when the user clicks on the link:

Height: The vertical dimension of the window in pixels.

Width: The horizontal dimension of the window in pixels.

54

Page 55: Customization Services

Intacct ERP • Customization Services User Manual

Position: The window’s prominence among other open windows on the screen entered as an integer (similar to what HTML programmers know as z-index). To bring up the new window in front of the window from which the user is clicking, enter the number 0 here. To place the new window behind the current window, enter the number 1 here. You can place it at even higher integer points if you know that several windows will be open and you want it to go to a certain position.

Resizable: Checking this box allows the user to resize the window using the lower right corner tab of the window.

Show Scrollbar: Check this box if the content you are pointing to is longer than the Height you choose.

Show Address Bar: To show the URL or web address near the top of the window, check this box.

Show Tool Bar: The toolbar is the bar just above the address bar that contains the buttons for Back, Forward, Stop, etc. If you want these buttons available in the new window, check this box.

Show Menu Bar: The Menu Bar is the set of pull-down menus in your browser window (e.g. File, Edit, View, etc.). To make this bar available in the new window, check this box.

Show Status Bar: At the bottom of the browser window is the status bar where you can get information about the current page. To make this bar available in the new window, check this box.

Select Deployment Options

In the Deployment Options step, you name your SmartLink Click and describe where it will appear in the object it is extending. The options for deploying your SmartLink Click are:

Label (required): This is the name of your SmartLink Click. The name should relate to the function of the click so that you can easily find it for later editing.

SmartLink ID (required): The ID is auto-suggested after you fill in the Label. You can change it. Characters for the ID are limited to alpha-numeric and underscore with no spaces.

55

Page 56: Customization Services

Intacct ERP • Customization Services User Manual

Field Set: The group to which you want this link to belong on the object page. You may type in existing group or add a new one by typing in a new group name. Groups share a labeled box on the object page.

Show on Page: You can select which page will display your link by choosing a page from the Show on Page pull-down menu, or select a new page by typing in a new name in the field below the pull-down menu.

Description: Add a description that will help the user understand the purpose of this SmartLink Click and how you intend it to be used.

Status: The status of the SmartLink Click is Active by default, you can change it by choosing Inactive from the pull-down menu.

Saving Your SmartLink Click At any step in setting up a SmartLink Click, you may save your settings.

To save and go back to the SmartLink Click menu: • Click Save in the upper right corner of the wizard.

To save and start adding a new SmartLink Click: • Click Save & New in the upper right corner of the wizard.

If you have left any required fields blank, a warning will come up indicating which fields require information. You can go to the first of those fields by clicking Go Back on the warning screen.

Duplicating a SmartLink Click Once a SmartLink click has been saved, you can quickly create a copy of the SmartLink Click to use as a basis for creating a similar SmartLink Click. The new SmartLink click will have all the same properties and require only a new name and ID. To create a duplicate of a saved SmartLink Click:

1. On the SmartLink Click menu, click Edit next to the SmartLink Click you want to duplicate.

2. Click Duplicate in the upper right corner of the wizard.

3. Change whatever parameters you want to be different.

4. Give your new SmartLink Click a new name and ID.

5. Click Save in the upper right corner of the wizard.

Saving the SmartLink Click XML to a File Having the XML that is the basis of your SmartLink Click can be a useful development tool. To obtain the XML of your SmartLink Click:

1. Choose Export Def from the upper right corner to download the XML code displayed in a browser page.

56

Page 57: Customization Services

Intacct ERP • Customization Services User Manual

2. Click Save and choose a location to save the file.

A Business Example of SmartLink Click A craft store has certain vendors that maintain a list of available inventory levels on their web sites. When assessing inventory, buyers like to be able to see what inventory is available from the vendors who have it posted. To accomplish this, the buyer at the craft store has set up a custom field where he can enter a vendor’s inventory page URL. He now wants to create a link on the Vendor page that lets buyers click straight to the vendor inventory page, on the condition that they have such a page.

To set up this SmartLink Click:

1. From the Customization Services console, click on the Activities menu and choose SmartLink Click.

2. On the “Choose Object to Extend” step, click on the Object menu and choose Vendor.

3. Click Next.

4. On the “Select Click Properties” step, set the following values:

Target: {!VENDOR.INV_URL!}

Condition: {!VENDOR.INV_URL!}!=''

Height: 600

Width:800

Position: 0

Resizable: Checked

Show Scrollbar: Checked

Show Address Bar: Checked

Show Tool Bar: Checked

Show Menu Bar: Checked

Show Status Bar: Checked

5. Click Next.

6. On the “Select Deployment Options” step, set the following values:

Label: Vendor Inventory

Smart Link ID: VENDOR_INVENTORY

Field Set: Helpful Links

Show on Page: Vendor

57

Page 58: Customization Services

Intacct ERP • Customization Services User Manual

Description: Link to vendor inventory page.

Status: Active

7. Click Save.

This SmartLink Click will show up on any vendor page that has the inventory URL filled in.

58

Page 59: Customization Services

Intacct ERP • Customization Services User Manual

Adding and Editing SmartLink Fetches A SmartLink Fetch allows you to perform a mashup – displaying external web content real-time in your Intacct ERP. A SmartLink Fetch differs from a SmartLink Click in that it displays information from another web page directly into your Intacct object page. With a SmartLink Fetch, you define a space on your Intacct object screen and display the external content right on the object page.

For instance, you may want to create a SmartLink Fetch for a three month history of your customer’s stock on the customer page.

The SmartLink Fetch Menu

If a SmartLink Fetch has been added using Customization Services and you have full permissions regarding the report and its query items, you can Edit, View, or Delete the report. If a SmartLink Fetch was added as part of package, it will have a package name, and you will only be able to View the SmartLink Fetch.

To sort the names of your SmartLink Fetches alphabetically ascending or descending, click the column header for the field you want to sort.

To quickly view an item from a long list, use the Filter Fields with the Go button next to them at the bottom of the column.

1. Choose the column you want to filter.

2. Type the first few letters of the item or filter criteria in the Filter Field for that column.

3. Click Go.

To bring the Filter Fields to the top of the list, click the arrow in the upper left corner of the menu.

Once you have filtered a list, you may want to again view all items. You can do this by clicking Clear to left of the filter.

For more information on using Filter Fields, see Online Help/Filtering Lists.

By default, the SmartLink Fetch menu shows only the active SmartLink Fetches. To view all the SmartLink Fetches, click the View All button in the upper and lower right corners of the SmartLink Fetch menu. When you click the View All button, you get a list of all active and inactive SmartLink Fetches. You will also

59

Page 60: Customization Services

Intacct ERP • Customization Services User Manual

see two changes to the menu: first, a Status column has been added to the menu to indicate whether a SmartLink Fetch is active or inactive, and second, the View All button has changed to a View Active button. You can go back to viewing only active SmartLink Fetches by clicking the View Active button.

To exit the SmartLink Fetch menu and return back to the Customization Services Map, click on Map on the right side of your console header.

The SmartLink Fetch Wizard You use the same wizard to create and edit SmartLink Fetch. When you choose to add a SmartLink Fetch, the fields in the wizard are not filled in. When you edit a SmartLink Fetch, the fields are filled in. In edit mode, fields are already populated with current settings for that SmartLink Fetch, but you can make changes to any field, including the name.

To add a SmartLink Fetch: • From the SmartLink Fetch Menu, click on add in the upper right

corner.

OR • From any point in Customization Services, choose SmartLink Fetch

from the Activities pull-down menu.

Either of these tasks takes you to the first step of the SmartLink Fetch Wizard

To edit a SmartLink Fetch: • From the SmartLink Fetch Menu, click on Edit to the left of the item

you want to edit.

There are three steps in the SmartLink Fetch Wizard. These are the same steps whether you are adding and new SmartLink Fetch or editing an existing one:

Let’s look at each of these steps and what all the options mean.

60

Page 61: Customization Services

Intacct ERP • Customization Services User Manual

Choose an Object to Extend

SmartLink Fetches are displayed as part of an object. The Owner Object pull-down menu gives you a list of objects to which you can add a SmartLink Fetch.

1. Click on the Owner Object pull-down menu.

2. Click on the object to which you can add a SmartLink Fetch.

When you choose a Document object, such as SO Document, a second qualifier comes up for Document Type:

1. Click on the Document Type pull-down menu.

2. Click on the document type to which you want to add a SmartLink Fetch.

3. Click Next in the lower right corner.

Select Fetch Properties

The two main properties that deal with the function of the SmartLink Fetch are:

Target (required): The URL of the source web object that will be displayed. The target can also contain a field path the will use data from a field within the ERP. For instance, if you have a field in the customer

61

Page 62: Customization Services

Intacct ERP • Customization Services User Manual

record named WEBSITE that contains the customer’s domain name in it. You could set a target to

http://{!CUSTOMER.WEBSITE!}

and create a view of the customer’s site.

You could likewise display a search in Google based on the CUSTOMER WEBSITE field:

http://www.google.com/search?hl=en&amp;

q={!CUSTOMER.WEBSITE!}

Condition: An argument that determines whether the SmartLink Fetch will appear in the interface. For instance, a condition may be set that a field in the customer record called WEBSITE must contain text, and only then will the SmartLink Fetch be displayed for that record. Such a condition would be stated

{!CUSTOMER.WEBSITE!}!=''

For more information on writing conditions, see Conditions.

The rest of the properties on this page deal with the frame that displays the SmartLink Fetch:

Height: The vertical dimension of the frame in pixels.

Width: The horizontal dimension of the frame in pixels.

Show Scrollbar: Check this box if you want the user to be able to scroll to content that extends beyond the frame that you defined.

Select Deployment Options

In the Deployment Options step, you name your SmartLink Fetch and describe where it will appear in the object it is extending. The options for deploying your SmartLink Fetch are:

Label (required): This is the name of your SmartLink Fetch. The name should relate to the function of the fetch so that you can easily find it for later editing.

62

Page 63: Customization Services

Intacct ERP • Customization Services User Manual

SmartLink ID (required): The ID is auto-suggested after you fill in the Label. You can change it. Characters for the ID are limited to alpha-numeric and underscore with no spaces.

Show on Page: The page of the object in which you want the fetch to display. Choosing a page from the Show on Page pull-down menu, or select a new page by typing in a new name in the field below the pull-down menu.

Description: Add a description that will help the user understand the purpose of this SmartLink Fetch and how you intend it to be used.

Status: The status of the SmartLink Fetch is Active by default, you can change it by choosing Inactive from the pull-down menu.

Saving Your SmartLink Fetch At any step in setting up a SmartLink Fetch, you may save your settings.

To save and go back to the SmartLink Fetch menu: • Click Save in the upper right corner of the wizard.

To save and start adding a new SmartLink Fetch: • Click Save & New in the upper right corner of the wizard.

If you have left any required fields blank, a warning will come up indicating which fields require information. You can go to the first of those fields by clicking Go Back on the warning screen.

Duplicating a SmartLink Fetch Once a SmartLink Fetch has been saved, you can quickly create a copy of the SmartLink Fetch to use as a basis for creating a similar SmartLink Fetch. The new SmartLink Fetch will have all the same properties and require only a new name and ID. To create a duplicate of a saved SmartLink Fetch:

1. On the SmartLink Fetch menu, click Edit next to the SmartLink Fetch you want to duplicate.

2. Click Duplicate in the upper right corner of the wizard.

3. Change whatever parameters you want to be different.

4. Give your new SmartLink Fetch a new name and ID.

5. Click Save in the upper right corner of the wizard.

Saving the SmartLink Fetch XML to a File Having the XML that is the basis of your SmartLink Fetch can be a useful development tool. To obtain the XML of your SmartLink Fetch:

63

Page 64: Customization Services

Intacct ERP • Customization Services User Manual

1. On the last step of the Wizard, choose Export Def from the upper right corner to download the XML code displayed in a browser page.

2. Click Save and choose a location to save the file.

A Business Example of SmartLink Fetch A printing company handles accounts in several stated with multiple small shipments going out everyday. At the time an order is shipped, the shipper and shipping tracking number is entered into the shipping record. Customer service wants to be able to see the status of the shipment in Intacct.

This SmartLink Fetch is set up as follows:

1. From the Customization Services console, click on the Activities menu and choose SmartLink Fetch.

2. On the “Choose Object to Extend” step, click on the Object menu and choose Invoice.

3. Click Next.

4. On the “Select Click Properties” step, set the following values:

Target: {!ARINVOICE.SHIP_URL!}{!ARINVOICE.TRACK_NO!}

Note: The shipper URL would be everything needed in the URL up to the Tracking number. For UPS, the SHIP_URL would be:

http://wwwapps.ups.com/WebTracking/processInputRequest?tracknum=

This custom field is set up as a pick list of the company’s three shipping providers.

Condition: {!ARINVOICE.TRACK_NO!}!=''

Height: 300

Width: 400

Show Scrollbar: Checked

5. Click Next.

6. On the “Select Deployment Options” step, set the following values:

Label: Tracking View

Smart Link ID: TRACKING_VIEW

Field Set: [blank]

Show on Page: Tracking

Description: Link to shipper tracking page.

Status: Active

64

Page 65: Customization Services

Intacct ERP • Customization Services User Manual

7. Click Save.

65

Page 66: Customization Services

Intacct ERP • Customization Services User Manual

Adding and Editing Smart Rules Smart Rules are conditions that generate Warning or Error messages to the user. They are set to respond to three types of user input: Add, Set, or Delete. You apply them to an object so that when a user does one or more of those things within an object and does NOT meet the condition, a warning or error message is displayed.

The Smart Rules Menu

If a Smart Rule has been added using Customization Services and you have full permissions regarding the report and its query items, you can Edit, View, or Delete the report. If a Smart Rule was added as part of package, it will have a package name, and you will only be able to View the Smart Rule.

To sort the names of your Smart Rules alphabetically ascending or descending, click the column header for the field you want to sort.

To quickly view an item from a long list, use the Filter Fields with the Go button next to them at the bottom of the column.

1. Choose the column you want to filter.

2. Type the first few letters of the item or filter criteria in the Filter Field for that column.

3. Click Go.

To bring the Filter Fields to the top of the list, click the arrow in the upper left corner of the menu.

Once you have filtered a list, you may want to again view all items. You can do this by clicking Clear to left of the filter.

For more information on using Filter Fields, see Online Help/Filtering Lists.

66

Page 67: Customization Services

Intacct ERP • Customization Services User Manual

By default, the Smart Rule menu shows only the active Smart Rules. To view all the Smart Rules, click the View All button in the upper and lower right corners of the Smart Rule menu. When you click the View All button, you get a list of all active and inactive Smart Rules. You will also see two changes to the menu: first, a Status column has been added to the menu to indicate whether a Smart Rule is active or inactive, and second, the View All button has changed to a View Active button. You can go back to viewing only active Smart Rule by clicking the View Active button.

To exit the Smart Rule menu and return back to the Customization Services Map, click on Map on the right side of your console header.

The Smart Rule Wizard You use the same wizard to create and edit Smart Rule. When you choose to add a Smart Rule, the fields in the wizard are not filled in. When you edit a Smart Rule, the fields are filled in. In edit mode, fields are already populated with current settings for that Smart Rule, but you can make changes to any field, including the name.

To add a Smart Rule: • From the Smart Rules Menu, click on add in the upper right corner.

OR • From any point in Customization Services, choose Smart Rule from

the Activities pull-down menu.

Either of these tasks takes you to the first step of the Smart Rule Wizard

To edit a Smart Rule: • From the Smart Rules Menu, click on Edit to the left of the item you

want to edit.

There are three steps in the Smart Rule Wizard. These are the same steps whether you are adding and new Smart Rule or editing an existing one:

Let’s look at each of these steps and what all the options mean.

67

Page 68: Customization Services

Intacct ERP • Customization Services User Manual

Choose an Object to Extend

Smart Rules are applied to an object. The Owner Object pull-down menu gives you a list of objects to which you can add a Smart Rule.

1. Click on the Owner Object pull-down menu.

2. Click on the object to which you can add a Smart Rule.

When you choose a Document object, such as SO Document, a second qualifier comes up for Document Type:

1. Click on the Document Type pull-down menu.

2. Click on the document type to which you want to add a Smart Rule.

3. Click Next in the lower right corner.

Select Rule Properties

The Smart Rule Properties define when and how a response is sent back to the user. The different properties are as follows:

Type: The type of response to the user, either Error or Warning.

68

Page 69: Customization Services

Intacct ERP • Customization Services User Manual

An Error message requires the user to go back and change something before they can proceed. An Error message could be used when you want to make a field required that isn’t normally required by Intacct.

A Warning simply points out the rule violation, but allows the user to continue with the operation. This could be a reminder to users to make sure an external document is in place, such as a work order, for the record they created.

Events (required): Events covers the three things a user can do with a record:

• Add: The rule is checked any time a new record is created. • Set: The rule is checked any time a record is changed. • Delete: The rule is checked any time a record is deleted.

You can choose any or all of these options.

Error Message (required): The text message that is displayed when this rule is violated. The Error Message may contain also Injections (see Injections).

Condition (required): The rule that is to be met so that an error message is NOT sent.

Note: Because blank conditions always evaluate as true, leaving a Smart Rule condition blank would never generate a warning or error message.

For instance, if the rule is that customers with addresses outside the United States require prepayment of invoices, the condition would be written to state that the Bill to Contact Country is equal to United States or the Invoice Amount Due equals zero. The condition would extend the Invoice and be written:

({!ARINVOICE.BILLTO.CONTACT.MAILADDRESS.MAILADDRESS.COUNTRY!} ==

"United States") || ({!ARINVOICE.TOTALDUE!} == "0")

If this condition, either country equals United States or total due equals zero, is not met, a warning or error will be displayed.

If you want to bring up a warning message every time an Event (Add, Set, or Delete) you chose occurs, set the condition to evaluate a required field for the owner object as blank. You can find out if a field is required by looking it up in the Catalog. If the Required column for the item is set to true, the item is required.

For instance, if you wanted a warning message to appear any time a bill was added, you could write the condition:

{!APBILL.WHENCREATED!}==''

69

Page 70: Customization Services

Intacct ERP • Customization Services User Manual

Because a Bill always has a Date, this condition will always evaluate as false and trigger a warning.

For more information on writing conditions, see Writing Injections and Conditions.

Select Deployment Options

In the Deployment Options step, you name your Smart Rule and describe what it does. The options for deploying your Smart Rule are:

SmartLink ID (required): This is the name that will be used to find and edit your Smart Rule. Characters for the ID are limited to alpha-numeric and underscore with no spaces.

Description: Add a description that will help the user understand the purpose of this Smart Rule and how you intend it to be used.

Status: The status of the Smart Rule is Active by default, you can change it by choosing Inactive from the pull-down menu.

Saving Your Smart Rule At any step in setting up a Smart Rule, you may save your settings.

To save and go back to the Smart Rule menu: • Click Save in the upper right corner of the wizard.

To save and start adding a new Smart Rule: • Click Save & New in the upper right corner of the wizard.

If you have left any required fields blank, a warning will come up indicating which fields require information. You can go to the first of those fields by clicking Go Back on the warning screen.

Duplicating a Smart Rule Once a Smart Rule has been saved, you can quickly create a copy of the Smart Rule to use as a basis for creating a similar Smart Rule. The new Smart Rule will have all the same properties and require only a ID. To create a duplicate of a saved Smart Rule:

1. On the Smart Rule menu, click Edit next to the Smart Rule you want to duplicate.

2. Click Duplicate in the upper right corner of the wizard.

3. Change whatever parameters you want to be different.

70

Page 71: Customization Services

Intacct ERP • Customization Services User Manual

4. Give your new Smart Rule a new SmartLink ID.

5. Click Save in the upper right corner of the wizard.

Saving the Smart Rule XML to a File Having the XML that is the basis of your Smart Rule can be a useful development tool. To obtain the XML of your Smart Rule:

1. On the last step of the Wizard, choose Export Def from the upper right corner to download the XML code displayed in a browser page.

2. Click Save and choose a location to save the file.

A Business Example of Smart Rules A controller at a construction company wants to limit the size of transactions certain employees can enter. To do this, he sets up a currency type custom field, USER_BILL_LIMIT, on the user record so he can set the transaction amount per user. He then sets up a rule that compares the current transaction amount with the limit on the user record. This rule is created as follows:

1. On the "Select Owner Object" step, set the properties to:

Owner Object: Bill

2. Click Next.

3. On the "Select Rule Properties" step, set the properties to:

Type: Error

Events: Add and Set

Error Message: {!CURRENTUSER.LOGINID!} may not enter bills for an amount greater than {!CURRENTUSER.USER_BILL_LIMIT!}.

This bill total is {!APBILL.TOTALENTERED!}

Condition: {!CURRENTUSER.USER_BILL_LIMIT!} == '' || {!APBILL.TOTALENTERED!} <= {!CURRENTUSER.USER_BILL_LIMIT!}

4. Click Next.

5. On the "Select Deployment Options" step, set the properties to:

SmartLink ID: VALIDATE_BILL_LIMIT

Description: Rule that displays a warning when the user attempts to enter a bill that exceeds their transaction limit.

Status: Active.

6. Click Save.

71

Page 72: Customization Services

Intacct ERP • Customization Services User Manual

Adding and Editing Smart Events Smart Events give you the ability to proactively communicate ERP activities as they happen. Have you ever had a CEO ask to be notified when a bill comes in from a particular vendor. Rather than sweating over every stack of bills, you can quickly add an Smart Event to send the CEO an e-mail when your AP manager enters the bill. You can create events to send notices to the VP of sales regarding certain customers or notices to the Controller regarding general ledger entries.

How do Smart Events work? A Smart Event is a condition that triggers an e-mail or a post to a web application. When users add, set, or delete a record in the object to which the Smart Event is added and that action meets the condition of the Smart Event, the Intacct ERP sends an e-mail or posts to a web address.

The Smart Events Menu

If a Smart Event has been added using Customization Services and you have full permissions regarding the report and its query items, you can Edit, View, or Delete the report. If a Smart Event was added as part of package, it will have a package name, and you will only be able to View the Smart Event.

To sort the names of your Smart Events alphabetically ascending or descending, click the column header for the field you want to sort.

To quickly view an item from a long list, use the Filter Fields with the Go button next to them at the bottom of the column.

1. Choose the column you want to filter.

2. Type the first few letters of the item or filter criteria in the Filter Field for that column.

3. Click Go.

To bring the Filter Fields to the top of the list, click the arrow in the upper left corner of the menu.

Once you have filtered a list, you may want to again view all items. You can do this by clicking Clear to left of the filter.

For more information on using Filter Fields, see Help/Filtering Lists.

By default, the Smart Event menu shows only the active Smart Events. To view all the Smart Events, click the View All button in the upper and lower right corners of the Smart Events menu. When you click the View All button, you get a

72

Page 73: Customization Services

Intacct ERP • Customization Services User Manual

list of all active and inactive Smart Events. You will also see two changes to the menu: first, a Status column has been added to the menu to indicate whether a Smart Event is active or inactive, and second, the View All button has changed to a View Active button. You can go back to viewing only active Smart Event by clicking the View Active button.

To exit the Smart Event menu and return back to the Customization Services Map, click on Map on the right side of your console header.

The Smart Event Wizard You use the same wizard to create and edit Smart Events. When you choose to add a Smart Event, the fields in the wizard are not filled in. When you edit a Smart Event, the fields are filled in. In edit mode, fields are already populated with current settings for that Smart Event, but you can make changes to any field, including the name.

To add a Smart Event: • From the Smart Events Menu, click on Add in the upper right corner.

OR • From any point in Customization Services, choose Smart Event from

the Activities pull-down menu.

Either of these tasks takes you to the first step of the Smart Event Wizard

To edit a Smart Event: • From the Smart Events Menu, click on Edit to the left of the item you

want to edit.

There are four steps in the Smart Event Wizard. These are the same steps whether you are adding and new Smart Event or editing an existing one:

Let’s look at each of these steps and what all the options mean.

73

Page 74: Customization Services

Intacct ERP • Customization Services User Manual

Choose and Object to Extend

Smart Events are applied to an object. The Owner Object pull-down menu gives you a list of objects to which you can add a Smart Event.

1. Click on the Owner Object pull-down menu.

2. Click on the object to which you can add a Smart Event.

When you choose a Document object, such as SO Document, a second qualifier comes up for Document Type:

1. Click on the Document Type pull-down menu.

2. Click on the document type to which you want to add a Smart Event.

3. Click Next in the lower right corner.

Select Event Properties

The Event Properties step sets what kind of event will be triggered and the conditions that trigger it. The properties for an event are:

Action: Either an E-Mail or HTTP Post. An e-mail is the simplest event because the only outside information you need is the recipient’s address.

74

Page 75: Customization Services

Intacct ERP • Customization Services User Manual

An HTTP post requires a destination that is programmed to handle the post.

Events (required): Events covers the three things a user can do with a record:

Add: The rule is checked any time a new record is created.

Set: The rule is checked any time a record is changed.

Delete: The rule is checked any time a record is deleted.

You can choose any or all of these options.

Condition: The rule that is to be met so that an e-mail or HTTP post is sent.

For instance, if the Event is that the CEO gets an e-mail when a user posts and invoice with a total greater than $10,000, the condition would be Invoice Amount is greater than 10,000, written:

{!ARINVOICE.TOTALENTERED!} > 10000

If this condition is met, an e-mail will be sent at the time the invoice is created.

If you want to generate an e-mail or post for every Event (Add, Set, or Delete) you’ve selected, leave the condition field blank. For instance, you could to leave the Condition field blank to send a sales manager an e-mail every time a customer record is added.

For more information on writing conditions, see {internal link to Writing Injections and Conditions}.

Select E-Mail or HTTP Post Properties This step of the wizard will differ depending on whether you chose E-Mail or HTTP Post in the Select Event Properties step.

E-mail Properties

The properties that make up an Event e-mail are:

E-Mail (required): The valid e-mail address or addresses that you want the Event message to go to. The e-mail address should be in the format:

[email protected]

To set multiple e-mail addresses, enter addresses separated by a comma:

75

Page 76: Customization Services

Intacct ERP • Customization Services User Manual

[email protected], [email protected]

Subject (required): Text displayed in the subject line of the e-mail.

Body: Text displayed in the body of the e-mail. The Body may contain injections (see {internal link to writing injections}). For example, if you are extending the Invoice object, you may want to reference the user (always available), invoice number, and invoice amount in the body:

{!USERINFO.LOGINID!} has created

the Invoice {!ARINVOICE.DOCUMENTID!}

for ${!ARINVOICE.TOTALENTERED!}.

HTTP Post Properties

The properties that make up an HTTP Post are:

URL (required): The URL is the internet or intranet address to which you want to post the information, also referred to as the target. This address must have an associated web application (e.i. .php, .asp, .pl, .jsp, etc.) to manage the data. You will pass arguments with the URL is you are using the GET method (arguments for the POST method are set using the Argument field).

A URL without arguments (for the POST method) is written:

http://www.example.com/example.php

A URL with an argument (for the GET format) is written:

http://www.example.com/example.php?

name1=data1&amp;name2=data2

The URL and argument are separated by a question mark (?). An argument consists of the item name that will be recognized by the receiving program, then the equal sign (=), followed by the data. Data may be a literal or an Injection. Multiple arguments are separated by &amp; (the HTML character designation for &).

Method: The two HTTP methods you can use are: • GET: Argument gets passed into the QUERY_STRING (part of the

URL) for a shell script (see URL above). • POST: Argument gets passed by block memory transfer into argv().

Arguments are written in the Arguments field.

Which one should you choose? The two main deciding factors in this case are: first, whether your receiving application is set up to handle GET,

76

Page 77: Customization Services

Intacct ERP • Customization Services User Manual

POST, or both; and second, whether your argument is so long it would be truncated using the GET method.

Arguments: When using the POST method, your argument consists of the item name that will be recognized by the receiving program, then the equal sign (=), followed by the data. Data may be a literal or an Injection.

An argument is written:

name1=data1

Multiple arguments are separated by a carriage return (↵):

item_name1=data1 ↵

item_name2=data2

To pass the data we passed in the previous e-mail example, you would write:

user={!USERINFO.LOGINID!} ↵ invoice={!ARINVOICE.DOCUMENTID!} ↵ total={!ARINVOICE.TOTALENTERED!}

Select Deployment Options

In the Deployment Options step, you name your Smart Event and describe what it does. The options for deploying your Smart Event are:

SmartLink ID (required): This is the name that will be used to find and edit your Smart Event. Characters for the ID are limited to alpha-numeric and underscore with no spaces.

Description: Add a description that will help the user understand the purpose of this Smart Event and how you intend it to be used.

Status: The status of the Smart Event is Active by default, you can change it by choosing Inactive from the pull-down menu.

Saving Your Smart Event At any step in setting up a Smart Event, you may save your settings.

To save and go back to the Smart Event menu: • Click Save in the upper right corner of the wizard.

To save and start adding a new Smart Event: • Click Save & New in the upper right corner of the wizard.

77

Page 78: Customization Services

Intacct ERP • Customization Services User Manual

If you have left any required fields blank, a warning will come up indicating which fields require information. You can go to the first of those fields by clicking Go Back on the warning screen.

Duplicating a Smart Event Once a Smart Event has been saved, you can quickly create a copy of the Smart Event to use as a basis for creating a similar Smart Event. The new Smart Event will have all the same properties and require only a ID. To create a duplicate of a saved Smart Event:

1. On the Smart Event menu, click Edit next to the Smart Event you want to duplicate.

2. Click Duplicate in the upper right corner of the wizard.

3. Change whatever parameters you want to be different.

4. Give your new Smart Event a new SmartLink ID.

5. Click Save in the upper right corner of the wizard.

Saving the Smart Event XML to a File Having the XML that is the basis of your Smart Event can be a useful development tool. To obtain the XML of your Smart Event:

1. On the last step of the Wizard, choose Export Def from the upper right corner to download the XML code displayed in a browser page.

2. Click Save and choose a location to save the file.

A Business Example of Smart Events

An E-Commerce Solution A lighting manufacturer is running an e-commerce site separate from their Intacct ERP where they make their products available directly to the consumer. They also sell wholesale and direct over the phone or fax which they enter directly into Intacct.. They want to make sure that they let web customers know in real-time if a product will be on back order. To do this, the web site database must keep an up-to-date inventory. This can be done by creating a Smart Event that made an HTTP post to a web application on the site that updates the inventory when an order is placed in Intacct.

A simple input for the site would include the event name, item ID, and quantity. To create a reasonable log entry that we could trace back, lets also include the original order ID, order date and the user from the entry in Intacct.

To create this Smart Event:

1. Click on the Activities pull down menu and choose Smart Events.

78

Page 79: Customization Services

Intacct ERP • Customization Services User Manual

2. On the “Choose Object to Extend” step, select: • Owner Object: INV Document Entry • Document Type: Inventory Transfer Out

3. Click Next.

4. On the “Event Properties” step, select: • Action: HTTP Post • Events: Add • Condition: [Leave blank to generate for ever sales order

creation]

5. Click Next.

6. On the “Select HTTP Post Properties” step, select: • URL: [http://www.example.com/…/example.php] • Method: POST • Arguments:

smart_event=add_web_inv ↵ item={!INVDOCUMENTENTRY.ITEMID!} ↵ qty={!INVDOCUMENTENTRY.QUANTITY!} ↵ date={!INVDOCUMENTENTRY.WHENCREATED!} ↵ document={!INVDOCUMENTENTRY.DOCHDRNO!} ↵ user={!USERINFO.LOGINID!}

7. Click Next.

8. On the “Select Deployment Options” step, select: • SmartLink ID: WEB_INVENTORY_OUT • Description: Sends post to web application that inventory on

an item has decreased. • Status: Active

9. Click Save.

You can create similar events to send inventory adjustment information when an item’s inventory increases by extending the Inventory Transfer In document.

79

Page 80: Customization Services

Intacct ERP • Customization Services User Manual

Writing Injections & Conditions Writing injections and conditions is at the heart of SmartLink Click, SmartLink Fetch, Smart Rules, and Smart Events. Injections allow you to reference data by its object and field, and conditions allow you to set instances in which that data will trigger activities.

Let’s first look at how to write instances then get into the operators, functions, and methods involved in writing conditions.

Injections An Injection is a placeholder for data that describes its location in the Intacct ERP. The most basic Injection uses the ID of the current object being extended, followed by a period, followed by the ID of the field within that object. The “{!” and “!}” characters (without quotes) are used as opener and closer characters respectively. An injection would be written:

{!OBJECT_ID.FIELD_ID!}

Opener {!

Current Object ID OBJECT Separator . Field ID FIELD Closer !}

An instance, suppose that you had created a stock symbol field as part of the customer object. And after populating it with all the stock symbols for your public company customers, you created an associated SmartLink Click to view a 3 month history of the stock on Yahoo Finance. The SmartLink Click target would read:

http://finance.yahoo.com/q/bc?s={!CUSTOMER.STOCKSYMBOL!}&t=3m

The Injection portion of this target is:

{!CUSTOMER.STOCKSYMBOL!}

When you went to the record for Apple Computers, this SmartLink Click would resolve as:

http://finance.yahoo.com/q/bc?s=AAPL&t=3m

The Injection having pointed to the actual data:

AAPL

To write an Injection, you need to understand how to use the Catalog and what types of Injection Parameters are available to you.

80

Page 81: Customization Services

Intacct ERP • Customization Services User Manual

Understanding the Catalog The Catalog contains all the objects available to you when writing injections. It is essentially a list of all the objects and all the fields associated with those objects. It is used as a navigational resource for finding the proper name for fields as well as Nexus or related objects as you write injections.

For instance, if you wanted to create a rule that created a warning regarding an invoice amount, you would use the Catalog to look up the path of that field.

To look up a field path using Customization Services Catalog:

1. Click on the Services pull down menu and choose Catalog OR Click on the Custom Catalog button on the Customization Services Map.

OR

2. Scroll down the catalog to the object you need and click on the arrow to the left of the object name to view all the fields associated with that object. The icon indicates that the field is a custom field.

3. Copy and paste the names of the Objects and Fields into your Injections.

Injection Parameters Injection Parameters are the paths and fields that make up an injection. Valid Injections may contain parameters from the following sources:

Intacct Fields

Every Intacct object has an associated set of fields. These are listed below the object in the Customization Services Catalog (see {internal reference to Understanding the Catalog}). An Intacct field is described, as in the example above, by the object ID, followed by a period, followed by the field ID:

81

Page 82: Customization Services

Intacct ERP • Customization Services User Manual

OBJECT_ID.FIELD_ID

For instance, if you wanted your injection to reference the due date field for an invoice, you would use the Catalog to look up the INVDOCUMENT object. You would then find the ID for the due date field, which is WHENDUE and write the injection parameter:

INVDOCUMENT.WHENDUE

Custom Fields

Injection parameters can also reference custom fields the same way they reference Intacct fields. Custom fields can be found in the Catalog under the object they extend.

Nexus Fields

Different object are joined together in their Nexus. Injections become more complex as the steps increase between the current object being extended and the desired field. In cases where multiple steps occur, understanding the Nexus becomes important.

The Nexus of an object and the objects associated with it are listed under the object in the Catalog.

The above figure shows the Nexus for the INVDOCUMENT object. Even though you have chosen to extend the INV Document, you may add Injections using any of the fields belonging to the objects listed in the INVDOCUMENT Nexus. To write this path, start with the root object and then add values from the object path column in the nexus. End with the name of the field from the last related object.

For instance, if you were extending the INV Document and wanted an Injection to point to the Primary URL of the Contact listed in the BILLTO Field, you would write:

INVDOCUMENT.BILLTO.URL1

Or lets say you want an injection that points to the Country for the Contact listed in the BILLTO field. In this case you would jump from the Nexus for INVDOCUMENT to the Nexus for CONTACT and use a field from the Object Path MAILADDRESS and related Object MAILADDRESS. You would write:

INVDOCUMENT.BILLTO.MAILADDRESS.COUNTRY

82

Page 83: Customization Services

Intacct ERP • Customization Services User Manual

You might use this injection as part of a Smart Rule that brings up a warning for all INV Documents where the Bill To address is outside your own country.

Nexus Custom Fields

When a custom field is added to an object, it shares all the Nexus relationships of that object. You can use a Nexus relationship to write and Injection for a custom field in a related object.

Universal Fields

The Standard and Custom user fields in the some objects may be included as Injection Parameters regardless of the Object being extended. Objects that contain fields that can always be used as Injection Parameters include:

• USERINFO • COMPANY • CURRENTUSER • CURRENTCOMPANY • USERPROFILE

Universal Values

The Intacct USERPROFILE.SESSIONID is always available as an Injection Parameter.

Conditions Conditions are decision mechanisms built into activities to determine when they will appear and how they will behave according to certain criteria.

A simple use of a Condition is having a SmartLink Fetch display a client’s stock performance only when there is data in the STOCKSYMBOL field in the customer record has been filled in. The condition you would write in the SmartLink Fetch Condition field would read:

{!CUSTOMER.STOCKSYMBOL!}!=''

The Condition is telling the Intacct ERP to display the SmartLink Fetch only if the STOCKSYMBOL field is not empty.

The types of elements that go into a Condition are: • Injection Parameters • Literals • Operators • Methods

83

Page 84: Customization Services

Intacct ERP • Customization Services User Manual

Injections Conditions may contain values from fields within the Intacct ERP. Reference placeholders for field values are called Injections.

Literals Literals are actual values inserted in a condition. A literal may be a number or a text string. All literals are surrounded in quote marks (double and single quotes are interchangeable). Rather than referring to data with an injection, you may want to add a value to your condition.

For instance, in the argument:

{!ARINVOICE.TOTALENTERED!} > "10000"

The value 10000 is a literal value.

An example of a literal as a text string would be:

{!SHIPTO.MAILADDRESS.COUNTRY!} != "USA"

The value USA is a literal value. String literals should be in quotes.

Operators Operators are the work horses of Conditions. The Operator is the character or group of characters between the Injections or literal values that joins them arithmetically determines the type of comparison being made.

Valid Comparison Operators

> Greater than < Less than >= Greater than or equal to <= Less than or equal to == Equal to != Not equal to

Valid Arithmetic Operators + Added to - Subtracted from * Multiplied by / Divided by ^ Exponent

Standard arithmetic precedence can be used to determine order of operations or you can use parenthesis (see next section, Grouping).

Grouping Expressions may be grouped together using logical grouping operators and parenthesis.

84

Page 85: Customization Services

Intacct ERP • Customization Services User Manual

Valid Grouping Operators

|| Or (requires one value or conditions) && And (requires both values or conditions) () Parenthesis (indicate precedence of

operations)

For instance, a condition could use grouping to match the last three letters of a vendor ID or check if a bill is between 1000 and 10000:

right({!VENDOR.VENDORID!}, 3) == "TMP" ||

({!BILL.TOTALDUE!} < 10000 && {!BILL.TOTALDUE!} > 1000)

Methods Methods are functions that take certain input parameters and output a value. For a method’s parameter, you can use an Injection Parameter or a literal. The available methods that can be used in a condition are:

today(): Returns the current Intacct date in the format MM/DD/YYYY.

strtolower(parameter): Returns the parameter in all lowercase.

strtoupper(parameter): Returns the parameter in all uppercase.

strlen(parameter): Returns the number of characters in the parameter.

substring(parameter, start, [length]): Returns a substring of the parameter that is length characters long starting from the start character. If length is not specified, the method returns the entire string beginning at start. String positions are zero-based so to start at the first character, start should be 0; to start at the second character start should be 1; and so on.

right(parameter, length): Returns a substring of the parameter starting length characters from the end. For example:

right('foobar', 3)

would return

'bar'

left(parameter, length): Returns a substring of the parameter starting at the beginning and containing length characters. For example:

left('foobar',3)

would return

'foo'.

85

Page 86: Customization Services

Intacct ERP • Customization Services User Manual

strstr(parameter, token): Returns a true or false value signifying if the token exists within the parameter. Strstr() is case sensitive.

stristr(parameter, token): A case insensitive version of strstr().

Illegal Characters Certain characters are illegal in conditions: $ ;

Mixing Data Types Mixing data types in Conditions does not cause errors. This is because conditions are loosely typed. You may, however, get some interesting results when mixing data types.

For example, consider the expression:

{!VENDOR.VENDORID!} + {!VENDOR.TOTALDUE!}

If the VENDORID value is “WIDGETS” and the TOTALDUE value is 950.25, the expression will evaluate to “WIDGETS950.25”.

86

Page 87: Customization Services

Intacct ERP • Customization Services User Manual

Creating and Uploading Packages Let’s say you want to create seven Custom Fields that are the basis for an Ad Hoc Report, three Smart Rules, and two Smart Events. You could do all that by creating them one at a time with the various customization wizards, or you could create a package that did all those things. The up-side of a package is that you can more quickly create a lot of similar items by cutting and pasting and changing a few variables. Because the package XML file exists as a document separate from the Intacct database, it can be imported into multiple companies on the Intacct ERP. The down-side is that you don’t have a wizard to walk you through everything step by step. What you do have are this reference as well as the exported XML of other customization activities created using wizards.

A package is an XML (Extensible Markup Language) document that defines one or more customization activities to deploy them together to enable a feature. By putting related activities under one wrapper, you prevent changes to just one activity that may have repercussions to other activities in the package. You also create a location where you can make changes to multiple parts of a feature at the same time.

How to Use This Reference This reference is designed to instruct you on the basics of writing XML documents and the XML structure needed for different customization activities. You will find definitions for the wrappers that surround the package and the activities, activity data types, and general XML structures.

For developers who are familiar with XML and XSD (XML Schema Definition) documents, the XSD for the Custom Packages is available in Appendix C.

Exporting XML Definitions for Activities One of the easiest ways to get started writing custom packages is to refer to this documentation for overall structure then copy the XML from activities created with the Customization Services Wizards.

To copy the XML from an activity:

1. Create an activity you want.

2. On the last step of the activity click on Exp Def to export the XML that defines the activity you created (see Exp Def in Using the Customization Services Wizard).

3. Copy and Paste the XML into the proper wrapper in your custom package document.

87

Page 88: Customization Services

Intacct ERP • Customization Services User Manual

88

Page 89: Customization Services

Intacct ERP • Customization Services User Manual

Once a custom package has been created it can be uploaded into the Intacct ERP using the Customization Services Application (see Add a Package).

Placeholder Notation Throughout in the following sections, notation devises will be used as placeholders for elements and data:

Example: The word used in place of an element name or piece of data that is not available because it is filled in by the user or unique to the user’s Intacct environment.

. . . (elipse): The place holder for elements and data yet to be filled in. The ellipse indicated where content should go when it is added.

When describing data elements, the following notation will be used:

Name (data type)(required): Definition.

Working with Packages in Customization Services

Opening the Packages Menu The packages menu allows you to sort, view, add, and delete Packages.

To open the Packages menu: • From the Services pull-down menu on the Customization Services

console, choose Packages. This brings up the Packages Menu.

Sorting and Finding Packages To sort the names of your Packages alphabetically ascending or descending, click the column header for the column by which you want to sort.

To quickly view an item from a long list, use the Filter Fields with the Go button next to them at the bottom of the column.

1. Choose the column by which you want to filter.

89

Page 90: Customization Services

Intacct ERP • Customization Services User Manual

2. Type the first few letters of the item or filter criteria in the Filter Field for that column.

3. Click Go.

To bring the Filter Fields to the top of the list, click the arrow in the upper left corner of the menu.

Once you have filtered a list, you may want to again view all items. You can do this by clicking Clear to left of the filter.

For more information on using Filter Fields, see Help/Filtering Lists.

To exit the Packages menu and return back to the Customization Services Map, click on Map on the right side of your console header.

View a Package To view a package:

1. Find the package you want to view in the Packages menu.

2. Click View to the left of the Package name.

The view of a package shows the Package Description and properties for each of the activities defined by the package.

To close the Package view: • Click Done.

90

Page 91: Customization Services

Intacct ERP • Customization Services User Manual

Add a Package To add a package:

1. Click Add in the upper or bottom right corner of the Packages menu.

2. On the “Import Package” page, click the Browse button.

3. From your “Choose File” window, choose the package (.xml) file you want to upload from your hard drive and click open in the bottom right corner.

4. On the “Import Package” page, click the Import button in the upper or lower right corner.

As it uploads the package, Intacct will validate that the XML file you are uploading conforms to the CustomERPPackage.xsd contained in Appendix C. If your package does not conform, an error message comes up that often gives you an indication of what was missing in your XML file. Check your file carefully, fix any errors, and try to import again.

Upon successful import, your package will be available to view from the packages menu, and the activities in your package will be added to their various activity menus.

Delete a Package To delete a package:

1. Find the package you want to delete in the Packages menu.

2. Click Delete to the right of the Package information.

Writing XML Before you get ready for a long read, know that you are not about to receive a comprehensive course in writing XML. The XML you need to know to write packages is very simple and pre-structured. You can use any text editor program to write and XML document. Web development programs and programming interfaces often have helps such as color-coded text for writing XML documents.

A simple definition of XML is that it is a set of rules by which you can create your own tags. Tags are elements set in < and > characters that define the content between the opening and closing tags. For writing Customization Packages, those tags have already been defined and programs written to interpret and use them.

Let’s review some basic rules of XML:

91

Page 92: Customization Services

Intacct ERP • Customization Services User Manual

• There may be no white space (character spaces of line returns) before the XML declaration

• All element attribute values must be in quotation marks (either single or double).

• Tags and Attributes are case sensitive; for example <col>, <COL>, and <Col> are considered three different tags.

• An element must have both an opening and a closing tag, unless it is and empty element.

• If a tag is a stand-alone empty element, it must contain a closing slash before the end of the tag (i.e. <col />).

• All opening and closing tags must nest correctly and not overlap. • The document must have a single root element, a unique element that

encloses the entire document. The root element may be used only once in the document.

Package Structure On way to think of a package is as a series of cascading elements that define the document, groups of data, and data.

The element that defines the document is also called the Root. It wraps or brackets all the other elements in the document. We’ll refer to this as the package wrapper.

Grouping elements surround or bracket other elements. They are important for creating paths to distinct pieces of data that might seem to be very similar but serve different functions depending on their grouping. Some examples of Grouping Elements would be:

<packageDescription>

<customFields>

<renderDetails>

Although a grouping element can contain other grouping elements, elements can not overlap – an element started within another element must be closed before the parent element can close. For example:

Like This Not This

<customField> <customField>

<dataDescription> <dataDescription>

. . . . . .

</dataDescription> </customField>

</customField> </dataDescription>

92

Page 93: Customization Services

Intacct ERP • Customization Services User Manual

At the bottom rung of the cascading series of elements are the elements that define individual pieces of data. The text for the data is set within these elements. Some examples of data elements would be:

<ownerObject>customer</ownerObject>

<condition>{!CUSTOMER.CFC_STOCKID!} != ''</condition>

<height>768</height>

Groups of elements and elements have a specific sequence they follow. The sequence for the main package elements is:

1. packageDescription

2. featureKeys

3. customFields

4. customReports

5. smartLinks

6. signature

The main package elements are covered in detail in the following sections. However, a brief description of each will help you understand how your different activities fit in:

packageDescription (required): This is the group of elements that name the package, identify its author, and explain its purpose.

featureKeys & signature: These groups of elements are reserved for use by Intacct developers. They are mentioned here because they are listed in the package XSD.

customFields: The wrapper for all the customField activities. It is the first in line of activities added to a package. It often contains data in other activities need to reference.

customReports: The wrapper for all the customReport activities.

smartLinks: The wrapper for all the SmartLink Click, SmartLink Fetch, Smart Rule, and Smart Event activities. Although these activities serve different functions, they share many data commonalities. So in XML terms, they fall under one schema definition.

customErpPackage (Root) The wrapper for the package identifies the package as an XML document. It’s open and close tags wrap the entire XML document. It is written:

93

Page 94: Customization Services

Intacct ERP • Customization Services User Manual

<customErpPackage xmlns:xsi="http://www.w3.org/2001/XMLSchema-

instance">

...

</customErpPackage>

The ellipse (. . .) before </customErpPackage> indicates where you add XML for the packageDefinition and activities.

packageDescription The packageDescription is a required element group. It has three required data elements within it (words in parenthesis next to an element name indicate the data type):

name (string): The name of the package as it will be displayed in the Package Menu.

description (string): Information regarding the package and its purpose.

author (string): The person or group who wrote the package.

The packageDescription element group is written as:

<packageDescription>

<name>...</name>

<description>...</description>

<author>...</author>

</packageDescription>

In the above example, the ellipse (. . .) indicate where you add data. The elements within the tag <packageDescription> constitute a group of nested elements. You will see nested elements in several of the other element groups. It is important to keep the nested elements in the proper order and to avoid overlap.

customFields All Custom Field activities within a package are wrapped within the customFields tag. The parent for the customFields element is the customErpPackage element. The customFields element group is written:

<customFields>

. . .

</customFields>

94

Page 95: Customization Services

Intacct ERP • Customization Services User Manual

customField An individual Custom Field is designated by the customField element group. The parent for the customField element is the customFields element. The customField element group is written:

<customField>

. . .

</customField>

Multiple custom fields can be created within a single customFields element using the customField group element. Each customField element must contain a unique customFieldID. See the example at the end of this section to see how multiple custom fields are written.

The customField element group contains the following elements in the following sequence:

customFieldId (string)(required): The name of the custom field. Legal characters are alphanumeric and underscore. No spaces are allowed.

type (string)(required): The data type for the custom field. Legal values are checkbox, currency, date, email, number, percent, picklist, picklistmulti, sequence, text, textaream, url, password.

ownerObject (string)(required): The name of the object the custom field is being added to. Legal Values are appaymentrequest, arpayment, invoice, company, userinfo, customer, vendor, journal, glbatch, glentry, arinvoice, arinvoiceitem, apbill, apbillitem, department, location, territory, warehouse, item, glaccount, sodocument, podocument, invdocument, sodocumententry, podocumententry, invdocumententry.

documentType (string): The name of the type of the document object the field will be added to. This element is only necessary for owner objects that have “document” as part of their name. The data for this element is specific to your Intacct environment (you may have unique document types). Check in the Catalog to see your document types (they show up in braces [ ] next the document object).

label (string): The text displayed next to the field on the object screen.

fieldSet (string): The group of fields that the custom field will be added to. Go to the object you’re extending to see existing field sets or create a new one by typing in a new field set name. Leaving this element blank will leave the new field ungrouped.

page (string): The page that the custom field will be added to. Go to the object you’re extending to see existing pages or create a new one by typing in a new field name. Leaving the field blank will place the custom field on the first page of the object.

95

Page 96: Customization Services

Intacct ERP • Customization Services User Manual

dataDescription (required): An element group that contains the element group that matches the type of the field you are creating – checkbox, currency, date, email, number, percent, picklist, picklistmulti, sequence, text, textarea, url. Each of these groups contain a set of elements discussed under “dataDescription” below.

required (true/false): A checkbox that determines whether the custom field will be a required field that use has to fill out. Leaving this element out in the same as false (not required).

description (string): The author’s description of the use and function of this custom field.

hidden (true/false): A checkbox that determines whether the custom field will be displayed in the object it is added to. Leaving this element out is the same as false (not hidden).

dataDescription

These are the groups and their fields that rely on the data type you choose:

checkbox (group)(required for type): An element group that contains the description element for the checkbox data type – checked.

checked (true/false)(required for type): The value that determines whether the initial state of a checkbox custom field is checked or unchecked.

currency (group)(required for type): An element group that contains the description elements for the currency data type – leftOfDecimal, rightOfDecimal.

leftOfDecimal (integer)(required for type): number of digits allowed to the left of the decimal place (length).

rightOfDecimal (integer)(required for type): number of digits allowed to the right of the decimal place (decimal places).

date (group)(required for type): An element group that contains the description element for the date data type – defaultToday.

defaultToday (true/false)(required for type): The value that determines whether the custom field defaults to the current date. For false use empty element - <defaultToday />.

number (group)(required for type): An element group that contains the description elements for the number data type – leftOfDecimal, rightOfDecimal.

leftOfDecimal (integer)(required for type): number of digits allowed to the left of the decimal place (length).

96

Page 97: Customization Services

Intacct ERP • Customization Services User Manual

rightOfDecimal (integer)(required for type): number of digits allowed to the right of the decimal place (decimal places).

percent (group)(required for type): An element group that contains the description elements for the percent data type – leftOfDecimal, rightOfDecimal.

leftOfDecimal (integer)(required for type): number of digits allowed to the left of the decimal place (length).

rightOfDecimal (integer)(required for type): number of digits allowed to the right of the decimal place (decimal places).

picklist (group)(required for type): An element group that contains the description elements for the picklist data type – pickValues, defaultValue, sort.

pickValues (group)(required for type): An element group that contains the data elements for the values in a pick list – pickValue.

pickValue (string)(required for type): a value in a pick list custom field. There is no limit on the number values that can be added using this element, written as:

<pickValues>

<pickValue>example1</pickValue>

<pickValue>example2</pickValue>

<pickValue>example3</pickValue>

. . .

</pickValues>

defaultValue (true/false) The value that determines whether the first value in the pick list is set as the default. For false use empty element - <defaultValue />.

sort (true/false) The value that determines whether a pick list is sorted alphabetically. For false use empty element - <sort />.

picklistmulti (group)(required for type): An element group that contains the description elements for the pick list multiple-select data type – pickValues, defaultValue, sort, rowCount.

pickValues (group)(required for type): An element group that contains the data elements for the values in a pick list multiple-select – pickValue.

pickValue (string)(required for type): a value in a pick list multiple-select custom field. There is no limit on the

97

Page 98: Customization Services

Intacct ERP • Customization Services User Manual

number values that can be added using this element, written as:

<pickValues>

<pickValue>example1</pickValue>

<pickValue>example2</pickValue>

<pickValue>example3</pickValue>

. . .

</pickValues>

defaultValue (true/false) The value that determines whether the first value in the pick list multiple-select is set as a default. For false use empty element - <defaultValue />.

sort (true/false) The value that determines whether a pick list multiple-select is sorted alphabetically. For false use empty element - <sort />.

rowCount (integer) Number of rows displayed in the custom field pick list. Using the empty element - <rowCount /> - will display one row.

sequence (group)(required for type): An element group that contains the description element for the sequence type – sequenceID.

sequenceID (string)(required for type): The scheme used for auto numbering the field. Legal values for this field are based on schemes set up within your Intacct environment. To see the list of available schemes, use the Custom Field Wizard, choose sequence, and view the choices available.

text (group)(required for type): An element group that contains the description element for the text data type – length.

length (string)(required for type): The maximum number of characters allowed in the text field.

textarea (group)(required for type): An element group that contains the description element for the textarea data type – rowCount.

rowCount (string): The number of rows that will be displayed in the textarea field.

email (empty): Because all the properties for this data type are pre-set, this element is displayed as an empty element - <email />

url (empty): Because all the properties for this data type are pre-set, this element is displayed as an empty element - <url />

98

Page 99: Customization Services

Intacct ERP • Customization Services User Manual

password (empty): Because all the properties for this data type are pre-set, this element is displayed as an empty element - <password />

Template XML for Custom Fields <customFields>

<customField>

<customFieldId>...</customFieldId>

<type>checkbox</type>

<ownerObject>...</ownerObject>

<label>...</label>

<fieldSet>...</fieldSet>

<page>...</page>

<dataDescription>

<checkbox>

<checked>...</checked>

</checkbox>

</dataDescription>

<required>...</required>

<description>...</description>

<hidden>...</hidden>

</customField>

<customField>

<customFieldId>...</customFieldId>

<type>text</type>

<ownerObject>...</ownerObject>

<label>...</label>

<fieldSet>...</fieldSet>

<page>...</page>

<dataDescription>

<text>

<length>...</length>

</text>

99

Page 100: Customization Services

Intacct ERP • Customization Services User Manual

</dataDescription>

<required>...</required>

<description>...</description>

<hidden>...</hidden>

</customField>

</customFields>

smartLinks All SmartLink Click, SmartLink Fetch, Smart Rule, and Smart Event activities within a package are wrapped within the smartLinks tag. The parent for the smartLinks element is the customErpPackage element. The smartLinks element group is written:

<smartLinks>

. . .

</smartLinks>

smartLink An individual SmartLink Click, SmartLink Fetch, Smart Rule, or Smart Event is designated by the smartLink element group. The parent for the smartLink element is the smartLinks element. The smartLink element group is written:

<smartLink>

. . .

</smartLink>

Multiple smartLink activities can be created within a single smartLinks element using the smartLink group element. Each smartLink element must contain a unique smartLinkID. See the example at the end of this section to see how multiple smartLink activities are written.

The smartLink element group contains the following elements in the following sequence:

smartLinkID (string)(required): The name of the smartLink activity. Legal characters are alphanumeric and underscore. No spaces are allowed.

type (string)(required): Sets what kind of smartLink activity is being created. Legal values are click, fetch, workflow, validate, and calculate. These type values relate to the smartLink activity types:

• click: SmartLink Click • fetch: SmartLink Fetch • workflow: Smart Event

100

Page 101: Customization Services

Intacct ERP • Customization Services User Manual

• validate: Smart Rule

ownerObject (string)(required): The name of the object the smartLink activity is being added to. Legal Values are appaymentrequest, arpayment, invoice, company, userinfo, customer, vendor, journal, glbatch, glentry, arinvoice, arinvoiceitem, apbill, apbillitem, department, location, territory, warehouse, item, glaccount, sodocument, podocument, invdocument, sodocumententry, podocumententry, invdocumententry.

documentType (string): The name of the type of the document object the smartLink activity will be added to. This element is only necessary for owner objects that have “document” as part of their name. The data for this element is specific to your Intacct environment (you may have unique document types). Check in the Catalog to see your document types (they show up in braces [ ] next the document object).

label (string): The text displayed next to the activity on the object screen.

fieldSet (string): The group on the screen to which the activity will be added. Go to the object you’re extending to see existing sets or create a new one by typing in a new field set name. Leaving this element blank will leave the new activity ungrouped.

page (string): The page that the activity will be added to. Go to the object you’re extending to see existing pages or create a new one by typing in a new field name. Leaving the element blank will place the activity on the first page of the object.

events (group)(required for type): The element group that contains the event elements required for Smart Rules and Smart Events.

event (string): An event that triggers the Smart Rule or Smart Event. Legal values are add, set, and delete.

target (string): The URL or e-mail address for the SmartLink Click, SmartLink Fetch, or Smart Event.

active (true/false): A checkbox that determines whether the activity will be will run when events or conditions are met.

renderDetails (group): The element group that contains the elements that define that display of the smartLink event based on type. Contains one of the following elements: click, fetch, workflow, validate, and calculate. See “renderDetails” below.

description (string): The author’s description of the use and function of this activity.

RenderDetails

These are the element groups and data elements that are based on the smartLink type you chose:

101

Page 102: Customization Services

Intacct ERP • Customization Services User Manual

click (group): Group element that contains elements for SmartLink Click - condition, height, width, position, resizeable, showAddressbar, showScrollbar, showToolbar, showMenubar, showStatusbar.

condition (string): The condition that must be met for the SmartLink Click to display on the object screen. See Writing Injections and Conditions.

height (string): The vertical dimension of the window that displays the SmartLink Click.

width (string): The horizontal dimension of the window that displays the SmartLink Click.

position (string): The window’s prominence among other open windows on the screen entered as an integer. To bring up the new window in front of the window from which the user is clicking, enter the number 0. To place the new window behind the current window, enter the number 1.

resizable (true/false): Boolean value that determines whether the user can change the size of the new window.

showAddressbar (true/false): Boolean value that determines whether the browser’s address bar will be displayed in the new window.

showScrollbar (true/false): Boolean value that determines whether the scrollbar will be displayed in the new window.

showToolbar (true/false): Boolean value that determines whether the browser’s toolbar will be displayed in the new window.

showMenubar (true/false): Boolean value that determines whether the browser’s menu bar will be displayed in the new window.

showStatusbar (true/false): Boolean value that determines whether the browser’s status bar will be displayed in the new window.

fetch (group): Group element that contains elements for SmartLink Click – condition, height, width, scrollbar.

condition (string): The condition that must be met for the SmartLink Fetch to display on the object screen. See Writing Injections and Conditions.

height (string): The vertical dimension of the frame that displays the SmartLink Fetch.

width (string): The horizontal dimension of the frame that displays the SmartLink Fetch.

102

Page 103: Customization Services

Intacct ERP • Customization Services User Manual

showScrollbar (true/false): Boolean value that determines whether the scrollbar will be displayed in the SmartLink Fetch frame.

workflow (group): Group element that contains elements for Smart Event – action, condition.

action (group)(required for type): The type of event that occurs in a smart event. Child elements are emailAction and httpPostAction.

emailAction (group): The properties for an Smart Event e-mail. Child properties are subject and body.

subject (string): The text that will appear in the subject line of the e-mail. This element may include injections.

body (string): The text that will appear in the body portion of the e-mail. This element may include injections.

httpPostAction (group): The properties for an Smart Event HTTP Post. Child properties are method and arguments.

method (string): The type method used to post data to a web application in HTTP Post Smart Event. Legal values are get and post.

arguments (group): The element that contains the data elements for the arguments in a HTTP post using the post method. Child element is argument.

argument (string): An argument passed to the receiving web application in an HTTP post using the post method. May be used multiple times within a single arguments element. May include injections. See HTTP Post Properties.

validate (group): Group element that contains the property elements of Smart Rules – condition, errorMessage, errorType.

condition (string)(required for type): The condition that must be violated for the Smart Rules to display an error or warning message. See Writing Injections and Conditions.

errorMessage (String): The text that is displayed in the error or warning message. May include injections.

103

Page 104: Customization Services

Intacct ERP • Customization Services User Manual

errorType (string): Element that sets the error message to an error (user has to go back and make a change) or a warning (user can continue). Legal values are error and warning.

Template XML for smartLinks <smartLinks>

<smartLink>

<smartLinkId>...</smartLinkId>

<type>fetch</type>

<ownerObject>...</ownerObject>

<label>...</label>

<fieldSet>...</fieldSet>

<page>...</page>

<target>http://www.example.com/?...</target>

<renderDetails>

<fetch>

<condition>...</condition>

<height>...</height>

<width>...</width>

<showScrollbar>...</showScrollbar>

</fetch>

</renderDetails>

</smartLink>

<smartLink>

<smartLinkId>...</smartLinkId>

<type>click</type>

<ownerObject>...</ownerObject>

<label>...</label>

<fieldSet>...</fieldSet>

<page>...</page>

<target>http://www.example.com/...</target>

<renderDetails>

104

Page 105: Customization Services

Intacct ERP • Customization Services User Manual

<click>

<height>...</height>

<width>...</width>

<resizeable>...</resizeable>

<showAddressbar>...</showAddressbar>

<showScrollbar>...</showScrollbar>

<showMenubar>...</showMenubar>

<showToolbar>...</showToolbar>

<showStatusbar>...</showStatusbar>

</click>

</renderDetails>

</smartLink>

</smartLinks>

customReports All Custom Report activities within a package are wrapped within the customReports tag. The parent for the customReports element is the customErpPackage element. The customReports element group is written:

<customReports>

. . .

</customReports>

customReport An individual Custom Report activity resides within the customReport element. The parent for the customReport element is the customReports element. The customReports element group is written:

<customReport>

. . .

</customReport>

Multiple customReport elements may reside in a single customReports element. Each customReport element must contain a unique name. See the example at the end of this section to see how multiple customReport activities are written.

The customReport element group contains the following elements in the following sequence:

105

Page 106: Customization Services

Intacct ERP • Customization Services User Manual

name (string)(required): The name of the Ad Hoc Report activity. Legal characters are alphanumeric and underscore. No spaces are allowed.

description (string): Describes the purpose and use of the report.

type (string)(required): Sets the report type. Legal values are “tabular” and “summary” (without quotation marks).

module (string)(required): Sets the Intacct module to which the report will be deployed. Legal values are:

Value Module gl General Ledger ap Accounts Payable ar Accounts Receivable cm Cash Management ee Employee Expenses so Order Entry po Purchase Orders inv Inventory Control

root (string)(requires): The main object from which the report will be derived. It is the object from which all other related objects will be referenced. Legal values are appaymentrequest, arpayment, invoice, company, userinfo, customer, vendor, journal, glbatch, glentry, arinvoice, arinvoiceitem, apbill, apbillitem, department, location, territory, warehouse, item, glaccount, sodocument, podocument, invdocument, sodocumententry, podocumententry, invdocumententry.

documentType (string): The name of the type of the document object the custom report activity will be added to. This element is only necessary for owner objects that have “document” as part of their name. The data for this element is specific to your Intacct environment (you may have unique document types). Check in the Catalog to see your document types (they show up in braces [ ] next the document object).

columns (group): Contains the elements that define the columns to be included in the report. Child element is field. The field element is the child element of several group elements. See field element below.

parameters (group): Contains the elements that define the columns to be included as runtime parameters. Child element is field. The field element is the child element of several group elements. See field element below.

filter (group): Contains the elements that define the filter properties for the custom report. Child elements are expression and logical.

106

Page 107: Customization Services

Intacct ERP • Customization Services User Manual

expression (group): Contains the elements that define the properties for a single filter. Multiple expression element groups may exist within a single filter element. Child elements are path, operator, and value.

path (string)(required for expression): The path of the column by which the report is to be filtered. Path is written in reference to the root object. See Field /Path.

operator (string)(required for expression): Sets the comparison to be made between the path and the value. Legal values are:

Value Comparison eq equal to lt less than gt greater than le less than or equal to ge greater than or equal to ne not equal to co contains nc does not contain sw starts with ew ends with in includes ex excludes

For a more in-depth explanation of the operators, see the list of operators under Ad Hoc Reports Wizard/Select Filters.

value (string)(required for expression): The text or number to which the path is compared. Must be a literal or “null”.

logical (group): Contains the elements that define the logical grouping of filter expressions. May contain additional nested logical elements and multiple expression elements. Child elements are expression and logical. Uses the XML attribute logical_operator, which uses as legal values “and” and “or”. When no Logical element is used in a filter, all expressions default to the “and” logical relationship.

An example of logical grouping used on filter expressions would be if you had three expressions – 1,2, and 3 – and you wanted to group them as (1 or 2) and 3. You would write:

<logical logical_operator="and">

<expression>

107

Page 108: Customization Services

Intacct ERP • Customization Services User Manual

<path>EXAMPLE.3</path>

<operator>eq</operator>

<value>example3</value>

</expression>

<logical logical_operator="or">

<expression>

<path>EXAMPLE.1</path>

<operator>ne</operator>

<value>example1</value>

</expression>

<expression>

<path>EXAMPLE.2</path>

<operator>gt</operator>

<value>example2</value>

</expression>

</logical>

</logical>

Logical relationships created by parenthesis are handled by nesting expressions, with expressions being resolved from the inside out. The logical_operator value applies to the expressions within its element group.

sortby (group): Contains the elements that define the columns by which the report will be sorted. The order of the field elements determines sorting precedence. The report will be sorted by the first field, then the second field, and so on. The child element is field. The field element is the child element of several group elements. See field element below.

groupby (group): Contains the elements that define the columns by which the report will be grouped, how those groups will be sorted, and what summaries will exist within those groups. The order of the level elements determines nesting precedence of the groups. The report will be grouped by the first level, then the second level, and so on. The child element is level.

level (group): Contains the elements that determine the grouping and summary calculations for the groups. The child elements of level are group and summary. A report may contain up to three groupby columns which require a corresponding number of level

108

Page 109: Customization Services

Intacct ERP • Customization Services User Manual

elements. If three level elements are required, the group in the first will contain all three fields elements, the group in the second will contain the first and second field elements, and the group in the third will contain the first field element. Each level will contain the summary requirements of all three fields. See example at the end of this section, which contains two groupby columns.

group (group): Contains the field elements that define the columns by which the report will be grouped. Child element is field. The field element is the child element of several group elements. See field element below.

summary (See summary below.)

summary (group): Contains the elements that define the columns that will have summary calculations. The child element is field. The field element is the child element of several group elements. See field element below.

field

The field element group is a part of several customReport element groups and requires different fields depending on which group it belongs to. The field element group is written:

<field>

. . .

</field>

Multiple field elements may reside in a single parent element. Each field element must contain a path.

The field element group contains the following elements in the following sequence:

path (string)(required for all uses): The path of the field referenced by the root object. You may include other objects related to the root object and links according to the nexus for the root and nexus of a path. For instance, a path for the record ID of a Bill where the APBILL is the root object would be written:

<path>APBILL.RECORDID</path>

However, a field in a related object such as the state in the mail address of the pay-to contact would be written using Nexus references for APBILL:

<path>APBILL.PAYTO.MAILADDRESS.STATE</path>

label (string)(required within the columns element): The text that will be written at the top of the column or on the chart when the report is

109

Page 110: Customization Services

Intacct ERP • Customization Services User Manual

displayed. In the Ad Hoc Report wizard, this is the Header Label that can be edited in the Select Column Sequence step.

promptOnRun (string)(required for fields that are set at runtime): The value that sets whether a field is set as a runtime parameter. Legal values are "Y" and "N" (without quotation marks).

fieldSet (string): User defined grouping of fields on an input display. Used here to group fields in the runtime parameters input dialog.

direction (string)(required within the sortBy and groupBy elements): Value that sets the sort order of the values in the report. Legal values are:

value sort order asc ascending desc descending

function (string)(required under summary group): Sets the type of calculation performed on data in a summary of a table or group within a table. All functions except count are reserved for number and currency data types. Count can be used on all types of data. Legal values are:

value function sum returns sum of column values avg returns average of column values stddev returns standard deviation of column values variance returns variance of column values count returns a count of value entries in the

column max returns the highest value in the column min returns the lowest value in the column

Template XML for customReports <customReport>

<name>...</name>

<description>...</description>

<type>summary</type>

<module>...</module>

<root>...</root>

<documentType>...</documentType>

<columns>

<field>

110

Page 111: Customization Services

Intacct ERP • Customization Services User Manual

<path>...</path>

<label>...</label>

</field>

<field>

<path>...</path>

<label>...</label>

</field>

</columns>

<parameters>

<field>

<path>...</path>

<label>...</label>

<promptOnRun>...</promptOnRun>

<fieldSet>...</fieldSet>

</field>

<field>

<path>...</path>

<label>...</label>

<promptOnRun>...</promptOnRun>

<fieldSet>...</fieldSet>

</field>

</parameters>

<filter>

<expression>

<path>...</path>

<operator>...</operator>

<value>...</value>

</expression>

</filter>

<sortby>

<field>

111

Page 112: Customization Services

Intacct ERP • Customization Services User Manual

<path>...</path>

<direction>...</direction>

</field>

<field>

<path>...</path>

<direction>...</direction>

</field>

</sortby>

<groupby>

<level>

<group>

<field>

<path>...</path>

<direction>...</direction>

</field>

<field>

<path>...</path>

<direction>...</direction>

</field>

</group>

<summary>

<field>

<path>...</path>

<label>...</label>

<function>...</function>

</field>

<field>

<path>...</path>

<label>...</label>

<function>...</function>

</field>

112

Page 113: Customization Services

Intacct ERP • Customization Services User Manual

<field>

<path>...</path>

<label>...</label>

<function>...</function>

</field>

</summary>

</level>

<level>

<group>

<field>

<path>...</path>

<direction>...</direction>

</field>

</group>

<summary>

<field>

<path>...</path>

<label>...</label>

<function>...</function>

</field>

<field>

<path>...</path>

<label>...</label>

<function>...</function>

</field>

<field>

<path>...</path>

<label>...</label>

<function>...</function>

</field>

</summary>

113

Page 114: Customization Services

Intacct ERP • Customization Services User Manual

</level>

</groupby>

<summary>

<field>

<path>...</path>

<label>...</label>

<function>...</function>

</field>

<field>

<path>...</path>

<label>...</label>

<function>...</function>

</field>

<field>

<path>...</path>

<label>...</label>

<function>...</function>

</field>

</summary>

</customReport>

114

Page 115: Customization Services

Intacct ERP • Customization Services User Manual

Appendix A – Ad Hoc Report Data Types • Allocation • AP Account Label • Bill • Bill Detail • AP Payment Request • AP Term • AR Account Label • AR Adjustment • AR adjustment Detail • Invoice • Invoice Detail • AR Payment • AR Term • Contact • Customer GL Group • Customer • Customer Type • Department • Employee • GL Account • GL Transaction • GL Entry • Inventory Control Transaction • Inventory Control Transaction Detail • Inventory Control Transaction Definition • Price List • Item • Journal • Region • Mail Address • Purchase Order Transaction • Purchase Order Transaction Detail • Purchase Order Transaction Definition • Shipping Method • Order Entry Transaction • Order Entry Transaction Detail

115

Page 116: Customization Services

Intacct ERP • Customization Services User Manual

• Order Entry Transaction Definition • Territory • User • Vendor GL Group • Vendor • Site Inventory

116

Page 117: Customization Services

Intacct ERP • Customization Services User Manual

Appendix B – Chart Types Line Chart

Column Chart

117

Page 118: Customization Services

Intacct ERP • Customization Services User Manual

Stacked Column Chart

3D Column Chart

118

Page 119: Customization Services

Intacct ERP • Customization Services User Manual

Stacked 3D Column Chart

Parallel 3D Column Chart

119

Page 120: Customization Services

Intacct ERP • Customization Services User Manual

Pie Chart

3D Pie Chart

120

Page 121: Customization Services

Intacct ERP • Customization Services User Manual

Bar Chart

Stacked Bar Chart

121

Page 122: Customization Services

Intacct ERP • Customization Services User Manual

Area Chart

Stacked Area Chart

122

Page 123: Customization Services

Intacct ERP • Customization Services User Manual

Scatter Chart

Polar Chart

123

Page 124: Customization Services

Intacct ERP • Customization Services User Manual

Appendix C – Package XML Schema Definition <?xml version="1.0" encoding="UTF-8"?> <!-- Intacct CustomERP XML Schema v.1.0 This schema defines all data types for CustomERP Packages, SmartLinks, Custom Fields and Custom Reports. Copyright 2005 Intacct Corporation All Rights Reserved --> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified"> <!-- Rendering Types for Smartlinks --> <xs:complexType name="ClickType"> <xs:sequence> <xs:element name="condition" type="ConditionType" minOccurs="0"/> <xs:element ref="height"/> <xs:element ref="width"/> <xs:element ref="position" minOccurs="0"/> <xs:element ref="resizeable" minOccurs="0"/> <xs:element ref="showAddressbar" minOccurs="0"/> <xs:element ref="showScrollbar" minOccurs="0"/> <xs:element ref="showToolbar" minOccurs="0"/> <xs:element ref="showMenubar" minOccurs="0"/> <xs:element ref="showStatusbar" minOccurs="0"/> </xs:sequence> </xs:complexType> <xs:complexType name="FetchType"> <xs:sequence> <xs:element name="condition" type="ConditionType" minOccurs="0"/> <xs:element ref="height"/> <xs:element ref="width"/> <xs:element ref="showScrollbar" minOccurs="0"/> </xs:sequence> </xs:complexType> <xs:element name="height" type="xs:string"/> <xs:element name="width" type="xs:string"/> <xs:element name="position" type="xs:string"/> <xs:element name="renderDetails" type="RenderDetailsType"/> <xs:element name="resizeable" type="xs:boolean"/> <xs:element name="showAddressbar" type="xs:boolean"/> <xs:element name="showMenubar" type="xs:boolean"/> <xs:element name="showScrollbar" type="xs:boolean"/> <xs:element name="showStatusbar" type="xs:boolean"/> <xs:element name="showToolbar" type="xs:boolean"/> <xs:complexType name="RenderDetailsType"> <xs:choice> <xs:element name="click" type="ClickType"/> <xs:element name="fetch" type="FetchType"/> <xs:element name="workflow" type="WorkflowType"/> <xs:element name="validate" type="ValidateType"/>

124

Page 125: Customization Services

Intacct ERP • Customization Services User Manual

<xs:element name="calculate" type="CalculateType"/> </xs:choice> </xs:complexType> <xs:complexType name="WorkflowType"> <xs:sequence> <xs:element name="action" type="ActionChoiceType"/> <xs:element name="condition" type="ConditionType" minOccurs="0"/> </xs:sequence> </xs:complexType> <xs:complexType name="EmailActionType"> <xs:sequence> <xs:element name="subject" type="xs:string"/> <xs:element name="body" type="xs:string"/> </xs:sequence> </xs:complexType> <xs:complexType name="HttpPostActionType"> <xs:sequence> <xs:element name="method" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:pattern value="post|get"/> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="arguments" type="ArgumentsType" minOccurs="0"/> </xs:sequence> </xs:complexType> <xs:complexType name="ValidateType"> <xs:sequence> <xs:element name="condition" type="ConditionType"/> <xs:element name="errorMessage" type="xs:string"/> <xs:element name="errorType" default="error" minOccurs="0"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:pattern value="error|warning"/> </xs:restriction> </xs:simpleType> </xs:element> </xs:sequence> </xs:complexType> <xs:simpleType name="ConditionType"> <xs:restriction base="xs:string"/> </xs:simpleType> <xs:complexType name="ActionChoiceType"> <xs:choice> <xs:element name="emailAction" type="EmailActionType"/> <xs:element name="httpPostAction" type="HttpPostActionType" nillable="1"/> </xs:choice> </xs:complexType> <!-- Data Descriptions for Custom Fields --> <xs:complexType name="CheckboxType"> <xs:sequence> <xs:element ref="checked" minOccurs="0"/> </xs:sequence> </xs:complexType> <xs:element name="checked" type="xs:boolean"/>

125

Page 126: Customization Services

Intacct ERP • Customization Services User Manual

<xs:complexType name="CurrencyType"> <xs:sequence> <xs:element ref="leftOfDecimal"/> <xs:element ref="rightOfDecimal"/> </xs:sequence> </xs:complexType> <xs:element name="dataDescription"> <xs:complexType> <xs:choice> <xs:element name="checkbox" type="CheckboxType"/> <xs:element name="currency" type="CurrencyType"/> <xs:element name="date" type="DateType"/> <xs:element ref="email"/> <xs:element name="number" type="NumberType"/> <xs:element name="percent" type="PercentType"/> <xs:element name="picklist" type="PicklistType"/> <xs:element name="picklistmulti" type="PicklistmultiType"/> <xs:element name="sequence" type="SequenceType"/> <xs:element name="text" type="TextType"/> <xs:element name="textarea" type="TextareaType"/> <xs:element ref="url"/> </xs:choice> </xs:complexType> </xs:element> <xs:complexType name="DateType"> <xs:sequence> <xs:element ref="defaultToday" minOccurs="0"/> </xs:sequence> </xs:complexType> <xs:element name="defaultToday" type="xs:boolean"/> <xs:element name="defaultValue" type="xs:string"/> <xs:element name="email" type="xs:string"/> <xs:element name="leftOfDecimal" type="xs:integer"/> <xs:element name="length" type="xs:string"/> <xs:complexType name="NumberType"> <xs:sequence> <xs:element ref="leftOfDecimal"/> <xs:element ref="rightOfDecimal"/> </xs:sequence> </xs:complexType> <xs:complexType name="PercentType"> <xs:sequence> <xs:element ref="leftOfDecimal"/> <xs:element ref="rightOfDecimal"/> </xs:sequence> </xs:complexType> <xs:complexType name="PicklistType"> <xs:sequence> <xs:element name="pickValues" type="PickValuesType"/> <xs:element ref="defaultValue" minOccurs="0"/> <xs:element ref="sort" minOccurs="0"/> </xs:sequence> </xs:complexType> <xs:complexType name="PicklistmultiType"> <xs:sequence> <xs:element name="pickValues" type="PickValuesType"/>

126

Page 127: Customization Services

Intacct ERP • Customization Services User Manual

<xs:element ref="defaultValue" minOccurs="0"/> <xs:element ref="sort" minOccurs="0"/> <xs:element ref="rowCount" minOccurs="0"/> </xs:sequence> </xs:complexType> <xs:element name="pickValue" type="xs:string"/> <xs:complexType name="PickValuesType"> <xs:sequence> <xs:element ref="pickValue" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> <xs:element name="rightOfDecimal" type="xs:integer"/> <xs:element name="rowCount" type="xs:string"/> <xs:complexType name="SequenceType"> <xs:sequence> <xs:element ref="sequenceId"/> </xs:sequence> </xs:complexType> <xs:element name="sequenceId" type="xs:string"/> <xs:element name="sort" type="xs:boolean"/> <xs:complexType name="TextType"> <xs:sequence> <xs:element ref="length"/> </xs:sequence> </xs:complexType> <xs:complexType name="TextareaType"> <xs:sequence> <xs:element ref="rowCount" minOccurs="0"/> </xs:sequence> </xs:complexType> <xs:element name="url"> <xs:complexType/> </xs:element> <xs:element name="password"> <xs:complexType/> </xs:element> <xs:complexType name="DataDescriptionType"> <xs:choice> <xs:element name="checkbox" type="CheckboxType"/> <xs:element name="currency" type="CurrencyType"/> <xs:element name="date" type="DateType"/> <xs:element name="number" type="NumberType"/> <xs:element name="percent" type="PercentType"/> <xs:element name="picklistmulti" type="PicklistmultiType"/> <xs:element name="picklist" type="PicklistType"/> <xs:element name="sequence" type="SequenceType"/> <xs:element name="textarea" type="TextareaType"/> <xs:element name="text" type="TextType"/> <xs:element ref="email"/> <xs:element ref="url"/> <xs:element ref="password"/> </xs:choice> </xs:complexType> <!-- Types for CustomERP Package --> <xs:element name="customErpPackage" type="CustomErpPackageType"/> <xs:complexType name="CustomErpPackageType">

127

Page 128: Customization Services

Intacct ERP • Customization Services User Manual

<xs:annotation> <xs:documentation>A collection of Custom Fields, SmartLinks, and Layout information.</xs:documentation> </xs:annotation> <xs:sequence> <xs:element name="packageDescription" type="PackageDescriptionType"/> <xs:element name="featureKeys" type="FeatureKeysType" minOccurs="0"/> <xs:element name="customFields" type="CustomFieldsType" minOccurs="0"/> <xs:element name="smartLinks" type="SmartLinksType" minOccurs="0"/> <xs:element name="customReports" type="CustomReportsType" minOccurs="0"/> <xs:element name="signature" minOccurs="0"/> </xs:sequence> </xs:complexType> <xs:complexType name="PackageDescriptionType"> <xs:annotation> <xs:documentation>Package Description information</xs:documentation> </xs:annotation> <xs:all> <xs:element name="name" type="xs:string"> <xs:annotation> <xs:documentation>Name of CustomERP Package</xs:documentation> </xs:annotation> </xs:element> <xs:element name="description" type="xs:string"> <xs:annotation> <xs:documentation>Describe the feature or business process enabled by this package</xs:documentation> </xs:annotation> </xs:element> <xs:element name="author" type="xs:string"> <xs:annotation> <xs:documentation>Person or organization who created the package</xs:documentation> </xs:annotation> </xs:element> <xs:element name="intacctPackageId" type="xs:string" minOccurs="0"> <xs:annotation> <xs:documentation>For signed packages, this value is the unique id assigned by Intacct</xs:documentation> </xs:annotation> </xs:element> </xs:all> </xs:complexType> <xs:complexType name="FeatureKeysType"> <xs:annotation> <xs:documentation>List of features to enable with this package.</xs:documentation> </xs:annotation> <xs:sequence maxOccurs="unbounded"> <xs:element name="featureKey" type="xs:string"/> </xs:sequence> </xs:complexType> <xs:complexType name="CustomFieldsType"> <xs:annotation> <xs:documentation>List of Custom Fields</xs:documentation> </xs:annotation> <xs:sequence maxOccurs="unbounded"> <xs:element name="customField" type="CustomFieldType"/> </xs:sequence>

128

Page 129: Customization Services

Intacct ERP • Customization Services User Manual

</xs:complexType> <xs:complexType name="CustomFieldType"> <xs:annotation> <xs:documentation>Custom Field definition</xs:documentation> </xs:annotation> <xs:sequence> <xs:element name="customFieldId" type="xs:string"/> <xs:element name="type"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:pattern value="checkbox|currency|date|email|number|percent|picklist|picklistmulti|sequence|text|textarea|url|password"/> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="ownerObject" type="ownerObjectType"/> <xs:element name="documentType" type="xs:string" minOccurs="0"/> <xs:element name="label" type="xs:string" minOccurs="0"/> <xs:element name="fieldSet" minOccurs="0"/> <xs:element name="page" nillable="1" minOccurs="0"/> <xs:element name="dataDescription" type="DataDescriptionType"/> <xs:element name="required" type="xs:boolean" minOccurs="0"/> <xs:element name="description" type="xs:string" minOccurs="0"/> <xs:element name="hidden" type="xs:boolean" minOccurs="0"/> </xs:sequence> </xs:complexType> <xs:simpleType name="ownerObjectType"> <xs:restriction base="xs:string"> <xs:pattern value="appaymentrequest|arpayment|invoice|company|userinfo|customer|vendor|journal|glbatch|glentry|arinvoice|arinvoiceitem|apbill|apbillitem|department|location|territory|warehouse|item|glaccount|sodocument|podocument|invdocument|sodocumententry|podocumententry|invdocumententry|aradjustment|aradjustmentitem|apadjustment|apadjustmentitem"/> </xs:restriction> </xs:simpleType> <xs:complexType name="SmartLinksType"> <xs:annotation> <xs:documentation>List of SmartLinks</xs:documentation> </xs:annotation> <xs:sequence maxOccurs="unbounded"> <xs:element name="smartLink" type="SmartLinkType"/> </xs:sequence> </xs:complexType> <xs:complexType name="SmartLinkType"> <xs:annotation> <xs:documentation>SmartLink Definition</xs:documentation> </xs:annotation> <xs:sequence> <xs:element name="smartLinkId" type="xs:string"/> <xs:element name="type"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:pattern value="click|fetch|workflow|validate|calculate"/> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="ownerObject" type="ownerObjectType"/>

129

Page 130: Customization Services

Intacct ERP • Customization Services User Manual

<xs:element name="documentType" type="xs:string" minOccurs="0"/> <xs:element name="label" type="xs:string" minOccurs="0"/> <xs:element name="fieldSet" minOccurs="0"/> <xs:element name="page" type="xs:string" nillable="1" minOccurs="0"/> <xs:element name="events" type="EventsType" minOccurs="0"/> <xs:element name="target" type="xs:string" minOccurs="0"/> <xs:element name="active" type="xs:boolean" minOccurs="0"/> <xs:element name="renderDetails" type="RenderDetailsType"/> <xs:element name="description" type="xs:string" minOccurs="0"/> </xs:sequence> </xs:complexType> <xs:complexType name="CalculateType"> <xs:annotation> <xs:documentation>Definition for Smartlink Calculate</xs:documentation> </xs:annotation> <xs:sequence> <xs:element name="expression"/> </xs:sequence> </xs:complexType> <xs:complexType name="EventsType"> <xs:annotation> <xs:documentation>List of events</xs:documentation> </xs:annotation> <xs:sequence> <xs:element name="event" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> <xs:complexType name="ArgumentsType"> <xs:annotation> <xs:documentation>List of arguments for HTTP(S) post Workflow action</xs:documentation> </xs:annotation> <xs:sequence minOccurs="0" maxOccurs="unbounded"> <xs:element name="argument" type="ArgumentType"/> </xs:sequence> </xs:complexType> <xs:complexType name="ArgumentType"> <xs:annotation> <xs:documentation>HTTP post argument definition</xs:documentation> </xs:annotation> <xs:all> <xs:element name="argument" type="xs:string"/> <xs:element name="value" type="xs:string"/> </xs:all> </xs:complexType> <xs:complexType name="CustomReportsType"> <xs:annotation> <xs:documentation>List of Custom Reports</xs:documentation> </xs:annotation> <xs:sequence maxOccurs="unbounded"> <xs:element name="customReport" type="CustomReportType"/> </xs:sequence> </xs:complexType> <xs:complexType name="CustomReportType"> <xs:annotation> <xs:documentation>Custom Report definition</xs:documentation> </xs:annotation>

130

Page 131: Customization Services

Intacct ERP • Customization Services User Manual

<xs:sequence> <xs:element name="name" type="xs:string"/> <xs:element name="description" type="xs:string" minOccurs="0"/> <xs:element name="type" type="reportType"/> <xs:element name="module" type="moduleType"/> <xs:element name="root" type="xs:string"/> <xs:element name="documentType" type="xs:string" minOccurs="0"/> <xs:element name="columns" type="columnsType"/> <xs:element name="parameters" type="parametersType" minOccurs="0"/> <xs:element name="filter" type="filterType" minOccurs="0"/> <xs:element name="sortby" type="sortbyType" minOccurs="0"/> <xs:element name="groupby" type="groupbyType" minOccurs="0"/> <xs:element name="summary" type="summaryType" minOccurs="0"/> </xs:sequence> </xs:complexType> <xs:complexType name="columnsType"> <xs:sequence> <xs:element name="field" type="fieldType" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> <xs:complexType name="parametersType"> <xs:sequence> <xs:element name="field" type="fieldType" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> <xs:complexType name="sortbyType"> <xs:sequence> <xs:element name="field" type="fieldType" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> <xs:complexType name="groupbyType"> <xs:sequence> <xs:element name="level" type="levelType" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> <xs:complexType name="summaryType"> <xs:sequence> <xs:element name="field" type="fieldType" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> <xs:complexType name="filterType"> <xs:sequence> <xs:element name="expression" type="expressionType" minOccurs="0" maxOccurs="unbounded"/> <xs:element name="logical" type="logicalType" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> <xs:complexType name="expressionType"> <xs:sequence> <xs:element name="path" type="xs:string"/> <xs:element name="operator" type="operatorType"/> <xs:element name="value" type="xs:string"/> </xs:sequence> </xs:complexType> <xs:complexType name="logicalType"> <xs:choice> <xs:sequence>

131

Page 132: Customization Services

Intacct ERP • Customization Services User Manual

<xs:element name="expression" minOccurs="0" maxOccurs="unbounded" type="expressionType"/> <xs:element name="logical" minOccurs="0" maxOccurs="unbounded" type="logicalType"/> </xs:sequence> <!-- Doesn't work with XSD validator on Tomcat, Validating in PHP for now - Fix required <xs:sequence> <xs:element name="expression" maxOccurs="unbounded" type="expressionType"/> <xs:element name="logical" maxOccurs="unbounded" type="logicalType"/> </xs:sequence> <xs:sequence> <xs:element name="expression" type="expressionType"/> <xs:element name="expression" type="expressionType"/> <xs:element name="expression" minOccurs="0" maxOccurs="unbounded" type="expressionType"/> </xs:sequence> <xs:sequence> <xs:element name="logical" type="logicalType"/> <xs:element name="logical" type="logicalType"/> <xs:element name="logical" minOccurs="0" maxOccurs="unbounded" type="logicalType"/> </xs:sequence> --> </xs:choice> <xs:attribute name="logical_operator" type="logicaloperatorType"/> </xs:complexType> <xs:complexType name="fieldType"> <xs:sequence> <xs:element name="path" type="xs:string"/> <xs:element name="label" type="xs:string" minOccurs="0"/> <xs:element name="promptOnRun" type="promptOnRunType" minOccurs="0"/> <xs:element name="fieldSet" type="xs:string" minOccurs="0"/> <xs:element name="direction" type="directionType" minOccurs="0"/> <xs:element name="function" type="functionType" minOccurs="0"> </xs:element> </xs:sequence> </xs:complexType> <xs:complexType name="levelType"> <xs:sequence> <xs:element name="group" type="groupType"/> <xs:element name="summary" type="summaryType"/> </xs:sequence> </xs:complexType> <xs:simpleType name="promptOnRunType"> <xs:restriction base="xs:string"> <xs:pattern value="Y|N"/> </xs:restriction> </xs:simpleType> <xs:complexType name="groupType"> <xs:sequence> <xs:element name="field" type="fieldType" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> <xs:simpleType name="reportType"> <xs:restriction base="xs:string"> <xs:pattern value="tabular|summary"/> </xs:restriction> </xs:simpleType> <xs:simpleType name="moduleType"> <xs:restriction base="xs:string">

132

Page 133: Customization Services

Intacct ERP • Customization Services User Manual

<xs:pattern value="gl|ap|ar|cm|ee|so|po|inv"/> </xs:restriction> </xs:simpleType> <xs:simpleType name="directionType"> <xs:restriction base="xs:string"> <xs:pattern value="asc|desc"/> </xs:restriction> </xs:simpleType> <xs:simpleType name="functionType"> <xs:restriction base="xs:string"> <xs:pattern value="sum|avg|stddev|variance|count|max|min"/> </xs:restriction> </xs:simpleType> <xs:simpleType name="operatorType"> <xs:restriction base="xs:string"> <xs:pattern value="eq|lt|gt|le|ge|ne|co|nc|sw|ew|in|ex"/> </xs:restriction> </xs:simpleType> <xs:simpleType name="logicaloperatorType"> <xs:restriction base="xs:string"> <xs:pattern value="and|or"/> </xs:restriction> </xs:simpleType> </xs:schema>

133

Page 134: Customization Services

Intacct ERP • Customization Services User Manual

134

Index