This release went live on the evening of February 16, 2024.


Construction

Enable reverse conversions for non-inventory line items in Order Entry

Only those companies with Construction subscriptions have access to the options to enable reverse conversions. For more information about subscribing to Construction functionality, see Configure Construction.

Use new fields to enable reverse conversions for non-inventory line items in order entry transactions. When reverse conversions are enabled, you can reduce the net amount previously converted for a transaction line item. You can use reverse conversion amounts when creating a transaction (using <create_sotransaction>) or updating a transaction (using <update_sotransaction>) by setting the <reverseconversion> field to true for a transaction line item (<sodocumententry>).

When the <reverseconversion> field is set to true, downstream conversions for that transaction line item must include an amount using the opposite sign (positive or negative) of the upstream document. In addition, when set to true, the <reverseconversion> field requires that the conversion for that line item be the opposite of the upstream document. For example, let’s say that on an OE order, you:

You can convert the order again to add a negative 25 (-25) units for the original converted line of 50. This conversion corrects the original converted unit amount from 50 to 25 and creates the downstream invoice with a credit for that line to the customer.

In addition, when reverse conversions are enabled for Order Entry, several new read-only fields are calculated and returned in <SODOCUMENTENTRY> and <SODOCUMENT> query and list responses:

For more information, see:


Accounts Receivable

Starting with the 2024 R1 release, several changes have been made to the fields and information provided when you use the get_companyprefs function to list Accounts Receivable (AR) preferences.

All AR selectable preferences have a new property exposed that holds the record number. The following example shows the new value for the overpayment account preference:

    <companypref>
        <application>AR</application>
        <preference>OVERPAYMENTKEY</preference>
        <prefvalue>336</prefvalue>
    </companypref>

The preference value, <prefvalue>, for all General Ledger accounts previously included both the account number and account name. Now only the account number for General Ledger accounts is returned as shown in the following example:

    <companypref>
        <application>AR</application>
        <preference>RO_ACCOUNT</preference>
        <prefvalue>7502</prefvalue>
    </companypref>

The preference value, <prefvalue>, for all General Ledger journals previously included both the journal symbol and name. Now only the journal symbol is returned as shown in the following example:

    <companypref>
        <application>AR</application>
        <preference>RI_JOURNAL_A</preference>
        <prefvalue>BAJ</prefvalue>
    </companypref>

In previous releases, the Aging setup was returned with the name and a single set of preference values like so:

    <companypref>
        <application>AR</application>
        <preference>AGP01</preference>
        <prefvalue>0-30, 31-60</prefvalue>
    </companypref>

Now several objects are returned to represent the Aging setup, including the name, record number, module key, and more, as shown in the following example:

    <companypref>
        <application>AR</application>
        <preference>AGINGSETUP.RECORDNO</preference>
        <prefvalue>1</prefvalue>
    </companypref>
    <companypref>
        <application>AR</application>
        <preference>AGINGSETUP.MODULEKEY</preference>
        <prefvalue>0-30, 31-60</prefvalue>
    </companypref>

For more information about the get_companyprefs function, see List Subscription Preferences.


Purchasing

Option not to generate Lien waivers in Vendor Compliance Definitions

The Vendor Compliance feature continues to offer more flexibility. A lien waiver is a document between two parties that states payment is made for work performed or material supplied. You might not want lien waivers with negative amounts, though. Use the new Vendor Compliance Definition field, ALLOWNEGATIVELIENWAIVERS, to indicate your preference.

When using create or update, use true (default) to indicate that lien waivers can be generated with negative amounts, otherwise use false. This value only affects the generation of future lien waiver compliance records and applies when CATEGORY is set to ‘Lien waiver’. If CATEGORY is not set to ‘Lien waiver’ and a value is supplied, an error is returned.

Track Insurance and Miscellaneous compliance records by either Primary document or Vendor.

With this release, you can use a Primary document to track Insurance and Miscellaneous compliance records. Previously, you could only track Insurance and Miscellaneous compliance records by Vendor. The Vendor Compliance Definition’s TRACKBY field description has been updated to reflect this change.

NOTE: To enable the Vendor Compliance subscription, first enable Accounts Payable, Purchasing, and Construction. Vendor compliance is available only for Construction at this time.

For more information, see:


Project Contracts

Project Contract Billing enhancements

New fields have been added to the Accounts Receivable invoice object (ARINVOICE) for better integration with project contract billing:

Contracts

Renewal dates in contract object

A recent release added read-only fields for renewal dates to both the CONTRACT and CONTRACTDETAIL objects.


This release went live on the evening of November 10, 2023.


Accounts Payable

Recall bills

Starting with the 2023 R4 release, submitted AP bills can be recalled using a new recallApBill function. This new function provides a more flexible approval workflow for bills. Now when a bill is submitted and not yet approved or declined, if changes are required due to an error or new information, you can recall the bill, make the necessary updates, and then re-submit the bill.

