ActivityHD Release 8.20

System-wide

    8.20-0
  • ActivityHD Automation Services (AAS)

    In the past, when an INavigator object was created through automation, the default behavior was "dynamic". Changes, such as deletes, inserts, or edits, were seen, causing a record to no longer match the current filter. Users considered this confusing and unexpected behavior, so the default behavior has been changed.

    Now navigators created through automation default to "not dynamic" (i.e., static). Any changes to a record will not be reflected in the set of records selected by the navigator. A new boolean "Dynamic" property has been added which allows scripts to restore the previous dynamic behavior. The property defaults to "False" (not dynamic) but can be set to "True" to restore dynamic behavior.

    Scripts such as the following would formerly not work because of dynamic behavior, but now does work:

    Dim d

    Set d = Activity.Administration.CustomData("Test")

    d.Navigator.First

    Do While Not d.Navigator.Eof

    d.Edit

    d.Delete

    d.Navigator.Next

    Loop

    The reason the code above did not work previously is that the deletion removed the row from the record set causing the next call to fail because the current record could not be found. Now by default the deleted row is not removed from the record set and the next call succeeds.

  • ActivityHD Automation Services (AAS)

    In the past, the PreviousAndEdit method of INavigator did not work; it did not move to the previous record. The Previous method, however, did work. The problem has been corrected so that the PreviousAndEdit method now properly moves to the previous record in the record set.

  • ActivityHD Automation Services (AAS)

    A new Count property has been added to the INavigator automation interface. Count returns the number of rows in a record set.

  • ActivityHD Automation Services (AAS)

    You can now return the ActivityHD version number through automation. Four options are provided, including one that shows the full version number. The options and an example of what they return when the full version number is 8.20-0 is shown in the following table:

    Activity.Version 8.20-0
    Activity.VersionMajor 8
    Activity.VersionMinor 20
    Activity.VersionBuild 0
  • ActivityHD Automation Services (AAS)

    The following automation methods are now part of the OAS library:

    • Activity.UserCreateLoginRequest
    • Activity.UserCreateLoginConfirm
    • Activity.UserChangePassword
    • Activity.UserResetPasswordRequest
    • Activity.UserResetPasswordValidate
    • Activity.UserResetPasswordConfirm
    • Activity.UserUpdateEmailRequest
    • Activity.UserUpdateEmailConfirm

    These methods will be available through ActivWebAPI in a future release.

  • ActivityHD Automation Services (AAS) and Bots

    Until now text fields for bot Options and for the OptionsDialog automation object with a size greater than 30 characters would not continue to grow larger. Now the maximum size of an on-screen control can be significantly larger than before.

  • Bots

    Activity System > Administration > Bots

    [Company] > Administration > Bots

    Until now there was no straightforward way to debug a bot which used bot options without hardcoding some values. Now the first attempt to call MacroProcess.OptionValues while debugging will prompt the bot developer for option values.

  • Bots

    Activity System > Administration > Bots

    [Company] > Administration > Bots

    Previously, an access violation could occur if running a bot with options and then running another bot or another copy of the same bot while the first bot was prompting for options. Now when this scenario occurs no access violation happens and both bots behave as expected.

    A similar access violation could occur when running a bot from the bot edit window. If the user closed the bot editor while the bot was running, an access violation could result. This problem has been corrected by preventing the editor from being closed while a bot that was launched from it is still running.

  • Filters

    Activity System > Administration > Filters

    [Company] > Administration > Filters

    A Filters folder has been added to the Administration folders for both the Activity System database and all company databases.

    When data is converted after an upgrade, existing permissions with all access to all resources under "Activity Company" and "Activity System" are automatically granted all accesses to the new "Filters" resource.

    The new Filters folder is useful for performing maintenance on several filters at once. For example, suppose you want to delete all personal filters for users who no longer work at your company. You could:

    1. Create a column filter on the Shared column to show "Not Shared" filters, then...
    2. Create a column filter on the User column to show obsolete users (requires using the More... button), then...
    3. Review the results, select all (Ctrl+A), and delete.
  • Report designs

    The option to create report designs using Microsoft Word was introduced in ActivityHD version 8.19. To support advanced report writing, scripts can now be included as part of Word report designs. A script can modify a Word document as it is processed. Scripts have access to the following automation objects:

    • Activity
    • Company
    • ReportDocument (the Word document object that is being processed)
    • DataRecordSet (the report data that is being processed, positioned at the first record for the document)
  • Report designs

    Previously, attempting to view the Report Fields list for some report designs could produce errors. This problem has been resolved.

  • Report designs (Word)

    A progress bar is now visible when processing a Word report. Besides apprising the user of progress, this feature allows the user to choose Cancel if they do not want to wait for the process to complete.

  • Report designs (Word)

    Prior to this release, processing a Word report design which resulted in a document with a table of more than 20 lines could cause performance issues. The problem has been resolved.

  • Report designs (Word)

    Previously, users could experience problems attempting to open a Word document (e.g., a .docx file) while running a Word report in ActivityHD. This issue has been mitigated.

