2023 Release 4 2023-10-14
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:
- The bill must be in Submitted state.
- The user must have Edit permission for the bill.
When a bill is successfully recalled:
- The bill’s state changes from Submitted to Draft.
- The bill is removed from the Approval History table in the Sage Intacct UI.
- Approvers are notified via email that the bill has been recalled.
- Because the recalled bill is in Draft state, any users with edit permissions can update and resubmit the bill.
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:
S
- SubmittedA
- ApprovedR
- Rejected/Declined
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:
- A multi-entity company was configured to: Limit AP credits to the entity owners.
- The location ID for a credit and the location ID for a bill did not match.
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.
- See
get_accountbalancesbydimensions
for more information.
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:
EXTENDEDPRICENETRETAINAGE
- Shows the taxable amount after deduction of retainage held:TRX_VALUE
-TRX_AMOUNTRETAINED
.EXTENDEDBASEPRICENETRETAINAGE
- Shows the base taxable amount after deduction of retainage held:UIVALUE
-AMOUNTRETAINED
.
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:
GENERATEFOREACH
- Indicates whether to generate rules forAP Bill
orAP payment
. Applies only whenCATEGORY
isLien waiver
. IfCATEGORY
is set toLien waiver
, then a value must be supplied inGENERATEFOREACH
.MINLIENWWAIVERAMOUNT
- Indicates the minimum amount required for a lien waiver to generate. Applies only whenCATEGORY
isLien waiver
.MINPRIMARYDOCAMOUNT
- Indicates the minimum amount required for a primary document to generate. Applies only whenCATEGORY
isLien waiver
.
We made the following changes to the existing Vendor Compliance Definition fields:
CATEGORY
-Lien waiver
is now an option.TRACKBY
-PrimaryDoc
is now an option whenCATEGORY
isLien waiver
.VALIDATIONRULE
-Document received
is now an option whenCATEGORY
isLien waiver
.GENERATERULE
- Now in use to indicate whether to automatically generate compliance records and how to do so when they are generated.COMPDEFENTRIES
- Now in use. Options are:VENDTYPENAME
- The vendor type name to use whenTRACKBY
is set toVendor
.DOCPARID
The transaction definition to use whenTRACKBY
is set toLien waiver
.
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:
COMPLIANCETEMPLATE
- Used when the compliance category is Lien waiver. The document template for printing compliance records.FINALCOMPLIANCETEMPLATE
- Used when the compliance category is Lien waiver. The document template for printing final compliance records.
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.
VENDORNAME
- The vendor name related to the compliance record.DOCPARID
- The ID to relate this record to Purchasing.PRIMARYDOCKEY
- The primary document key that relates the record to the Vendor Compliance Definition viaTRACKBY
ifCATEGORY
isLien waiver
.PRIMARYDOCID
- The primary document ID that relates the record to the Vendor Compliance Definition viaTRACKBY
ifCATEGORY
isLien waiver
.APBILLNO
- TheAPBILL
number to associate to a record. Note that Lien waivers are voided automatically if an AP bill is deleted.APBILLKEY
- TheAPBILL
key to associate the record to a bill.APPAYMENTKEY
- TheAPPAYMENT
key to associate the record to a payment.COMPLIANCETEMPLATE
- The printed document template used for this record ifCATEGORY
isLien waiver
. Records created from the compliance type are prefilled with the selected templates.FINALCOMPLIANCETEMPLATE
- TheFINALCOMPLIANCETEMPLATE
selected in Vendor Compliance Types ifCATEGORY
isLien waiver
.VOIDED
- Boolean to indicate whether the record is void. Options aretrue
orfalse
(default).FINALCOMPLIANCE
- Boolean to indicate whether the compliance record is finalized. Options aretrue
orfalse
(default).SENDTOCONTACTKEY
- The key that relates the record to the contact recipient of the docs.SENDTOCONTACTNAME
- The contact name associated with the record and related toSENDTOCONTACTKEY
.RECEIVEDBYNAME
- The name of the employee who received the compliance record.
COMPLIANCESENDTO
:
EMAIL1
- The primary email address to send compliance-related lien waiver correspondence to.EMAIL2
- The secondary email address to send compliance-related lien waiver correspondence to.FIRSTNAME
- The first name of the contact to send compliance-related lien waver correspondence to.LASTNAME
- The last name of the contact to send compliance-related lien waver correspondence to.CONTACTNAME
- The contact name.PREFIX
- The prefix to use for the contact.INITIAL
- The contact name middle initial.COMPANYNAME
- The company name to use for the contact.PRINTAS
- Print as.PHONE1
- Primary phone number to use for the contact.PHONE2
- Secondary phone number to use for the contact.CELLPHONE
- Cellular phone number to use for the contact.PAGER
- Pager number to use for the contact.FAX
- Fax number to use for the contact.URL1
- The primary URL to use for the contact.URL2
- The secondary URL to use for the contact.VISIBLE
- Indicates whether the contact mailing and email information are visible.
COMPLIANCESENDTO.MAILADDRESS
ADDRESS1
- Address line 1 of the contact.ADDRESS2
- Address line 2 of the contact.CITY
- City of the contact.STATE
- State of the contact.ZIP
- Zip/postal code of the contact.COUNTRY
- Country of the contact.COUNTRYCODE
- Country code of the contact.
We also made the following changes to existing Vendor Compliance Record fields:
CATEGORY
-Lien waiver
can now be returned as an option.
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:
2023 Release 3 2023-07-24
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:
- Do not include
CUSTOMERID
in the header of theARPYMT
request. - Instead, pass the new
PAYERNAME
field in the header of theARPYMT
request. This field should contain the name of the payer who is paying the invoices on behalf of multiple customers. - Then include the payment details for each customer.
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:
- The
RECORDTYPE
field returns a value ofrl
. - Several header level tags are blank, including:
CUSTOMERRECORDNO
,CUSTOMERID
,CUSTOMERNAME
,ARPYMTENTRIES
. - Payment details include a new system-generated field,
MULTIENTITYPYMTKEY
, that contains the record number of the parent record when payment for multiple customers has been received.
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.
2023 Release 2 2023-04-17
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.
- Access insights into your API usage across companies to help you optimize and tune your applications for efficiency gains.
- A central location for other developer-related enhancements and services that are planned for the near future.
- Access the new portal today at developer.sage.com/intacct.
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
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:
<reversepriceconverted>
<reverseqtyconverted>
<stdpriceconverted>
<stdqtyconverted>
<sourcedocid>
<sourcedoclineid>
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.
- Set the new
WIPEXCLUDE
field inPROJECTCONTRACT
objects totrue
to mark the contract as a template, which will exclude it from forecasting. - Set the new
GLEXCLUDE
field inPROJECTCONTRACTLINE
objects totrue
to exclude all values for the project contract line from posting to a GL budget, including any linked change request entries.
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:
- Derive the billable amount of a project contract line from actual T&M expenses.
- Bill multiple expenses to a single project contract line.
- Summarize multiple expenses on the generated OE invoice as a single line instead of listing each billed expense line individually on the invoice document.
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:
- The OE
SODocumentEntry
object includes a newISSUMMARIZED
field when the project is set to project contract billing. The field is read-only and cannot be set or updated from within OE. The equivalent 2.1 change is theissummarized
field in thesotransitem
object. - The AR
ARINVOICE
object also include a newISSUMMARIZED
field when the AR invoice entry is created from an OE invoice for project contract billing. The field is read-only and cannot be set or updated from within AR.
See the SUMMARIZEBILL
parameter for the following:
2023 Release 1 2023-01-23
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.
- New budgets can be marked for the exclusive use of project contracts.
- Project contracts can be configured to post to different budgets depending on the workflow type of project contract line entries, and to budget periods based on contract dates, line dates, or entry effective dates.
- Budget details are automatically created and updated whenever contract changes are made.
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:
RETAINAGEBILLED
(read only)RETAINAGEBALANCE
(read only)RETAINAGEHELD
(read only)TOTALNETDUE
(read only)
For project contract lines:
ISRETAINAGERELEASE
RETAINAGETOBILL
(read only)RETAINAGEBALANCE
(read only)
See the Create Order Entry Transaction and Update Order Entry Transaction requests for additional information.
2022 Release 4 2022-10-21
This release went live on the evening of November 11, 2022.
There are no functional changes to the Intacct XML API in 2022 R4.