This release is scheduled to go live on the evening of November 22, 2019 Pacific Time.

General Ledger

Organize account groups by purpose

You can now define purposes for account groups so that you can more easily build financial reports. Account group purposes are also available for filtering in lists.

You can work with account group purposes as follows:

You can specify account group purposes when creating and updating account groups. See the GLACCTGRPPURPOSEID parameter on the following:

Specify managers for account groups

When creating or updating account groups, you can use the new ACCTGROUPMANAGER parameter to designate a person to be consulted if changes are made to the account group. This is a free form field not tied to users—you can provide a partner name or any other name.

For more information:

Enhanced transaction allocations

New allocation method

You can now create transaction allocations that use a combination of fixed amounts and percentages. The new Fixed amount with over/under logic choice for the TYPE parameter lets you distribute fixed amounts first, in the order they occur in the transaction allocation definition, then apply any remaining amounts specified as percentages. Entries for absolute values must come before percentages, and percentages must always total to 100%. You use the new VALUETYPE parameter to identify whether each entry is an Amount or a Percent.

See the TYPE and VALUETYPE parameters on the following:

Flexible dimension assignment

When creating transactions, you can now specify dimensions that are not already included in the transaction allocation definition on the transaction entry. The single value for the dimension is applied across all allocated lines.

Important: Prior to 2019 Release 4, a transaction that included an allocation ID and dimension(s) for an entry always resulted in an error. Now there is no error as long as the allocation definition does not already include the separately specified dimension(s).

Accounts Receivable

New AR Payment object

New companies can use the new ARPYMT object to record payments against AR invoices or debit memos. The new object lets you apply credits/discounts/advances at the line level through one or more payment detail (ARPYMTDETAIL) objects. You can even apply multiple credits to the same line by providing multiple payment details for that single line. Finally, you can apply credits or discounts from a different invoice (for the same customer) on the current invoice.

Important: Starting with this release, all new companies will be configured to use the new AR payment object. Companies created before 2019-04 can use the new object after filing a case with Customer Support. Existing companies continue to use the ARPAYMENT object for the current release.

The new payment object does not currently support creating advances—continue to use the legacy apply_arpayment function for that purpose.

When an ARPYMT does not cover the total balance, invoice lines are paid in full, starting with the first line and continuing down the list until the payment amount is used. This is known as the waterfall method, and it means that you should list any high priority payments first in invoices/debit memos.

In the past, a partial payment was distributed across multiple lines instead of using the waterfall method. For multi-entity companies with inter-entity payments, the waterfall method can reduce the number of inter-entity transactions simply by not touching every line.

if you create a payment using the legacy create_arpayment function, the resulting record will be an ARPYMT object, not an ARPAYMENT object. The existing ARPAYMENT object is still available for backwards compatibility (and to support creating advances), but it does not allow for line level credits/discounts.

Smart Events, Smart Rules, and Smart Links can be used on the new ARPYMT object.

Accounts Payable

Legacy create_paymentrequest now creates APPYMT object

To coordinate with the retirement of the Select bills to pay functionality in the UI, the create_paymentrequest function now creates an instance of the new payment object, APPYMT, instead of an instance of the legacy APPAYMENT object as in previous releases. With this comes a new distribution method called waterfall—lines are paid in full, starting with the first line and continuing down until the payment amount is used.

Any Smart Events, Smart Rules, or Smart Links on the legacy APPAYMENT payment object were migrated to the new APPYMT object for this release, but you need to verify these changes as described below.


Generate invoices by project

Prior to this release, you had to set filters and create multiple contract invoice runs in order to create separate invoices for each project associated with a contract. You can now use the INVOICEBY parameter to generate separate invoices for each project.

See the INVOICEBY parameter on the following:

Project and resource management

Project tasks available on transactions

Starting with this release, you can provide a task ID along with the parent project when creating and updating various transactions using the API. This let’s you report on projects at a more granular, task level.

See the task ID parameter on the following:

Inventory Control

More comprehensive inventory totals tracking

You now have visibility into all the inventory totals your organization uses, including onhand, onhold, onorder, damaged, requisitioned, scrap/spoilage, or custom totals. For example, at the end of each month, warehouse managers can now report on inventory that was dispositioned as damaged, lost, or scrapped.

For more information:

More precise date tracking

More precise date tracking for order management is now available. Instead of creating custom fields for more detailed tracking, you can enable a new configuration option (Enable shipping dates in Purchasing and Order Entry) to increase the number of shipping date fields available.

New fields for tracking numbers and customer PO numbers are also available on Order Entry transactions.

Purchasing transaction functions

New Purchasing header fields

  • needbydate
  • donotshipbeforedate
  • donotshipafterdate
  • promiseddate
  • contractstartdate
  • contractenddate
  • cancelafterdate

New Purchasing line-level fields

  • needbydate
  • donotshipbeforedate
  • donotshipafterdate
  • promiseddate
  • dateconfirmed
  • cancelafterdate
  • dateshiptosupplier

Order Entry transaction functions

New Order Entry header fields

  • needbydate
  • cancelafterdate
  • donotshipbeforedate
  • donotshipafterdate
  • servicedeliverydate
  • trackingnumber
  • customerponumber