Accounts Payable

    8.20-0
  • Generate 1099s

    Vendors > [right-click] > Select and Generate 1099s

    In the past, during the 1099 generation process, the payer state code and ID was copied to every 1099 record generated even if a particular 1099 did not report state income or state withholding. If Generate 1099s was run again over the same period, the process could attempt to generate correction 1099s--even though no amounts changed--based upon whether or not a payer state code and ID were entered. This could occur even if the 1099 records did not report state amounts. It was also possible to generate 1099s that DID report state income or withholding without specifying the payer state code or ID in the wizard.

    Both problems have been corrected. Now an error is returned if you try to create a 1099 with state income or withholding but did not enter the payer state code and ID in the wizard. Furthermore, now the state code and state ID are only set on 1099s that actually report state income or withholding amounts.

    Also, when database conversions are run, the payer state code and ID fields are cleared on existing 1099 records that have no state income or state withholding. This means the Generate 1099s process will not attempt to create correction 1099s if you run the process again for the same period in the future. This change is acceptable since the payer state code and ID are not printed on 1099s if no state amounts are reported and they are not included in the electronic file.

  • Invoices

    Accounts Payable > Invoices

    In the past, you could not change attributes on a voided invoice. This restriction enforced consistency with attributes on the reversal invoice. Now invoices (and their automation interface) allow changes to attributes on voided invoices and maintain consistency by automatically propagating the changes to reversal invoices. In other words, attributes on voided and reversal invoices still always match. Any attribute on a voided invoice can now be changed:

    • Invoice attributes
    • GL detail attributes
    • Extra GL attributes

    Additionally, if the attribute's usage is set to post to GL, the associated GL entries are updated with changes to the attribute even if the GL entry is merged. An error does occur if the the GL entry is in a closed period or another user has the GL entry locked.

    The ability to change attributes on voided invoices is particularly useful when converting a GL segment to an attribute; however, there are other situations where it is useful as well.

  • Merge Invoices

    Accounts Payable > Invoices > [right-click] > Select and Merge Invoices

    This change only affects sites which use the PR/AP interface.

    Payroll tax deposits are automatically created when you merge an AP payment which pays invoices generated from payroll check lines which reference an appropriately configured APControl. However, until now, payroll tax deposits were not created when you merged an AP invoice that is paid with a Quick Pay payment. As a result, you could not pay AP invoices from Payroll's Post to AP process with Quick Pay if you wanted the tax deposit created automatically.

    Now merging an AP invoice from Payroll's Post to AP process creates the appropriate payroll tax deposit automatically when paid with a Quick Pay payment.