To successfully recall a bill:

When a bill is successfully recalled:

Note that there are no restrictions on the number of times a bill in Submitted state can be recalled. To learn more about the new recallApBill function, see Recall Bill.

Vendor approvals

Vendor approvals can now be managed using the XML API. Vendor approval adds controls to your vendor creation and update workflow, requiring approval before new and updated vendors can be used in Accounts Payable and Purchasing transactions.

When vendor approval is enabled, existing vendors are automatically approved. From that point on, new and edited vendors are submitted to the Approve Vendor queue after they are created or revised. Designated approvers review the vendor records and either approve or decline them.

The read-only STATE field in the VENDOR object shows the approval state of the vendor. Possible values are:

Several new functions have been added to the XML API to support vendor approvals, including: getVendorsToApprove, approveVendor, declineVendor, and getVendorApprovalHistory. After setting up vendor approval, you can use these new functions to manage approvals. For more information, see Vendor Approvals.

The new getVendorApprovalHistory function returns data about each approval for a specific vendor. That data includes information such as the date that the vendor was approved, whether the vendor is new or was updated, who created or updated the vendor, and who approved the vendor.

For more information about vendor approvals, see these topics in the Sage Intacct Help Center:

Error message generated when applied credits fail

In previous releases, credits used to pay bills were not applied when:

For example, if a credit existed with the LOCATIONID set to San Diego and you attempted to pay two outstanding bill items with that single credit, one with the LOCATIONID set to San Diego and the other with the LOCATIONID set to Atlanta, only the bill item with the San Diego location was paid. And, no error was generated to notify you that the other bill item was not paid.

Now in these scenarios, if location IDs do not match, an error message is generated to notify you that: Payments include one or more credits that are restricted to a different location.


Accounts Receivable

Sage Intacct to change value of state field for existing AR payments

To support an upcoming Accounts Receivable enhancement, Sage Intacct plans to update the STATE field for existing ARPYMT and legacy ARPAYMENT objects with record types of ro (applied AR overpayment) and rp (overpayment). In early 2024, Sage Intacct will change the STATE field for existing ARPYMT and legacy ARPAYMENT objects from a null value to a value of C. The new C value indicates that these existing AR payments are confirmed.

Company

Global transaction security setup

A new AFRSETUP object lets you configure Global Transaction Security, which can be set to prevent users from editing, deleting, or reclassifying transactions posted to the General Ledger. Companies with multiple entities can configure this security at the entity level.

For more information see:

Consolidation

Run consolidations in companies that are multi-tiered or have entities that are partially owned

Beginning with the 2023 R4 release, you can use new ownership structure objects and ownership structure entity objects. The new objects enable companies with multi-tiers or those that are partially owned entities (or both) to run consolidations that reflect the complexity of their companies.

Let’s say that you purchase or sell an entity during a specific period. You can edit your ownership structure to reflect this change. For example, you can include a new entity purchased in February of 2020 in its relevant ownership structure. Consolidations will then include the new entity as of February 2020.

After defining an ownership structure, you can run consolidations for the ownership structure per period. For each consolidation, you can specify a reporting period. Then, you can convert the base currencies used by different entities into a designated base currency for the consolidated data. To learn more about ownership structures, see Ownership Structure workflow.

For more information, see:


Contracts

Recognize sales revenue on contract line invoice

A new field in the contractdetail object allows you to control whether revenue recognition for a contract line is deferred or recognized when the line is posted. When the REV_REC_ON_INVOICE field is set to true, Intacct automatically assigns the “Recognize on revenue” revenue template to both revenue journals. This template indicates there’s no revenue schedule or requirement for the user to post revenue separately.

Later when the contract line is invoiced, Intacct automatically posts the revenue. The contract line’s journal balances will only display unbilled, billed, and paid values for sales revenue and Accounts Receivable.


General Ledger

Option to include period balance details in account balances

You can use the new showperiodbalancedetail option in get_accountbalancesbydimensions requests to obtain details as well as balances. Details in the response include bifurcation of credit, debit, adj-credit, and adj-debit values. The sum of the periodbalancedetail amounts will equal the periodbalance amount.


Inventory

Identify if a kit is enabled for a contract in Items

A kit item is associated with two or more kit component items. Kit component items are the individual products or services that could be sold alone or included in product bundles.

In 2023 R2, we added an enhancement. You can identify when kits are enabled for contracts using the CONTRACTENABLED field for Items. This field is only available for items with the ITEMTYPE field set to kit. When set to true, the item must adhere to restrictions for the kit.

In addition, the ITEMID field in Contract Lines now includes contract-enabled kit items.

For more information, see:


Miscellaneous

3rd row in addresses

All objects that contain mailing addresses now have an optional address3 field to contain a 3rd row of address information when needed. Affected objects are:


