Today, we take a look “under the hood” at Intacct Custom Fields. The purpose here is not to explain exactly how to use Intacct’s custom fields feature, which is made available to client companies who subscribe to Customization Services. Rather, we hope to give you information that is either not always apparent or at least not easy to find in the documentation…or may be missing entirely!
Custom Fields allow the addition of at least 25 user-defined fields to certain data objects in Intacct. Not all data objects can be extended with Custom Fields, but most can. Three objects allow for 100 user defined fields, and those are Customer, Vendor and Item. These fields can be defined as 13 different data types, such as Date, Currency, Percent, and ten others:
But, this overview does not qualify as “under the hood” information. Let’s get right to that!
Custom fields appear on forms or on custom tabs in the order they are added, and this order cannot be adjusted except in certain cases, which will be explained later.
Best practice: define the layout of custom fields on paper before creating the first field!
Custom Tabs can easily be created, and Custom Fields can be assigned to appear in a Custom Tab. Custom Tabs cannot be deleted but disappear when the number of assigned Custom Fields is zero. Intacct calls Custom Tabs by another name, and that name is Field Set:
The documentation says Currency and Number data types present differently. That is, the Currency data type is supposed to be presented on the UI with a leading “$” sign. There is not, in fact, any difference in the presentation of the two data types. In fact, they behave the same in every respect.
Date data type Custom Fields inherit the same keyboard shortcuts that out-of-the-box date fields have. For instance, typing “H” in a date field will fill that field with the last date of the current month in both out of the box and user defined date fields. We’ve include a complete list of date field shortcuts at the bottom of this blog entry to entice you to stick with us!
Email data type Custom Fields enforce minimal validation in hopes of ensuring that what is entered is actually an email address. Specifically, the program checks to see if at least one “@“ field is entered and at least one “.” follows the “@“ field. That’s minimal validation because the following non-functional email address would be allowed: brian@email@example.com
Percent data type fields are actually stored as integers, and these integers are actually stored as text. More will be said on this later. The point here is that 10% is not stored as .10 but actually as 10. It is presented as 10%.
It is now later, so more will be said on numbers being stored as text. In fact, values stored in Number type Custom Fields are stored as text and not floating point numbers. The reason for this is to eliminate rounding errors when those numbers are used in calculations.
Picklist option labels can be changed after the fact but all changes are not reflected in stored values. This causes problems because the stored values are the labels themselves and not a database pointer to the option labels. So, this can cause issues to unsuspecting users later.
Best practice: define the pick list options thoughtfully before creating the field
Sequencer data field type definitions include a data length parameter. What happens when a sequencer custom field with a data length of 3 exceeds 999? Nothing, as the data length actually defines the number of leading zeroes required and not the actual width of the data field. So, the number stored after 999 would be 1000 if the data length were 3, 1000 if the data length were 4, and 01000 if the data length were 5. You get it. And, leading zeroes are important for presentation, as they control the sort order in which the values appear in a list. And, I guess that by now it goes without saying that the values are stored as text and not numbers.
Text fields, when defined as Custom Fields, can contain a maximum of 4,000 characters. Or, expressed as a sequencer field with a data length of 7, text fields can contain a maximum of 0004000 characters. You won’t find THAT in the documentation!
Custom Fields of the Password data type should be avoided entirely. The program stores their values in the database in plain text. Enough said.
The new Intacct Forms Editor allows the reordering of Custom Fields, however, not all forms can be edited using the new Forms Editor. Those forms that can be edited using the new Forms Editor are those forms that include the Drop Down Shade in the detail section. Thus, one way to identify forms that allow the reordering of Custom Fields is to look for those forms that have a Drop Down Shade in the detail section.
If a field needs to propagate throughout the steps in a Transaction Definition Workflow (a collection of Transaction Definitions), then the field must be added to subsequent Transaction Definitions using the Duplicate function. In other words, if I want a value entered into a Custom Field on the SO header to display in that same Custom Field on the SI header after conversion, I must add that field to the SI header using the Duplicate function. This powerful capability makes that fact worth remembering.
That’s an “under the hood” look at Intacct’s Custom Fields. For more information on this or other Intacct features, please do not hesitate to request a free consultation!
Date field shortcut keys
|y||first day of the current year|
|r||last day of the current year|
|m||first day of the current month|
|h||last day of the current month|
|w||first day of the current week|
|k||last day of the current week|
|8||August, current day, current year|
|/15||current month, 15th day, current year|
|+||today plus one day|
|-||today minus one day|