Accounts Receivable

    8.20-2
  • Contacts

    Accounts Receivable > Customers > Contacts

    Previously, the hint on the Primary checkbox erroneously referred to "location" instead of "contact". This error has been corrected.

  • Invoices/Recurring Invoices

    Accounts Receivable > Invoices

    Accounts Receivable > Invoices > Recurring

    A change in ActivityHD 8.18-0 introduced an error when a quantity with three or four digits to the right of the decimal was entered on an invoice or recurring invoice. Once the error message was dismissed, the quantity updated correctly; however, the total quantity did not display correctly below the Detail table. Since AR quantities support up to four digits to the right of the decimal, this error should not have occurred unless more than four digits were entered. The issue has been corrected; no error is returned when a valid number of digits is entered.

  • 8.20-0
  • Invoices

    Accounts Receivable > Invoices

    In the past, attributes could not be changed on voided invoices. This ensured that attributes on voided invoices and their reversal invoices matched. With this release, attributes can now be changed on a voided invoice through the Invoice window or via invoice automation and those changes are automatically updated on the reversal invoice and its corresponding invoice detail and extra GL lines, thus still ensuring that the attributes on voided invoices and their reversals match.

    If an attribute that is set to post to GL is changed, all GL entries for both the voided invoice and its reversal invoice are likewise updated. This even applies to merged GL entries.

    Attribute changes can be prevented due to posting control restrictions. If an attribute is set to follow the calendar post control and the period containing the GL date is closed to postings from Accounts Receivable, an error is returned and attributes are not changed.

    While one benefit of this new feature is to allow attributes to be corrected, a more significant benefit is that it allows attributes to be set when transitioning from GL segments to attributes. Prior periods can be opened temporarily to allow needed attribute changes.

    This feature also supports using the Invoice window or invoice automation to change attributes on voided miscellaneous invoices and unapplied invoices created via receipts. However, additional changes will be required to allow attributes to be changed directly in the Receipt window.

  • Invoices

    Accounts Receivable > Invoices

    Since version 8.15-0, when the invoice number on an invoice is blank and duplicate checking on the invoice type includes invoice numbers, it was possible to get an invalid "Invoice is duplicate" error. This problem no longer occurs.

  • Invoices

    Accounts Receivable > Invoices

    ActivityHD checks for duplicate invoice numbers when you save an invoice; however, for invoices with schemes set to assign the invoice number on entry, the duplicate check formerly occurred before the invoice number was set. While it's rare for an invoice number to be a duplicate in this situation, if a duplicate did occur the user was not warned until proofing or merging invoices. Now duplicate checking includes the invoice numbers assigned at entry and provides immediate feedback to the user if a duplicate is discovered.

Fixed Assets

    8.20-2
  • Change Assets

    Fixed Assets > Assets > [right-click] > Select and Change

    In ActivityHD version 8.18-0, a validation was introduced when modifying retired assets to warn when calculated accumulated depreciation does not match the amount posted to GL. The validation occurs whenever an asset is changed. Specifically, when the Change Assets process is used to update multiple assets, the warning is shown if needed when updates are applied to an asset. Unfortunately, however, the Apply to all items? option on the validation message did not work properly. In spite of marking the checkbox, the warning appeared for every asset that exhibited the problem.

    Now, if you mark the Apply to all items? checkbox on the validation message, the message is not repeated for subsequent assets in the selection that exhibit the problem.

  • 8.20-0
  • Assets

    Fixed Assets > Assets

    Formerly, any change to a retired asset resulted in the recalculation of retirement amounts. However, this recalculation could be problematic, especially if the amounts in the tax ledger had been reported to the IRS. It could also be problematic for book ledgers if the retirement amounts were posted to a closed period and adjusting GL entries were not desired.

    A new Retired Lock checkbox has been added to the header section of the Assets window. Mark the checkbox to prevent further entry of retirement or calculation of retirement.

    During conversions, the lock is set on all retired assets. If you need to recalculate retirement on a retired asset, clear the lock. For instance, if you need to apply the recent change to calculate depreciation in the final period of life (see the release note immediately below), you can clear the lock to allow the calculation.

  • Depreciation calculator

    In the past, the depreciation calculator did not calculate depreciation in the month of retirement. The rationale behind this behavior was that it was unnecessary since lifetime total depreciation was going to be backed out of accumulated depreciation in the same month. However, the total depreciation is significant for both book and tax purposes.

    Now the depreciation calculator calculates depreciation in the month of retirement. The Depreciation Schedule, Post FA to GL, and the calculation of asset ledger retirement in the Asset window are affected by this change.