Purchasing

Purchasing and Order Entry transactions (Construction only)

New fields show taxable amounts after deduction of retainage

For Construction customers using a VAT or GST tax solution, two new read-only fields in the PODOCUMENTENTRY and SODOCUMENTENTRY objects show taxable amounts after deduction of any retainage held for a Construction contract. The new read-only fields are:

For more information about Construction contracts and retainage, see these topics in the Sage Intacct Help Center:


Lien waiver option is now available in Vendor Compliance

In the previous release, we introduced the Vendor Compliance feature, which allows you to define compliance requirements and types for your vendors. We enhanced the feature and added a lien waiver category to compliance definitions. This enhancement impacts the following objects.

NOTE: To enable the Vendor Compliance subscription, first enable Accounts Payable, Purchasing, and Construction. Vendor compliance is available only for Construction at this time.

Vendor Compliance Definitions

We added three new fields:

We made the following changes to the existing Vendor Compliance Definition fields:

The create and update functions include the new fields and new values for existing fields. The delete function is not affected by the Vendor Compliance Definition updates.

The read, readbyname, query, readbyquery, and lookup responses now include the new fields and new values for existing fields.

Vendor Compliance Types

We added two new fields:

The create, update, and delete functions are not affected by the Vendor Compliance Type updates.

The read, readbyname, query, readbyquery, and lookup responses now include the new fields.

Vendor Compliance Records

We added 38 new fields:

NOTE: Only FINALCOMPLIANCE and SENDTOCONTACTNAME have user-supplied values. The rest of the new fields are read-only.

COMPLIANCESENDTO:

COMPLIANCESENDTO.MAILADDRESS

We also made the following changes to existing Vendor Compliance Record fields:

The delete function is not affected by the Vendor Compliance Record updates.

The create function returns an error if fields applicable to lien waivers have values when CATEGORY is not Lien waiver.

The update function returns an error if fields applicable to lien waivers have values when CATEGORY is not Lien waiver. The call can optionally contain FINALCOMPLIANCE and SENDTOCONTACTNAME.

The read, readbyname, query, readbyquery, and lookup responses now include the new fields and new values for existing fields.

For more information, see:



This release went live on the evening of August 18, 2023.


Purchasing

Define requirements for vendors to ensure compliance

The 2023 R3 release introduces a feature in which you can define vendor compliance requirements and validate that vendors have provided required documents. For example, you might require contractors to have adequate liability insurance or a specific license. In R3 you can define compliance requirements in the insurance and miscellaneous categories, specify whether to validate by document or expiration date, and optionally prevent bill payments to out-of-compliance vendors. You create compliance records to apply your requirements to specified vendors and track their compliance.

NOTE: To enable the Vendor Compliance subscription, first enable Accounts Payable, Purchasing, and Construction. Vendor compliance is available only for Construction at this time.

For more information, see:


Accounts Receivable

Single payments for multiple customers — Early Adopter

The 2023 R3 release introduces a new early adopter feature: the ability to receive payments for multiple customers in a single request. You can use this feature at times when you need to receive a single payment, but apply the payment to invoices that belong to different customers. For example, when an insurance company submits a single payment for multiple patients at a facility. To learn more about this feature, see Receive a payment for multiple customers. If you would like to consider being an early adopter of this capability, contact Customer Support.

After this feature is enabled and set up, you can create an ARPYMT to receive payments for multiple customers in a single request as follows:

For more information, see Create AR Payment.

When you read an ARPYMT as described in Get AR Payment and that AR payment includes payments for multiple customers:

Document sequencing

Starting with 2023 R3, you can establish the sequence number for your Accounts Receivable payment documents. To learn more about how to set up Document Sequencing, see Configure Accounts Receivable.

If Document Sequencing is enabled, when you read an ARPYMT as described in Get AR Payment, the RECORDID field in the payment details contains the document number based on the sequence you established. If Document Sequencing is not enabled, the RECORDID field in the payment details does not contain a value.

New field to designate an existing summary for AR advances

With the 2023 R3 release, you can now post an AR advance to an existing summary using the PRBATCH field or the new PRBATCHKEY field. See Create AR Advance and Update AR Advance for more information.


Accounts Payable

Vendor approvals

A new read-only STATE field in the VENDOR object shows the approval state of the vendor. Possible values are A (approved) and S (submitted). Vendors in submitted state cannot be paid until approved.


This release went live on the evening of May 12, 2023.


New Developer Portal

Sage has launched a new developer portal to centralize access to developer tools and let you view detailed information on your API usage.

API Framework

en-US is the default locale

The Intacct XML API uses en-US as the default locale and does not support content negotiation.

Show additional error info

The <control> element in XML API requests now accepts an optional <showadditionalerrorinfo> element that you can use to request more error information in responses to failed requests. Error responses remain the same if this element is set to false or not included in the element. New fields in error responses will be null if additional error information is not available.


