Addsum web site and general info

Postings here will focus mainly on Advanced Accounting software updates, tips, and related topics. They will also include general comments relating to troubleshooting PC/Windows/network problems and may also include reference to our other software products and projects including any of our various utilities, or to the TAS Premier programming language. We considered setting up separate blogs for different topics so that users/others could subscribe to topics mostly aligned with their interests, but decided that it would be better to keep things simple since some topics cross over into others. We would nonethelss welcome your feedback/input in this regard. Our web site URL is Call us at 800-648-6258 or 801-277-9240. We also maintain so that older Business Tools users in particular have a greater chance to find us.


We highly recommend that accounting software users "follow" this blog via e-mail (enter your address and click on Submit below) or subscribe to a feed (see also below) as a way to keep current on the latest updates and accounting software news and information. You may also want to whitelist this e-mail address:

Follow by e-mail

Monday, April 17, 2017

Windows 10 update KB4015217 creates havoc

The Tuesday April 11, 2017 Windows 10 update started to create numerous problems for users trying to install it and then has had other unfortunate impacts.

Our first call was from a user who experienced a loss of network connectivity after the update.  Both PC's were Windows 10 Home (the Home version works with our software, but is generally discouraged).  The update also caused at least one of the PC's to be significantly slower.   This update does require a reboot and apparently in the case of this user, the update brought about a weakness in the way the two PC's had previously been configured (but which was otherwise working prior to the update).  In this case it may have been a Homegroup versus Workgroup setup issue.

Problems simply in installing the update have been somewhat widely reported including being stuck and/or taking several hours to complete.  Another example.   Problems with respect to PC's "freezing" after installing the update have also been experienced.  Prior cumulative updates have sometimes simply failed to install.    This has also been the case with 4015217 update.

After installation, there have been reports of slowness and black screens.

As of April 14, 2017 there are reports of more esoteric issues such as with the VB ADODB.Recordset filter  property (which a related Windows 7 update has also apparently caused).   This problem does not impact our software in any way, but is nonetheless alarming.  Users have had to uninstall the update to solve the recordset filter problem (however depending on your settings and particularly if you have Windows 10 Home, users will have difficulty preventing the update from trying to install itself again in the future).

Security updates that came out last week for other versions of the Windows operating systems, including server versions, have caused widespread issues, particularly slowness.

While it may be too late for most, our recommendation would be, at least for now, to avoid this update if possible.  Windows 10 Home users, unless they are solely connected via Wi-Fi and can set that connection to 'metered' may not be able to avoid or defer it (other than to not connect those devices to the Internet at all!).

Windows 10 Professional users may be able to prevent updates through the group policy editor (but there are indications that after this cumulative "anniversary" install, this may no longer be possible).

Some pertinent links in terms of turning off and/or managing Windows 10 updates:

Friday, March 31, 2017

Unpost AR payment and DDF creator enhancements

This past month we have made many important Advanced Accounting enhancements including to two utility options.

Unpost AR payment

Accessed via the Addsum utilities (via UT-G and in the Accounts receivable section) from the Advanced Accounting 7i menu, the unpost AR payment (aka "Unpost customer payment")  utility allows an end user to reverse an accounts receivable customer payment where that payment might have been applied to the wrong customer or was for the wrong amount or was applied to the wrong invoices, etc.   While it does remove the payment record from customer transaction and related files, it nonetheless leaves an audit trail in the general ledger. Payments not fully applied can also be unposted.  

For various technical reasons, something that was not previously allowed by the utility was the ability to unpost a payment for the same amount on the same date for the same customer.  Yet, the entry of a duplicate (or even triplicate) payment for the same customer on the same date and for the same amount is one of the reasons why a payment may sometimes in fact need to be unposted. This ability now exists. The program as enhanced however does require user interaction to determine which invoices the duplicate payment was applied to when it involves the same date and amount.  So users should first determine what those invoices were before attempting to unpost such payments.  There are at least two ways to do this, the best one being the AR-O credit analysis/customer payment history report which is referenced in the utility option itself.

Unpost AR/customer payment - 7i version

Whether an errant duplicate payment  was applied to one or twenty or more invoices doesn't matter:  the user will be asked to confirm which invoices were involved and ensure that they add up to the duplicate payment amount to be unposted, followed by the normal confirmation screen.

The payment could even have been made in triplicate or quadruplicate on the same date for the same amount for the same customer but can still now be unposted as long as the program is first told which one of those to unpost, and then second, which invoices were errantly applied in connection with that payment.

This updated option will be standard with the Adv 8 add-on and will include support in that release for the expanded invoice numbers and the new GL audit file.   A version compatible with Adv 7i will also in the interim be available for users who have these utilities and that may have need of this capability. 