New Order Entry line-level fields

  • needbydate
  • shipby
  • donotshipbeforedate
  • donotshipafterdate
  • datepickticketprinted
  • cancelafterdate

Support for integrated scanner label printing

After enabling a new configuration option (Integrated scanner product in use), you can use the new AUTOPRINTLABEL parameter for inventory items as part of your process to trigger an integrated third-party tool that creates scanner labels.

DDS enhancements

You can now run multiple DDS jobs from the same runDdsJob function. The jobs must be of the same job type—either get all records or get the changed records only.

You can also run a set of synchronous DDS jobs for changed records for up to five objects. Synchronous jobs can help avoid reporting gaps because each job has the same starting timestamp.

For more information:

Individual asynchronous DDS jobs are supported as before.

Customization and Platform Services

Content security policy enforced by default

All new companies are now configured with the content security policy enforced by default. As a result of this change, any Customization Services package or Platform Services application that requires outside resources, such JavaScripts or images, require that their resource domains be allowed via the company content security policy.

Sage Intacct is moving towards enforcing content security policy in all companies, instead of just turning it on by default.

See content security policy in the Sage Intacct product help for more information.

Customization Services in Action UI

With this release, Customization Services can take on the modern look and feel of the Action UI. You can switch to the new UI by choosing Action UI as the Layout type in your personal preferences in the Action UI; see Personal preferences in the Sage Intacct product help for more information.

You will see the enhanced UI in pages for working with Smartlinks, Smart Events, Smart Rules, and custom reports. You will also see the new UI in Platform applications installed in your company.

We encourage you to turn on the Action UI now to enjoy the improved experience before Action becomes the default for Customization and Platform Services in a future release.

Smart Event job history enhancements

When viewing the history of Smart Events that ran in a company, you can now click the name of the record that triggered the Smart Event to open it.

The retirement of the Select to pay functionality in AP corresponds with the retirement of the underlying legacy object, APPAYMENT. When you work with AP payments in the UI or via Web Services APIs, you only create and access APPYMT objects from now on.

Any Smart Events, Smart Rules, or Smart Links on the legacy APPAYMENT object have been migrated to the new APPYMT object as part of this release. This should be seamless, but we recommend that you take action to avoid any potential issues.

Important: Check any relevant Smart Events, Smart Rules, or Smart Links to confirm the migration was successful. Also, you may have older Smart Events, Smart Rules, or Smart Links that were not working in previous releases that may be activated by the migration to the new object.

Platform Services in Action UI

With this release, Platform Services applications can take on the modern look and feel of the Action UI. Platform users and developers can enable the new UI by choosing Action UI as the Layout type in their personal preferences; see Personal preferences in the Sage Intacct product help for more information.

Application developers also experience this enhanced UI as they build and update their applications, and users see the new UI when working in Customization Services or when using Platform applications. Note that Platform customizations on standard pages are not affected.

Important: Developers are encouraged to turn on the Action UI now so there is ample time to correct any display issues before Action becomes the default for Platform applications in a future release.

Better browser support in Platform Services

When working with the page editor in Safari and Chrome browsers, error messages about browser support no longer appear.

Cardinality and direction of relationships in Platform Services

As part of a long term effort to improve the performance of relationships and maintain data integrity, we are updating some of our infrastructure.

As a result of these changes, we no longer support the capability of changing the cardinality or direction of an existing relationship. For example, you cannot change a one-to-one relationship to a one-to-many relationship. Instead, delete the relationship and re-add it with the cardinality and direction you want.

This restriction applies when using the UI or when updating platform applications with a new XML file.

Infrastructure Changes

This section includes information about current and upcoming infrastructure changes that may affect developers.

These changes should have minimal impact on your day-to-day work, but you may notice differences related to the changes and you probably need to prepare for upcoming changes.

If you have concerns after reading this section, submit a support case.

Server timezone migrating to UTC

Historically, servers for Sage Intacct applications ran with their operating system in Pacific Standard Time (PST). Moving forward, servers will use Coordinated Universal Time (UTC) with timezone offsets to better support international standards.

In general, developers should not be affected by this change. However, there are situations where this change might cause events to occur earlier or later. For example, this can happen if you have:

  • Scheduled DDS jobs
  • Processes where scheduled CSV reports delivered to cloud storage trigger automation

As before, Sage Intacct uses company locale settings as the primary source for date and time operations in the application.

Note: There are some cases where UTC was exposed prior to the timezone change. For example, this is true for the value returned for session timeout in Web Services API calls: 2019-09-20T11:10:31-07:00

Scheduled offline job execution now tied to company locale

Previously, daily scheduled jobs executed after midnight PST for all companies. Scheduled jobs now execute based on your company locale setting, so these jobs execute closer to midnight for your location.

Data center expansion

Sage Intacct is adding global data centers to support international expansion. You may notice that the Sage Intacct URL subdomain now reflects the instance where company runs.

You continue to use to log in, but after logging in you might see the URL change to,, or something similar.

This change has no impact on the API endpoint, which remains as before.

Note for Platform developers

Platform applications should not include links to Sage Intacct features using absolute or relative URLs. If your Platform application includes a link with an absolute path (such as, it is susceptible to breaking due to data center expansion (or other causes) and should be removed.

Provide feedback