Construction

Enable reverse conversions for non-inventory line items in Purchasing transactions

Only those companies with Construction subscriptions have access to the options to enable reverse conversions. For more information about subscribing to Construction functionality, see Configure Construction.

New fields are available that allow you to enable reverse conversions to non-inventory line items in purchasing transactions. When reverse conversions are enabled, you can reduce the net amount previously converted for a transaction line item.

If you want to enable reverse conversions for non-inventory line items in purchasing transactions, activate the Enable conversion reversals for non-inventory items option during Purchasing configuration. When this option is enabled, you can also choose whether to include fully converted lines on a new document during conversion and whether to prefill the conversion amount to zero. See Configure Purchasing for detailed information about these Construction configuration options.

When reverse conversions are enabled for Purchasing, you can enable reverse conversions when creating a transaction (using <create_potransaction>) or updating a transaction (using <update_potransaction>) by setting the new <reverseconversion> field to true for a transaction line item (<potransitem>).

When the new <reverseconversion> field is set to true, downstream conversions for that transaction line item must have a price or quantity (based on conversion type) with the opposite sign (positive or negative) of the upstream document. When set to true, the <reverseconversion> field requires the conversion for that line item to be opposite of the upstream document.

For example, if the upstream document is a purchase order for 100 dollars, all downstream conversions are also required to be positive (+). The exception is line items that have the <reverseconversion> field set to true, which are required to be opposite of the upstream document, or negative (-), in the case of this example. A negative conversion in this example case would allow you to reduce the previously converted amount of a purchase order line item.

When reverse conversions are enabled for Purchasing and for a transaction line item, several new read-only fields can be calculated and returned in <potransaction> and <potransitem> query and list responses:

For more information, see:

Exclude project contracts and project contract lines from forecasting and reporting

Boolean fields have been added to PROJECTCONTRACT and PROJECTCONTRACTLINE objects so that they can be marked as templates and not included in forecasting and budgeting.

These fields can be set with the <create> and <update> operations described on the Project Contracts page.

AR invoices and AP bills flagged as retainage release

A Boolean field has been added to ARINVOICE and APBILL to identify when an invoice or bill is a retainage release. The RETAINAGERELEASE field cannot be set via the API, but is visible in read and inspect responses. You can also use query to find all invoices or bills that are marked as retainage release.

Summary billing for T&M projects

Release 2 of 2023 includes summary billing capability for Time & Materials projects:

The PROJECTCONTRACTLINE object now has a SUMMARIZEBILL field that enables summary billing for T&M projects. When enabled, users can go through Project Generate Invoice and invoice by contract, assigning T&M expenses to a summary line. The billing output for the line will go to a single OE invoice line. The Extended price for this line will be the sum of all the billed expenses associated to this project contract line. All related expenses will still be marked as billed.

Billing dimensions and other values on the summarized line on the OE invoice are set based on the billing dimension values from the project contract line Dimension section.

Deleting an invoice with summary billing triggers a rollback of the billing of the related expenses.

Summary billing is reflected in OE and AR transactions:

See the SUMMARIZEBILL parameter for the following:



This release went live on the evening of February 17, 2023.


Web services

Long decimal values in transactions will be rounded to two decimal places

Currency (amount) values with more than 2 decimal places will be rounded to 2 decimal places to prevent data issues. Best practice is for client applications to round long decimal numbers to 2 decimal places before sending them to Intacct.

Intacct rounds numbers ending in 5 away from zero. Positive numbers ending in 5 are rounded up, and negative numbers ending in 5 are rounded down. For example, 1.005 becomes 1.01, and -1.005 becomes -1.01.

General ledger

Option to include credit and debit totals in trial balance report

A debitcreditbalance option has been added to the get_trialbalance request to include debit and credit totals for account opening and closing balances. See Trial Balances for more information and example usage.

Construction

Create GL budget details automatically from project contracts

The 2023 R1 release introduces the ability to have project contract lines and line entries post to general ledger budgets, which automates the creation of budget details to track project contracts.

For more information, see create and update requests for Project Contracts.

Include project contract ID and project contract line ID when creating or updating project change orders

You can now include PROJECTCONTRACTID and PROJECTCONTRACTLIINEID in the payload when creating or updating a Project Change Order, regardless of the state of the change order.

Create a project contract release retainage billing invoice against project contact lines

New retainage billing fields allow you to create a project contract release retainage billing invoice in order entry from project contract lines. You can indicate that a line is a retainage release, the amount to bill, and the remaining retainage balance. Additionally, all responses to read operations on project contracts and project contract lines include retainage information, and retainage fields can be used in queries.

For project contracts:

For project contract lines:

See the Create Order Entry Transaction and Update Order Entry Transaction requests for additional information.