The Addsum utilities collection is an add-on option for Advanced Accounting.

DDF creator

Data dictionary files (DDF's) are needed to be able to access your Advanced Accounting data via ODBC through other programs such as Crystal Reports or Microsoft Access or via our SQL query tool or via the Actian/Pervasive Control Center to make SQL queries of your data thru any desired means including web site integration (via PHP for example). This software category is sometimes referred to as a "DDF builder."  The DDF files are Pervasive format files which provide structure for outside access.   (You must be using the Pervasive record manager/database engine which installs the required ODBC driver.)

This option has been dramatically changed compared to the older DDF option as released by Business Tools prior to 1997.  This version which allows you to select only desired files for outside access and it also remembers your prior selections, and has also been extensively modernized to comply with newer Pervasive requirements.  It first started to become available in 2003-2004 with significant enhancements that followed in 2007, 2008 and 2010.

The latest enhancements involve an improved interface, updates for pathing defaults, and an improved searching capability when attempting to find data files ("tables") to be included in the DDF's.

DDF creator Adv7i

This updated version is now standard for Adv 7i and will become the new standard add-on option for Adv 8.

The DDF creator is an add-on option for Advanced Accounting and when installed is available from the accounting software menu under UT-P ("Create DDF files").

Tuesday, February 28, 2017

Using Gmail with Advanced Accounting

Some background information:

SMTP (Simple Mail Transfer Protocol)  is the Internet standard protocol for sending and receiving messages between mail servers.   These servers use internally assigned ports to facilitate various communications and provide other services.  Standard (aka "well-known") ports for Internet services developed over time.  The standard port that your ISP's own mail servers use for  communication with other mail servers is port 25 (just like port 80 is used for http: web browsing, ports 20 and 21 are used for file transfer protocol (FTP), port 23 is used for telnet and so forth).

For end users wanting to send and receive e-mail using a mail client of some kind, e-mails are relayed to an actual mail server using SMTP protocol. But e-mails are instead received/delivered to mail clients using a different protocol (typically POP3 or IMAP).

 In an application like Advanced Accounting, the most typical need is the ability to send e-mail out of the software most often with an attachment (sales order, sales invoice, quote, purchase order, statement and so forth).  Therefore, in setting up a user's e-mail settings to accomplish the relay of the outbound e-mail, SMTP settings must be established including the name of the  SMTP server.   

Port 25 remained the common port for use with mail clients for much of the first 25 years since the development of Internet networking standards. Some mail server providers still provide that capability.   Increasingly however over  the past decade in an attempt to control spam, port 25 started to be blocked for use by mail clients and is now typically blocked by most providers.   At first the approach was to simply use other ports such as 2525.  Authentication started to also become routine often with the alternative port approach (or with the standard port) which basically requires that a user log-in (typically an e-mail address) with a password in order to successfully send an e-mail.

Authenticated e-mails however were still commonly being sent as plain text until so-called secure or encrypted methods were developed and started to become common practice (particularly as a result of leaked, illegal NSA surveillance techniques).  These methods, most commonly SSL/TLS (collectively "secure socket layers"), use authentication combined with more private means of communication and are most often also used in connection with ports 465 and 587.  Web-based mail clients (aka "webmail") running on web servers typically require SSL/TLS support.

With two factor authentication now becoming more common, the complexity of successfully communicating with mail servers is becoming even more complex.

Some traditional mail providers are now also requiring that your "sender" e-mail address matches your authentication user ID, and often make sudden changes to their authentication or other requirements without advance notification leading to authentication failures and "unable to send e-mail" responses.   (Troubleshoot these by clicking on the "Trace" check box on the e-mail send form, and e-mail us the results if you require assistance.)

Advanced Accounting's support for e-mail:  The Advanced Accounting 6.x series was the first version to support outbound e-mail and provide therefore SMTP communication capabilities.  Version 6, while also providing the ability to authenticate, only supported standard port 25.   Starting with a release of the Advanced Accounting 7 series in 2009, a user could specify any SMTP port.  Towards the end of 2013, SSL/TLS support was available in version 7.  

Note: in Advanced Accounting, we are only primarily concerned with sending, not receiving, e-mails.  POP3 support is however available if needed in custom program situations, and has been since version 6.

Choosing an SMTP provider

Many options exist in terms of selecting an SMTP mail services provider typically at either no or low cost.

Normally your Internet Service Provider (ISP) or other third party provider that already provides your SMTP mail services is your first contact of choice and should be able to provide SMTP services to you without charge.  If your ISP is either not also hosting your web site or providing mail services, they should still be a strong option to first consider. They will have SMTP mail servers. Another option might be your web site's hosting provider or some third party provider including providers of webmail.

It is important to note that your domain based return e-mail address does not have to correspond to a mail server that belongs to your hosting provider in most, but not all, cases.  So while normally your SMTP server might most often also be the server through which you also receive incoming mail, it does not have to be.

Your mail server provider will have other required settings and port usage and authentication requirements that must be established in order to send outbound e-mails.  You will need to determine what those are before being able to establish appropriate e-mail settings for you and/or your other users of Advanced Accounting.  

 We do highly recommend the use of separate Advanced Accounting logons so that you can create separate e-mail profiles for each user, and so that each user can use their own reply/sender e-mail address. In your Advanced Accounting settings, we highly recommend using the BCC: default and therein specifying your own e-mail address so that you will automatically receive a copy of every e-mail that is sent, and which can be archived for follow-up or future reference as desired.

Using Gmail as your SMTP provider:

Even though your incoming mail may be routed to you some other way, if you have a Gmail account, then you can use a Google SMTP server for your outbound e-mail.

Steps you will need to take:

(1)  You will need the last Adv 7i rel. 7f updates some of which occurred in Feb. 2014 when we changed how we launch the SSL/TLS capable extension.  If you are on that release but don't have those updates, we will provide and install them at no charge.  These updates will be needed for any provider that requires SSL/TLS.

(2)  Because of newer security requirements, your normal Google/Gmail password will not likely be sufficient as it once was.  Instead:

  • Go to:
  • Sign in with you usual credentials if required.
  • In the first drop down box ("Select app") choose "Mail" and in the second ("Select device") choose "Windows computer."

  • Finally, click on the Generate button (will become visible after choosing "Windows Computer").   Copy/paste this password into the password below.

(3) Establish or complete your Advanced Accounting e-mail setting under SY-C-A (System Maintenance, Enter/Chg User Security,  Maintain Logon Codes) by highlight the logon code, click on Edit, and click on the E-mail settings button.

As indicated in the example above:

  • SMTP server:
  • SMTP port:   587
  • Click the Use TLS check box
  • SMTP user ID: insert your user ID, the same one used in step (3) above
  • SMTP Password:  paste the "app password" generated in step (3) above
  • Sender name:  Your name or other text you want recipients to see when receiving your e-mail
  • Sender E-mail address:  The address you wish to use for the sender/reply e-mail address.  It does NOT need to be the same as your gmail address.  You will only be relaying outbound e-mail via a Gmail SMTP server, nothing more.

After saving these settings, test sending an e-mail via the Adv user logon for whom you have establish these settings. The easiest way to do that is via Tools (across the top of the menu to the right of File and Module in the full screen mode) and then E-mail 

Keep in mind that security measures are constantly changing and the steps that need to be taken in the future may differ from those outlined above.

Additional related information:

ISPs Removing Their Customers' Email Encryption (Nov 2014)

SSL versus TLS (July 2016)

Tuesday, January 3, 2017

Advanced Accounting 2017 payroll updates

In late November of 2016 we posted some initial information about upcoming 2017 payroll changes and new due dates for federal W-2 filings.  On the last day of the year, we published more information on our "year end" page including federal tax tables with new and updated screen shots, and our annual printable PDF outlining the most important changes that need to be made.

Since then we have added either updated tax tables and/or new required program logic for 15 states that have made state income withholding changes as of January 1. 

Here is the link to the year end page:

Some of the states with rather significant changes include Maine, Minnestoa, South Carolina (the first time in 25 years that South Carolina has made any changes), and  Rhode lsland.

States with tax table or other changes as of January 1, 2017:

California (all of the various tax codes require updating)








New York

North Dakota



Rhode Island

South Carolina


There will no doubt be a few more to follow.

Advanced Accounting has user-maintainable payroll tax codes allowing users to make changes themselves for many of these states (as well as federally).   However, some states have had standard deduction changes or they use an approach to withholding calculation that does not follow the norm and that therefore requires program modifications whenever that state makes to its withholding formulas (examples would be Oregon and Indiana).

Advanced Accounting 7i users with employees in Indiana, Kentucky, Maryland, Missouri, Oregon or South Carolina will need the 2017 payroll update (which assumes that the prior 2015/2016 update has also been previously installed) going forward into 2017.   

Users in other states may will want to obtain the payroll update to avoid their having to update federal tables and any tables updating relating to their state.

Friday, December 30, 2016

TAS Premier 7i release 11 new features

After another year+ of updates and enhancements, we today have published the latest release of TAS Premier 7i (release 11).   Testing was concluded yesterday and the new executables digitally signed.  Installation update packages including an updated "new install" were completed, tested and uploaded today.

The TAS Premier 7i updates page that includes basic information about each release and the new features contained therein remains at:

The download page for new installations is also still:

TAS Premier is the IDE (integrated development environment)  for the TAS programming language and includes a runtime engine.  TAS programs are compiled in the IDE and run on top of the runtime engine whether run from the IDE or standalone (requires a license).  Many commercial and in-house systems use the TAS programming language to run mission critical business applications, not the least of which is the Advanced Accounting software series which we also support and publish.   This latest engine will be included in future Advanced Accounting  software updates.

New capabilities in the runtime engine will allow us to provide features that end accounting software users have in part either requested or asked about.

In an earlier release of the TAS Premier IDE, we added support for List Box objects (TListBox) but that component was never documented partly because support for click and double-click events were needed before it would be truly usable.  List Boxes tend to be underutilized by Windows developers and have a variety of important capabilities.  

TListBox is the last component on the Form tab of the Component Palette
 in the TAS Premier IDE's Screen editor

A TListBox object is used to display a scrollable list of items from which users can select and optionally add or delete from the list.  It has some similarities to a memo, combo box, and even grid objects.   The information contained in the list (in a TStrings property) might be populated in a number of ways including data input by a user, hard coded text strings, lines of text contained in a text file, data stored in database file/table, etc.    Once in the list it can be automatically sorted (if it isn't already), lines can be added, inserted or deleted, and the list box contents can even be very simply saved out to text or to a data file/table.   Information can be displayed in multiple columns or more typically in a single column.  In the case of a single column List Box, a vertical scroll bar will appear once the list box is full.   An AutoComplete property allows the list to be scrolled automatically based on characters entered at the keyboard.   And items (lines) in the list can be selected and set equal to program variables via either a click or a double-click depending on whether the AutoComplete feature is needed or not.   The entire text contained in the List Box can also be easily retrieved via one of the available methods in the STRINGS() function (see the documentation for examples as well as the test program).

In addition to the help file documentation, a sample program has been included in the latest TAS Premier 7i build as well as in the ZIP update for release 11.

List Box test example DFM included with SRC file in release 11

Items or lines associated with TStrings or TStringLists do not have any technical limit in terms of the number of items or lines they can hold.  Practically there is always a limit but it is not one that will likely ever be reached (based on experiments by third parties, at some point a Windows "out of resources" condition will be reached with a maximum that is in part related to the operating system and no doubt to the length of each item/line, but is probably somewhere in the 16 million to 60 million range; so, a lot).  

A potential use of a List Box that might not immediately be obvious (nor easy to show in the sample program) is its potential to show "type ahead" options tied to a given data file as characters as entered by the user, as an alternative to standard lookups.  This is a type of "AutoComplete" that is different than the List Box's AutoComplete property and which is also different than the "fast search" capability in grid lookups that TAS programmers and end users have long enjoyed.   This option is partially illustrated in the partial screen shot below of an Advanced Accounting 8 sales order product line item under development.   The List Box is initially empty.  The object that the product (code in this case) is being entered has a "change" event so that as keys are typed, the List Box is then populated with those choices.    As additional characters are typed, the choices in the List Box automatically narrow.  If the user sees something that they are looking for, then s/he can simply use the mouse and click on the item which then immediately populates the product code entry field, the List Box is set to be invisible and the program continues.   If the user presses the backspace key, then the List Box responds accordingly; if the product value is again empty, the List Box is empty.   In this example, the sorted property of the TListBox would not be needed nor would AutoComplete, and so only a click, rather than double-click, event would be needed to capture the item selected in the list.

Another new capability added to the IDE is the ability to track keyboard/mouse activity.  Each time a key is pressed or a button is clicked, an internal global variable is updated with the current Windows tick count (which in the case of the TAS environment is the number of seconds that any given computer has been running since it was started or re-booted; this count however does become inaccurate after 49.7 days).   Through the use of several new functions, the current and last tick counts can be compared and when used with a timer object, a given runtime session can be potentially terminated based on inactivity if desired.  Applications for use of these new functions could involve password entry or maintenance screens or other maintenance forms that might involve the entry of sensitive information.   Another use might be in a point-of-sale screen where absent some activity a logoff might be forced (to preclude access to a cash drawer, etc.).   Or simply the ability to force the close of a session that has clearly become inactive and to force all open files to close.

Included with the latest release is a sample program showing how key/button "down" activity might be monitored.

Tick Count test program included with TAS Premier release 11

A standard Windows compiled HTML (CHM) help file is included with the IDE.  An updated PDF is also available which is now 743 pages long.

Tuesday, November 29, 2016

New W-2 and 1099-MISC deadlines starting in 2017

IRS forms W-2 and 1099-MISC that involve non-employee compensation now have to be filed by the end of January.   These new deadlines will apply starting with 2016 W-2 and 1099-MISC filings.

Previously, while recipient copies had to be provided by the end of January, employers had until the end of February to actually file them with IRS.  No more.

And this deadline is the same regardless of whether you are a paper filer or an e-filer.

This change makes sense; the IRS should have copies of these forms on file so that wage amounts can be verified sooner rather than later, and hopefully this will also lead to faster tax return processing.

Most of our users would typically file these forms by the end of January anyway; the only reason to wait historically would be perhaps to get recipient feedback in the event of any problems or errors.   Because the filing deadline has been moved up and for this reason, it will behoove users to get their recipient copies out to end users as soon as possible in January to the extent that may be a concern (perhaps at least by January 15).

More information about this new deadline:

Note that in some states, paper (where accepted) as well e-filing deadlines may still be later than January 31. 

What's ahead for year end and into 2017 with respect to payroll?   We'll be posting more information on this topic as it develops, but here are a few sneak peeks:

  • 2016 W-2 forms will not be changing  - forms can be ordered from Dynamic Systems, our forms provider, or they can be printed for you via our e-filing portal.
  • The same e-filing interface we developed at the end of 2015 has been re-tested with our e-filing partner and those tests were accepted on Novemer 28, 2016.    They will be opening that portal to accept  filings for 2016 as early as December 7.   If you are in a state that has an e-filing requirement or you simply want to e-file, or you want our e-feiling provider to print the W-2 forms (employee copies) for you, be sure that you have that update.  General information and procedure.  Paperless Filing flyer (2016) 
  • The social security tax wage limit will be increasing (unlike last year) from $118,500 to $127,200, and that will be one of the changes you will be making in your payroll division setup after your last 2016 payroll and after the PR-G option has been run (simply choose the option "Clear employees/process W-2s later" and then return to PR-G later when you are ready to print forms and/or e-file) and prior to your first 2017 payroll.  More information.

Tuesday, September 27, 2016

When the requested security information is unavailable . . .

A rather peculiar situation relating to Windows security settings can occur if a copy of a file is subsequently placed into a previously shared folder that is not owned by any object (group) and/or that file is placed into the shared folder by a user that is not a member of group that has security privileges to the folder.

The highly unexpected result of this situation is that while the user is allowed to place a file (which is the same thing as "writing" to the folder) into the shared location (and it doesn't matter whether it is a new file, or a file that is replacing the same file that is already correctly shared!)  and can run/execute or read the file, other Windows users will be denied the ability to do the same.   

In the case of our software, the user will receive a message indicating that basically the program cannot be run or loaded.   Inspecting the properties of the file on the server and viewing the security tab, the rather unhelpful "The requested security information is either unavailable or can't be displayed" message is displayed:

This seems to be a  poorly designed aspect of Windows security.  This means that as a software developer, we cannot be sure that a file that we install on a remote system can be properly run by other users in a multi-user environment because of some pre-existing user/folders rights issue even though we in fact are able to write to that folder and even though it otherwise gives the appearance of working exactly as it should.  This is really not something our programs have control over and hypothetically should be none of our concern.   We should not have to double check the rights of each and every file  located on a server that we may not even have direct access to in every situation.

When we first ran into this problem simply when placing three new files into a program folder (and which we could test and run without issues but the end user ultimately could not) from a Terminal Services server (a common situation), we resolved the issue by getting access to the server, right clicking on each file and by "taking ownership" of them:

We then proceeded to add the "Everyone" group to file making sure users in the group had read/write rights.

But then more recently and on the same system (running Windows 2011 SBS Server), we replaced an existing program file via the Terminal Services server, we were again able to run and test it from that server and all seemed to be well,  but then today we were contacted by the end user who in fact could not run the recently replaced program.  Yet the file that was replaced had the exact same file name and was placed in the exact same folder that all users who had rights to that option within our software were able to previously utilize and now were being denied access.

Examining the folder's security, we noticed that there were no owners/groups assigned at the folder level.  Perhaps all of the files were all initially directly selected and shared in the folder previously (although this would not explain why a replacement file still failed nor why we could copy new files or replace existing ones in that folder at will).   By adding the  "Everyone" and "Administrator" objects/groups to the security of the folder itself, this will hopefully resolve future issues on this system of updating their installed software (and some testing conducted today placing new and replacement files into this folder and then logging into the server to view the security properties of those files indicates that it does).