ActivityHD Release 9.4
System-wide
-
Column filters
HD views for entities which allow attachments now include an "Attachment Name" column filter on the Attachments column.
-
Database errors
In ActivityHD version 8.47-0, error messages were improved for database UNIQUE KEY errors. The actual database constraint error was moved to a detail section which is hidden by default.
Now the user-friendly messages have been improved so that duplicate key values are now shown.
-
Record locks
The following record types have defined metadata within the ActivityHD System or company. Locks are held on these types of records to prevent changes which could potentially introduce conflicts (e.g., when modifying attribute usage settings while actively editing an invoice).
- Custom data folders
- GL attributes
- GL segments
- GL rollups
Until this release, locks were held even when a user had merely navigated to a folder with an HD view that was affected by these records (e.g., the Invoices HD view). This is no longer the case. Instead of holding locks when a user visits such an HD view, the HD view is automatically refreshed if metadata changes are made which affect it. Still, these types of changes should be made judiciously to avoid interfering with the work of others; for example, performing actions that could cause a user to lose selected rows in an HD view. Note that locks are still held when users open records or run reports and processes.
This change was made to make it easier for users to make necessary changes, such as modifying attribute usage settings, without having to ask other users to disconnect from ActivityHD. Users can now simply be asked to close any open records, reports, or processes.
Note
Financial views are an exception to this change. Locks are still held on financial view records when a user visits a financial view folder.
-
View Options
The New View Options feature allows multiple "Personal" or "Shared" view option settings per folder. Now any new default columns are automatically added to views when using New View Options. This was already the default behavior when NOT using New View Options.
This new feature takes effect for view options the first time they are saved with this new feature. This behavior is due to the technical need to explicitly save the default columns which are intentionally hidden.
In addition, this change removes the New columns automatically visible checkbox which could be problematic when large numbers of optional columns were added to various folders.
Accounts Payable
-
ActivityHD Automation Services (AAS)
PrepareRecords2, CreateRecords2, and CreateTransmissions2 automation methods have been introduced for the IAP1099GenerateProcess interface. The new methods provide all return values in a "result" object that can be accessed by the following JavaScript macro scripting engines: JScript, JScript9, JScript (Chakra), V8Script.
In the past, VBScript was the only scripting engine which could access the values returned in OUTPUT parameters by the IAP1099GenerateProcess.PrepareRecords, IAP1099GenerateProcess.CreateRecords, and IAP1099GenerateProcess.CreateTransmissions methods since JavaScript engines cannot access values returned in OUTPUT parameters.
The existing PrepareRecords, CreateRecords, and CreateTransmissions methods are now deprecated, but are retained for backward compatibility. New macros should use the new PrepareRecords2, CreateRecords2, and CreateTransmissions2 methods which work for both VBScript and the listed JavaScript scripting engines. When you explore the IAP1099GenerateProcess interface, this is what you'll see:
PrepareRecords property
PrepareRecords2 property
CreateRecords property
CreateRecords2 property
CreateTransmissions property
CreateTransmissions2 property
The next interfaces in the object browser are IAP1099GenerateProcess_CreateRecordsResult, IAP1099GenerateProcess_CreateTransmissionsResult, and IAP1099GenerateProcess_PrepareRecordsResult. Their properties look like this:
IAP1099GenerateProcess_CreateRecordsResult properties
IAP1099GenerateProcess_CreateTransmissionsResult properties
IAP1099GenerateProcess_PrepareRecordsResult properties
Accounts Receivable
-
ActivityHD Automation Services (AAS)
The GenerateStatements2 automation method is now available for the IARStatementsGenerateProcess interface. GenerateStatements2 provides all return values in a result object which can be accessed by these JavaScript macro scripting engines: JScript, JScript9, JScript (Chakra), V8Script.
Since IARStatementsGenerateProcess.GenerateStatements returns values in OUTPUT parameters, VBScript was the only scripting engine that could access those values in the past. JavaScript engines cannot access values returned in OUTPUT parameters.
The GenerateStatements automation method is being retained for backward compatibility but it is deprecated. New macros should use GenerateStatements2 which works for both VBScript and JavaScript macro engines. When you explore the IARStatementsGenerateProcess interface in the Activity Bot Editor, this is what you see:
GenerateStatements method
GenerateStatements2 method
The next interface in the object browser is IARStatementsGenerateProcess_GenerateStatementsResult. Its properties look like this:
-
ActivityHD Automation Services (AAS)
The PrintStatements2 automation method is now available for the IARStatementsGenerateProcess interface. PrintStatements2 provides all return values in a result object which can be accessed by these JavaScript macro scripting engines: JScript, JScript9, JScript (Chakra), V8Script.
Since IARStatementsGenerateProcess.PrintStatements returns values in OUTPUT parameters, VBScript was the only scripting engine that could access those values in the past. JavaScript engines cannot access values returned in OUTPUT parameters.
The PrintStatements automation method is being retained for backward compatibility but it is deprecated. New macros should use PrintStatements2 which works for both VBScript and JavaScript macro engines. When you explore the IARStatementsGenerateProcess interface in the Activity Bot Editor, this is what you see:
PrintStatements method
PrintStatements2 method
The next interface in the object browser after IARStatementsGenerateProcess_GenerateStatementsResult is IARStatementsGenerateProcess_PrintStatementsResult. Its properties look like this:
Fixed Assets
-
Assets
Fixed Assets > Assets
A new built-in filter called "Retired Assets with Net Book Value" has been introduced on the Assets HD view. The filter returns assets which are fully retired but are still calculating a non-zero net book value.
General Ledger
-
ActivityHD Automation Services (AAS)
ValidateAccounts2 and ValidateItems2 automation methods have been introduced for the IFinancialCalculator interface. The new methods provide all return values in a "result" object that can be accessed by the following JavaScript macro scripting engines: JScript, JScript9, JScript (Chakra), V8Script.
In the past, VBScript was the only scripting engine which could access the values returned in OUTPUT parameters by the IGLFinancialCalculator.ValidateAccounts and IGLFinancialCalculator.ValidateItems methods since JavaScript engines cannot access values returned in OUTPUT parameters.
The existing ValidateAccounts and ValidateItems methods are now deprecated, but are retained for backward compatibility. New macros should use the new ValidateAccounts2 and ValidateItems2 methods which work for both VBScript and the listed JavaScript scripting engines. When you explore the IGLFinancialCalculator interface, this is what you'll see:
ValidateAccounts property
ValidateAccounts2 property
ValidateItems property
ValidateItems2 property
The IFinancialCalculator_ValidateAccountsResult and IFinancialCalculator_ValidateItemsResult interfaces appear immediately below the IFinancialAmount interface in the object browser. Their properties look like this:
IFinancialCalculator_ValidateAccountsResult properties
IFinancialCalculator_ValidateItemsResult properties
-
Attributes
General Ledger > Setup > Attributes
The display format for attribute sort options has been improved:
- Code-Description formats display as <Code> - <Description>
- Description-Code formats display as <Description> (<Code>)
-
Excel add-in
In the past, memory corruption issues could be introduced when creating a new financial design Excel workbook. This issue has only been observed internally; however, it is possible for the problem to occur at customer sites with or without evincing any actual problems.
The potential issue has been resolved by changing the mechanism ActivityHD uses to access the Excel application object when creating a new Excel workbook file.
-
Financial View Report
General Ledger > Financial Views > [select a financial view] > [right-click] > Select and Report > Financial View Report - <View Name>
Financial View Report wizards now include a Sorting tab which allows users to select sorting options, page break level, and subtotal level.
Financial views set up with the "Report on Accounts" option selected in the Segments field, provide sorting options for all segment-level and account-level rollups. Otherwise, sorting options are provided for segments, rollups, and attributes which are assigned to the financial view.
This new feature is particularly useful for sorting the report by a segment or rollup's sort order.
-
Financial views
General Ledger > Financial Views > [view name]
Two new columns are now available to be shown in a financial view HD view for all segments and rollups in the financial view including for all account-level segments and rollups for financial views with the "Report on Accounts" option selected in the Segments field:
- <Name> by Short Description - Displays the short description of the segment or rollup.
- <Name> Sort Order - Displays the sort order.
-
General Ledger Detail Report
General Ledger > Chart of Accounts > [right-click] > Select and Report > General Ledger Detail Report
Previously, the Show Answers text which indicates the Include Subsidiary Detail option setting listed each of the possible values individually, unnecessarily complicating the presentation. Now the option caption appears once along with the appropriate value:
- True
- False
- <list of individually selected sources>
-
Publish Financial Report
General Ledger > Reports > Publish Financial Report
The Show Answers feature for Publish Financial Report now has well-formatted answer captions and values.
-
Segment Items | Rollup Items
General Ledger > Setup > Segments > [select a segment item]
General Ledger > Setup > Rollups > [select a rollup item]
The Sort Order column in segment item and rollup item HD views now shows by default when the data type is not "Numeric".
In addition, the Sort Order column is now available in the Segment Item and Rollup Item windows when the Show List feature is used and the data type is not "Numeric".
-
Various HD views
Segment and rollup columns are available in several General Ledger HD views such as Chart of Accounts and Journal Detail. These HD views now include an additional column per segment/rollup to allow sorting by sort order.
The following column is now available to be shown for all segments and rollups:
- <Name> Sort Order - Displays the sort order.
-
Various reports
New segment and rollup sort options have been added to the following reports. These options sort by sort order and display either "Code-Description by Sort Order" or "Description-Code by Sort Order".
- General Ledger Detail Report
- GL Summary
- Trial Balance Report
- Sales Analysis (AR)
- Distribution Analysis (Payroll)
- Purchase Analysis (PO)
In addition, the display formats have been improved:
- Code-Description formats display as <Code> - <Description>
- Description-Code formats display as <Description> (<Code>)
Payroll/Human Resources
-
2025 state tax updates
The following state and local income tax changes have been introduced effective 1/1/2025:
- Arkansas. The tax brackets have been adjusted for inflation and the standard deduction has increased to $2,410.
- Colorado. The flat tax rate increased from 4.25% to 4.4%.
- Hawaii. A new lump sum deduction of $1,650 has been introduced and tax tables have been updated.
- Indiana. The flat tax rate decreased from 3.05% to 3.00%.
- Indiana Counties. The tax rates have increased for Floyd (1.89%), Gibson (1.30%), Jay (2.50%), Monroe (2.14%), Rush (2.15%), and Switzerland (1.45%) counties.
- Minnesota. The tax brackets have been adjusted for inflation and the withholding allowance has increased to $5,200.
- Mississippi. The flat tax rate was reduced from 4.70% to 4.40%.
- Montana. The tax brackets have been adjusted for inflation.
- North Carolina. The flat tax rate decreased from 4.60% to 4.35%. (Note: There appears to be a discrepancy in the NC-30 document. There are two references to a rate of 4.25%; however, all percentage method computations in the booklet cite a factor of .0435. AccountingWare will monitor and correct as needed.)
The through-dates for the following states/entities have been rolled over to December 31, 2025 because the states/entities had not published income tax changes for 2025 as of 12/19/2024. Several of these states had mid-2024 tax changes.
- Alabama
- Delaware
- District of Columbia
- Georgia
- Idaho
- Illinois
- Kansas
- Louisiana
- Maryland
- Massachusetts
- Michigan cities
- New Jersey
- New York
- New York City and Yonkers
- North Dakota
- Ohio
- Oregon
- Pennsylvania
- Utah
- Vermont
- Virginia
A spreadsheet model of the new tax functions can be found in "...\Extras\Payroll\Tax\Test State Tax Functions.xls".
-
2025 USA tax updates
Withholding updates were introduced according to the instructions in IRS Publication 15-T, "2025 Federal Income Tax Withholding Methods" (https://www.irs.gov/pub/irs-pdf/p15t.pdf).
Employers should implement the 2025 withholding tables on January 1, 2025.
A spreadsheet model of the USA income tax withholding function is provided in "...\Extras\Payroll\Tax\Analysis of 2025 USA Tax Changes.xls".
-
ActivityHD Automation Services (AAS)
The PREmployeeCreateTotalsFile2 automation method is now available for the IPRPackage interface. PREmployeeCreateTotalsFile2 provides all return values in a result object which can be accessed by these JavaScript macro scripting engines: JScript, JScript9, JScript (Chakra), V8Script.
Since IPRPackage.PREmployeeCreateTotalsFile returns values in OUTPUT parameters, VBScript was the only scripting engine that could access those values in the past. JavaScript engines cannot access values returned in OUTPUT parameters.
The PREmployeeCreateTotalsFile automation method is being retained for backward compatibility but it is deprecated. New macros should use PREmployeeCreateTotalsFile2 which works for both VBScript and JavaScript macro engines. When you explore the IPRPackage interface in the Activity Bot Editor, this is what you see:
PREmployeeCreateTotalsFile method
PREmployeeCreateTotalsFile2 method
The next interface in the object browser is IPRPackage_PREmployeeCreateTotalsFileResult. Its properties look like this:
-
Checks
Payroll/Human Resources > Checks
In the past, if a check was being edited and the Pay Statement field on the Attachments tab was cleared but the check had not yet been saved and the attachment which was used as the pay statement was removed, the operation was stopped by the following abstruse database error:
The DELETE statement conflicted with the REFERENCE constraint "PRCheck_FK_PRCheckAttachment". The conflict occurred in database "<Database name>", table "dbo.PRCheck", column "AttachmentID".
The error message has been replaced with a friendlier message that explains why the operation stopped and how the user can remove the attachment if so desired:
The attachment is set as the Pay Statement on this check and cannot be removed.
If you want to remove this attachment:
Clear the Pay Statement reference and save the check.
Then remove the attachment.
-
Employee Create Totals File | Employee Totals File Report
Payroll/Human Resources > Employees > [right-click] > Select and Create Totals File
Payroll/Human Resources > Employees > [right-click] > Report Totals File
The Employee Create Totals File and Employee Totals File Report features have been improved. Both features can now be started from the Export Controls folder, from the HD view, and from the edit window.
In addition, the Employee Totals File Report is now available using report automation methods, has an Include Report Options checkbox for printing report selections on the last page of the report, plus its Show Answers feature now has well-formatted answer captions and values.
-
Employee Totals File Report
Payroll/Human Resources > Employees > [right-click] > Report Totals File
The Employee Totals File Report lists the contents of the output files produced by the Employee Create Totals File process using an export control with a fixed-length output type. The report wizard includes an option to limit records by employee. This field works similar to the the Lookup field on the Employees HD view; i.e., you can limit by any employee code or name field included in the file.
Until now, you had to know to include wildcards in your entry. For instance, if the file contained both the employee code and first-name-first, you needed to enter values like these:
- *100*
- *Bill Jones*
To avoid entering wildcards, it was necessary to enter the entire employee heading, including the parentheses:
- (100 Bill Jones)
Now the wildcards are not required. The report automatically assumes a wildcard at the beginning, the end, and between every word of your entry. Now you can enter values like this and get the results you expect:
- 100
- Bill
- Jones
- Bill Jones
-
Employees
Payroll/Human Resources > Employees
Previously, an error would occur in the following scenario:
- Open an employee record.
- On the Disbursements tab, delete an employee bank account on the record.
- Before saving the employee record, regret that you deleted the bank account.
- Reenter the bank account you just deleted.
- Save the record. The following error message occurs:
PREmployee, ABANumber, CDD_BankNumber, CDD_BranchNumber, BankAccount, AccountType must be unique.
Now the error no longer occurs.
-
Employees
Payroll/Human Resources > Employees
In the past, adding or deleting an employee bank account in the Disbursement Accounts table on the Disbursement tab did not consistently update the choices in the Direct Deposit Account field in the Disbursement Rules table. Now the choices are immediately updated every time an employee bank account is added or deleted.
-
T4 Slips | T4 Summary
Payroll/Human Resources > Employees > Records > T4s > [right-click] > Generate
The Show Answers feature for printing T4 slips and the T4 summary in Payroll now has well-formatted answer captions and values.
Print T4s
Print T4 Summary
Purchasing
-
ActivityHD Automation Services (AAS)
The ProcessSave2 automation method is now available for the IPOOrder interface. ProcessSave2 provides all return values in a result object which can be accessed by these JavaScript macro scripting engines: JScript, JScript9, JScript (Chakra), V8Script.
Since IPOOrder.ProcessSave returns values in OUTPUT parameters, VBScript was the only scripting engine that could access those values in the past. JavaScript engines cannot access values returned in OUTPUT parameters.
The ProcessSave automation method is being retained for backward compatibility but it is deprecated. New macros should use ProcessSave2 which works for both VBScript and JavaScript macro engines. When you explore the IPOOrder interface in the Activity Bot Editor, this is what you see:
ProcessSave method
ProcessSave2 method
The next interface in the object browser is IPOOrder_ProcessSaveResult. Its properties look like this:
-
Purchase Orders
Purchasing > Orders
In the past, unexplained gaps could occur in purchase order numbers. Purchase order numbers are system-generated; a missing number should indicate that an order was deleted. A couple of customer sites have reported gaps in their purchase order numbering sequence of about one thousand (1000) order numbers.
The gap in sequence could occur due to a SQL Server restart or other SQL Server failure. This could happen because ActivityHD used a SQL Server feature to obtain an IDENTITY value for the PO Order table. The IDENTITY feature is optimized for high performance and does not guarantee consecutive values. The feature caches table IDENTITY values in memory; this can lead to gaps when SQL Server is restarted or otherwise fails.
Now ActivityHD stores the last used purchase order number in the database and the sequence of system-generated order numbers is consecutive. Also, a missing order number now correctly indicates that the purchase order was deleted.
-
Purchase Orders + Self-Serve
Purchasing > Orders
In the past, fully approved orders could still appear in the "Ready to Approve" filter results or on the "Orders to Approve" Self-Serve page if the approval level for the current operator was not filled. Now those orders no longer appear in this situation since approval by the operator is not required.
-
XML
A minor change has been made to the format of the Actions/Approve xml for invoices and orders. Now the @Sign attribute only appears when @Action="Unapprove". The @Sign attribute indicates whether the approval which can be removed is an approval or disapproval.
Example
<XML>
<data>
<Actions Content="Complete">
<Approve Action="Approve" Level="1" AllowMaster="true" Execute="false" AsMaster="false" Note=""/>
</Actions>
</data>
<data>
<Actions Content="Complete">
<Approve Action="Unapprove" Sign="true" Level="1" AllowMaster="true" Execute="false" AsMaster="false" Note=""/>
</Actions>
</data>
</XML>
User Locations
-
User Location History
User Locations > Location History
A new User Location History folder and accompanying HD view have been added to ActivityHD. Prior to this change, the only way to view historical user locations was to run the the Locations History Report.
The new folder allows easy access to all historical user location records using standard ActivityHD folder features for interactive filtering, sorting, column selection, and export to Excel. The first time a user opens the folder after upgrading, the rows are sorted in ascending order by user and then by update date in descending order. This means that the most recent location updates for each user are shown first. You can, of course, change the sort order by clicking on the column headings.
In conjunction with this change, the following changes have occurred on user locations:
- A Location History merged-in HD view tab has been added to the User Location window.
- A History Count column and selection field is now available on the User Locations HD view.
- A problem which caused the first user location record not to be recorded in Location History has been fixed.
Note
Database conversions automatically copy existing permissions on the User Locations folder to the new User Location History folder.
Web Services
-
ActivWebAPI
In the past, ActivWebAPI report routes could cause locks which were held longer than expected. Now any locks taken are dropped immediately after the request.
-
Self-Serve
In Self-Serve, attributes are now shown on PO Orders and on AP invoices at the record level and at the detail level.
-
Self-Serve
The Purchasing feature in Self-Serve has been updated to use current best practices for calling ActivWebAPI.