Payroll/Human Resources

    8.20-0
  • 2022 SUTA wage base updates

    The following wage base amount has been added to the state unemployment table:

    State Year Wage base
    Delaware 2022 $14,500
  • ActivityHD Automation Services (AAS)

    The IPRExportControls automation interface has been introduced to provide access to Payroll export controls.

  • ActivityHD Automation Services (AAS)

    The IPRExportEmployer automation interface has been introduced to provide access to Payroll export employer records.

  • AP Controls

    Payroll/Human Resources > Setup > APControls

    This change only affects sites which use the PR/AP interface.

    A Quick Pay section has been added to the AP Control window so that you can enable Quick Pay processing when posting Payroll check lines to AP.

    If an AP control with Quick Pay settings defined is assigned to a check line, when the check line is posted to AP a Quick Pay payment is created on the AP invoice and the resulting payment is automatically merged when the invoice is merged. In addition, if the AP control provides a tax deposit type, the tax deposit is also automatically created.

  • Check calculator

    A new "String" function has been introduced to the Payroll check calculation expression language. The new function can convert its argument into a string. It is most useful in conjunction with the "Err" and "Warn" functions to display the information in error and warning messages. For example:

    Warn(String(SumCheck("Hours")) + " hours exceeds 80. Defaulting to 80.",80)

  • Payroll group expressions

    You can now specify a wildcard tax entity in payroll group expressions. This change makes it possible to calculate a total of all locality-specific check lines for a given state. For example, suppose you have regular pay for the following cities and towns in Pennsylvania:

    PRCode Tax Entity Description
    Pay.Reg.PA.Bristol USA.PA.Bristol Bristol Township
    Pay.Reg.PA.Narberth USA.PA.Narberth Narberth Borough
    Pay.Reg.PA.Phila USA.PA.Phila Philadelphia
    Pay.Reg.PA.White USA.PA.White Whitemarsh Township

    If you need to calculate total taxable wages for Pennsylvania, specifying tax entity USA.PA is not sufficient. Now to do this, you can specify a wildcard for the tax entity: USA.PA*.

    More precisely, a wildcard tax entity can now be used in all payroll functions which take a group expression. For instance:

    SumCheck(Type=Pay AND IN (Compensation USA.PA*))

    Payroll group expressions and item expressions are also available to financial functions and financial views. For instance:

    PRExpense("Current", "Type=Pay AND IN (Compensation USA.PA*)")

    PRGroupExpense("Compensation USA.PA*", "Current")

  • Pennsylvania tax segment items

    Payroll/Human Resources > Setup > Segment Items

    The following built-in segment items for Pennsylvania have been modified to support locality-specific pay:

    TaxState:PA Pennsylvania Income Tax (built-in)
    TaxSUTA:PA Pennsylvania Unemployment (built-in)
    TaxSUTA:PAEE Pennsylvania Unemployment EE (built-in)

    In the past, all three built-in segment items calculated Pennsylvania compensation as the total of check lines with the tax entity USA.PA. If locality pay such as USA.Reg.Phila assigned to tax entity USA.PA.Phila was present, it was not included in the calculation. Now the calculation of Pennsylvania compensation uses the wildcard tax entity USA.PA* in order to include all the PA localities (see "Payroll group expressions" above).

    Furthermore, deductions such as retirement and health insurance which do reduce federal taxable income do not reduce Pennsylvania wages. Therefore, now the built-in segment item sets Pennsylvania taxable wages to Compensation minus state-specific group PreIncomeTaxPA. There are currently no deductions which reduce Pennsylvania wages; however, the group is available should laws change in the future.

    Database conversions add the group and update the segment items only if TaxState:PA is already installed on your system. If you need to add missing Pennsylvania elements, run the state-specific installation script in Extras (...\Extras\Payroll\PRBuiltInStateData.sql).

  • State W-4s

    Payroll/Human Resources > Employees > Records > State W-4s

    Previously, the Exemptions field for Louisiana state W-4s was always set to "1" when the filing status was set to "Single" and always set to "2" when the filing status was set to "Married". However, for single filers, the valid number of exemptions is "0" or "1"; for married filers, "0", "1", or "2". Now the correct number of exemptions can be selected.

Purchasing

    8.20-0
  • Purchases

    Purchasing > Purchases

    An Invoice GL Detail column is now available in the Purchases HD view and an Invoice GL Detail selection field has also been introduced. The new column makes it easier to see which line on an invoice contains the amount from the purchase.