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 www.addsuminc.com. Call us at 800-648-6258 or 801-277-9240. We also maintain www.advancedaccounting.us so that older Business Tools users in particular have a greater chance to find us.

Follow

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: noreply@blogger.com.

Follow by e-mail

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: https://myaccount.google.com/apppasswords
  • 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.gmail.com
  • 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:

http://www.addsuminc.com/advyearend.html

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)

Indiana

Kentucky

Maine

Maryland

Minnesota

Missouri 

Nebraska

New York

North Dakota

Oklahoma

Oregon 

Rhode Island

South Carolina

Vermont

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:

http://www.addsuminc.com/tas7updates.htm

The download page for new installations is also still:

http://www.addsuminc.com/tas7download.htm

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:

https://www.irs.gov/instructions/iw2w3/ar01.html

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).






Tuesday, August 2, 2016

Will Advanced Accounting 5.1 run under Windows 10?

As long as you use the 32-bit version of Windows 10, yes, it will.   


An Adv 5.1 system running under Windows 10.  Screen shot taken on July 20, 2016.
( Company name changed to preserve end user confidentiality.)

Will we support this 1996 version of the software running like this?   Of course!

For newer versions of Advanced Accounting and Windows 10, see:

Windows 10 and Advanced Accounting 7i software


Thursday, July 7, 2016

Windows 10 default printer woes

Starting with an automatic update in November of 2015,  Microsoft made a change that has perplexed end users with multiple installed printers:  by default, the last printer you choose becomes your new default printer.

Logical?  No.  In most cases with multiple printers/devices and their drivers installed this preference setting makes no sense and nullifies the definition of a "default printer."  Further it defies the standard default printer logic that has existed since Windows 95. 
  
If the new setting preference was by default set to "Off" then at least it would not have created end user confusion; but that would have defeated Microsoft's reason for even having implemented this setting preference (i.e. apparently for end users who found setting their default printer to be too difficult).

This is an example of the "dumbing down" trend in PC's and mobile devices of all kinds that worsens, not enhances, the end user "experience" as so many like to refer to it these days.

Once you know why your default printer keeps changing without your having changed it in Windows 10, you can turn this setting preference off.

The hardest part about doing this is getting to the Windows 10 Settings section itself.    This should be something intuitive and obvious; yet it isn't. 

To get to Windows 10 settings:

(1)  The easiest say is to simply press and hold the Windows key and then the letter I, i.e:  Win-I.  (Intuitive? No.)

The Windows key (there are actually two of them on standard desktop keyboards) is both to the left and right of the space bar on the outside of each Alt key.  We tend to forget about them since they are essentially never used in touch typing and normally are meaningless. The symbol design on the key and its color varies from keyboard to keyboard, but its essential design is that of a gently waving flag:

Dell keyboard Windows key

Logitech keyboard Windows key

(2)  The next easiest method is to search for the Settings section by right clicking on the "Start" button (which however no long says Start) that is usually at the lower left on Win 10 desktops.  Then click on search and type settings.   Several options will be displayed in the menu above, any one of which will ultimately get you there (Start Settings, System Settings, etc.) but which may still require a few more clicks back and forth to get you to the main Settings page.  


From Windows Settings choose Devices.





Then choose Printers and scanners.   On the Printers and scanners page, scroll down until you see the option:

"Let Windows manage my default printer."


By default it will be On.



Click to the left of the On-Off switch so that it reads Off.   (An intuitive object? Not exactly.)





Now your  PC's default printer handling will again work the way it is supposed to.