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 nonetheless 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. White list noreply@follow.it to ensure you receive notifications once you subscribe.

Tuesday, April 14, 2026

Make an image-level backup to protect your Actian (Zen, Pervasive, PSQL) license

The newer versions of what was once called simply Btrieve (BSERVER on client-server Novell systems) later became Pervasive, with newer engines also referred to as PSQL and more recently as Actian Zen.  These more modern engines will be collectively referred to here as PSQL.

After the 16-bit Btrieve 5.10a, Windows versions first in 16-bit and then 32-bit versions were released by Btrieve Technologies, Inc. over the 1982 to 1995 time frame.  With a corporate name change to Pervasive Software, Inc. there were versions 7, 8, and by 2006, version 9. Unlike with older pre-Pervasive versions, these newer versions required unique licenses.  The PSQL licenses were eventually linked to CPU or other installed hardware in versions 10 and 11. But that was changed starting in version 12 to be tied to solely the computer (server) name and that continues to be the case through the latest version, Actian Zen v16.

So these newer PSQL licenses which since v12 are solely tied a computer name can only be active on one computer at a time.  Both workgroup for smaller installations and server class licenses are available (more recently both "enterprise" and "cloud" versions are options in newer versions).  It is mainly server type licenses that are being referenced below but could also relate to workgroup licenses that can  be configured to support small client-server networks.

In a normal situation where the production server is operating, when migrating to a new server (or setting up a backup PC for a "just in case" scenario), you would want to install from your original downloaded media and leave the PSQL software in an unlicensed state (a temporary license will automatically be installed and its expiration date can be viewed in the PSQL License Administrator) on that new server.  It will then operate in a temporary license mode (the periods have changed over time, with older versions it normally has been 30 days but could be shorter such as two weeks; the trial version for v16, the latest version, is apparently for just one day) that gives you time to test the new server and verify that everything is working.  Then when finally migrating you would deauthorize the license on the production server (via the installed PSQL License Administrator which can be accessed either separately or via the PSQL Control Center; take a screen shot before deauthorizing) and apply the license on the new server.   Internet access is required when deauthorizing and then also when authorizing on the new server.  There used to be a limit as to how many times you could authorize/deauthorize but currently that appears to no longer be the case.

But, as previously mentioned, only one server can be authorized by any one PSQL key at any one time. (The only away around that would be to buy a second license and they are not inexpensive; inexpensive compared to Oracle and perhaps Microsoft SQL, but not cheap.)

In case of the situation where the production server goes down and cannot be brought back to life, that is when it is critical to have an image-level backup for the Zen/Pervasive install (which is not installed in the same folder as the Advanced Accounting or other TAS-based  system and is completely separate; the image-level backup for the accounting software would have to then be supplemented by a recent file level backup as well as any programs that have since been changed via ongoing updates as well as for any custom modified programs).  Without the image-level backup with which you could restore the PSQL license in the event of total failure of the production server, in the past you would simply contact Actian (formerly Pervasive) to get around the problem of not being able to deauthorize the license.  In the last few years however Actian has taken a reversal in their approach and now requires an expensive tech support contract instead of a free, simple support ticket.  

See for example this warning on the pricing pages at Goldstar:

https://www.goldstarsoftware.com/prices16.asp

Goldstar now includes that  cautionary language on versions going back to v11 (although the image-level backup would only help starting with v12).

See also:

https://communities.actian.com/s/supportservices/actian-licensing/actian-zen-licensing

We've already had two users who were forced into buying new licenses in light of this draconian policy that we can only hope they will reverse in the future (we and others have complained; there is also talk of a class action suit).

Even if you have an image-level backup, that will only work if the replacement server has the exact same computer name as the prior production server.  Otherwise you will receive a  key validation failure error message indicating that there has been a change to the machine signature and an indication that it relates to the different computer name.

Note that the foregoing does not apply to the many users we still support that are running valid legacy Btrieve 6.15 32-bit engines nor to the even older Btrieve.exe that loaded as a TSR from 16-bit ("DOS") versions although an image-level backup for those systems could still be useful.





Tuesday, March 31, 2026

Passwordless email delayed for now but Oauth2 is coming

Originally SMTP AUTH basic authentication (see our February 2017 GMAIL blog) was going to be phased out by Microsoft as early as March of 2026 (see this April 2024 Exchange Online blog).  That has since been rescheduled for Dec 31, 2026 (January 2026 Exchange Online blog).

Microsoft 365 (formerly Office 365, which is Microsoft's cloud-based email, calendar, and contacts service) uses Exchange Online.

Microsoft 365 will still allow for app specific passwords (see our February 2017 blog referenced above which discusses app specific passwords in the context of using GMAIL) as long as multi-factor authentication (MFA) is enabled. The intention is however to ultimately eliminate that option.

So what is behind this change?  OAuth: an abbreviation of "open authorization" that provides a way to authorize permissions between applications.  Essentially it eliminates the use of passwords and therefore is considered to be more secure.  (More information: What is Oauth?)

OAuth has been in use since late 2006, starting with its development for Twitter's API, with the first public version (OAuth 1.0) released in December of 2007 followed by the now more common OAuth 2.0 in 2012, which significantly expanded its use for apps and devices beyond web browsers. Oauth 2.0 is a redesign of Oauth 1.0 which was designed for websites. OAuth 2.0 is also referred to as OAuth2 (there is also an OAuth 2.1 on the horizon which is a different product).

Google Workspace apps including GMAIL have required OAuth2 since March of 2025 but as noted also still allows app specific passwords as the only allowed password method for sending emails. 

The most popular email providers currently are GMAIL, MS Outlook (formerly Hotmail and including Office 365, now Microsoft 365)  and Yahoo.  These providers have been implementing OAuth2 on different schedules.

Yahoo for example hasn't announced a specific date regarding the elimination of app passwords but may no longer be using it for new accounts; instead, they are pushing users towards newer, more secure methods such as account key (passwordless sign-in) for their own apps, while app passwords remain necessary for many older third-party email clients that don't support newer security methods, with some reports suggesting that Yahoo removed them for new accounts but still supports them for legacy users. App password generation may become available for individual new accounts after a period of regular use.

Local IT providers will likely follow suit but may continue to offer traditional SMTP (Simple Mail Transfer Protocol) services.

Note that you do not choose between SMTP and OAuth 2.0; you use OAuth 2.0 for authentication within the SMTP connection for secure email delivery, especially as providers phase out older, less secure methods. 

So why do we care?  Desktop applications that send emails will have to support OAuth2 if their end users rely on utilizing Microsoft 365 after December of 2026 (unless delayed again) and in the future with other major email providers.

Users though will still have other options that may be available through their website provider or via SMTP relay services such as https://www.smtp2go.com which already provides OAuth2 support.

So there is currently no reason currently to panic. We have been anticipating this change and have been closely monitoring the likely need to add OAuth2 support to Advanced Accounting's current email capability and have already identified several options.  Meanwhile we do plan to stay with our current email solution which for now works with all email providers.

Sunday, February 15, 2026

Creating or adding text to sales order header notes

 Advanced Accounting has extensive support for notes.  A single note can be up to 5,000 characters in length and attached (i.e. linked) to a number of different types of accounting software data including:  customer codes, vendor codes, inventory (aka product or item) codes, sales order headers (the main record associated with a sales order containing the customer code, billing and ship to address, terms, etc.), sales order line items, posted invoices (via after invoice maintenance), quote headers, quote line items, purchase order line items, employees, general ledger codes, journal entries, and also in the time and billing module where they are used extensively.   Notes can be accessed through a variety of options and reports.   And in sales orders, quotes and purchase order entry, existing notes attached to those line items can be automatically retrieved and attached as sales order line items, and then edited as necessary (since they then exist separately as a new, cloned note).

While most notes also can be printed on various documents (for example, notes attached to sales order line items), some notes are mainly for internal reference (but all notes can still be via the UT-E Notes Report option).  Sales order and quotes "header" notes are examples of notes used mainly for internal review.

For special customized applications, it may be desirable to automatically assign (i.e. "populate") note instructions into the header field.  The following examples are for programming reference should this type of customization be required and would generally apply to any type of note in the system provided that the appropriate "where from" and link code is provided.  This approach does not require the tas_notes option nor loading the wbknotes program into memory (which happens in the initial_setup call including in almost all Advanced Accounting programs) nor use of the special user defined commands that are included in the ADV60.LCY (encrypted ADV60.LIB) file as normally used when processing notes in other programs.

Example #1: add a header note to sales order that has no current header note

#lib addsum 
(* has the chk_open UDF *)

define bksycbnt_hndl type i size 5

(* the add word reset after "size 5" if used within the accounting software environment and the program has an initial_setup UDC i.e. user defined command which has already opened the notes file*)

(*defines for bksymstr_hndl and bkarinv_hndl should already in the file definition file, otherwise they need to also be defined *)
 
define note_num,so_num type R size 9
define where_from type A size 3

//start: label here if the #FORCERWN compiler directive is used

(*if initial_setup has not been included in the applicable program then open the notes file *)

openv 'bksycbnt' ext 'c'+co() fnum bksycbnt_hndl lock o
bksymstr_hndl=chk_open('BKSYMSTR','R',true)
bkarinv_hndl = chk_open('BKARINV','r',.f.)

where_from='SOH'

(*get the next note number - or replace with bkar.inv.note# if in SO-A*)

(*get the applicable BKARINV record, if bkar.inv.note# is zero, assign a note # *)

//where so_num is the desired so_num with the header note to update
//or you could scan the entire file using the SCAN command

so_num = 123456

findv m fnum bkarinv_hndl key bkar.inv.sonum val so_num

if flerr(bkarinv_hndl) <> 0 then quit 
// and then a ret after the quit depending on program type

if bkar.inv.note#=0
   inc bksy.next.note#
   note_num=bksy.next.note#
   save @bksymstr_hndl nocnf
endif

bkcbnt_note='Desired header note text'
bkcbnt_code = trim(str(note_num),'l')
bkcbnt_who = 'SOA'
bkcbnt_whr_frm = where_from
bkcbnt_date = date(
bkcbnt_time = time()
save @bksycbnt_hndl nocnf


(*bkar.inv.note# should be set to note_num and then save the BKARINV record *)

bkar.inv.note#=note_num
save @bkarinv_hndl nocnf //and probably a noclr

Example #2 -retrieve existing SO header note and add some text to it

define code type A size 25
define where_from type A size 3
define so_note type A size 5000

where_from='SOH'

(*get the bkarinv record similar to the code in example #1 with error handling then exit or quit if bkar.inv.note#=0 *)

note_num=bkar.inv.note#
code=trim(str(note_num),'l')
findv g fnum bksycbnt_hndl key cbnote_key val where_from,code,0,0

if flerr(bksycbnt_hndl)=0 .and. bkcbnt_code = code \\
 .and. bkcbnt_whr_frm = where_from
    //found it
else
   msg 'Could not find the desired note.'
   quit
   
   ret

endif

so_note=bkcbnt_note
so_note=trim(so_note,'t') + ' now add some additional text'
bkcbnt_note=so_note
save @bksycbnt_hndl nocnf

//the header note has now been updated with the additional text


Postscript:  the SOH "where from" value stands for sales order header. In quotes, we instead use QUH for the quotes header note reference.








Tuesday, January 13, 2026

2026 payroll system updates

Software updates for the payroll module of Advanced Accounting version 8 are now available. These include changes that address federal and state withholding changes that are now in effect as well as some internal required changes in our e-filing interface* (which has passed a required testing phase for both W-2 and 1099-NEC forms).  Our first two e-filings for 2025 were made this past Saturday (one of which was for an end user of the software).

Payroll updates for federal 2026 payroll changes that include all of the updates described in the latest IRS Publication 15-T are included including an updated tax table.

No tax on overtime and tips:  This federal provision has caused considerable confusion and as worded on tax forms and in the media has been very misleading.  These items are still fully reportable and subject to withholding  (including social security and medicare taxes and their match) as in the past, i.e. from an employer's point of view, nothing has changed.  And employees will not notice any changes in their net paychecks (absent their making W-4 changes).  

Employers do have new reporting requirements.  While these provisions are effective retroactively for 2025, there is no specific requirement to report them on W-2 forms (yet employers are still required to provide the applicable amounts to employees, even though there won't be any penalties for failing do to so; starting in 2026 the applicable overtime amounts will have to be reported in W-2 form Box 12 with a new code TT).  

Employees will be able to report qualified overtime and tips "deductions" on Form 1040 Schedule 1-A.

Not all overtime pay is "qualified" overtime.  Qualified overtime must first of all meet all of the requirements of the Fair Labor Standards Act (FLSA); in other words it must be compensation for over 40 hours in a week that is paid at 1.5 times the employee's normal rate and that is paid to non-exempt employees.   In other words, the following types of overtime are NOT qualified overtime:

(1)  Overtime amounts paid to exempt employees;

(2)  Overtime for hours less than 40 in the employer's defined week;

(3)  Overtime compensation that is paid at a rate of more than 1.5 times the employee's hourly rate.

If all of an employees overtime compensation meets all of the above criteria, then the employee would be able to claim an amount on Form 1040 Schedule 1-A that represents their total 2025 overtime pay divided by 3.  In other  words, only the overtime "premium" is subject to the deduction credit.  So if an employee is paid $10 per hour and receives overtime at $15 per hour, $5 is the overtime premium subject to an individual tax return deduction (and in total is also subject to an overall limit).   So it is not the full $15 overtime payment amount but rather only one-third of that rate, all other things being equal.

If an employer has mix of overtime rates or made overtime payments that weren't all for hours worked over 40, qualified overtime will require manual calculation.

For Advanced Accounting, in order to meet the reporting requirement for 2025, we will default the qualified  overtime compensation amount in Box 14 for employee reference with the abbreviation QUAL OTC; however that amount will need to be carefully reviewed to ensure that it meets the criteria outlined above (the accounting software program allows for individual review and for changing the OTC amount).  How this will be reported in 2026 will change as also previously noted.

The following link may be of some additional assistance: 

https://mrsc.org/stay-informed/mrsc-insight/november-2025/no-tax-on-overtime

Reminder re: form W-2s (in effect since tax year 2024): Employers filing 10 or more information returns, including Forms W-2, must file electronically (absent having received a waiver by the IRS).  Information returns include commonly filed 1099 forms.   Many states have similar requirements including some that are more restrictive than the federal requirements.

Reminder re: employee withholding forms:  Employees do not have to fill out a new W-4 each year (unless they are claiming to be exempt). Employees that make changes must however use the newer form W-4 and there must be on the 2020 and later federal income tax withholding system.  Most states with state income taxes have their own equivalent form and state withholding tax logic more often than not depends on the options selected on that form.  So an employee may need to fill out a new state form without necessarily changing anything on their existing W-4.

Social security limit changed for 2026:   The social security  limit has increased from $176,100 to $184,500 (our payroll update will make that change automatically or it can be manually updated for each payroll division in Advanced Accounting's SY-D Enter/Change Payroll/GL interface option).

State income tax withholding changes:    While there are nine states with no state income tax withholding, of the remaining states at least 27 states have made changes for 2026 for their state income tax withholding rates and/or related logic..  See also State Tax Changes Taking Effect January 1, 2026 (which outlines changes beyond just payroll withholding changes).

As of the date of this blog, we have made changes to Advanced Accounting 8's payroll tax tables and/or internal logic and tested those changes in the following states:  

California, Colorado, Georgia, Illinois, Indiana, Kentucky, Minnesota, Missouri, Montana, Nebraska, New Mexico, New York, North Carolina, Oklahoma, Oregon, and Vermont 

During this review process we have also picked up changes made mainly during the last of of 2025 for:

Ohio, Utah, Virginia, and West Virginia

It should be noted some states may parallel the federal "no tax on overtime and tips" changes at the state level, an example of which is the state of Michigan (effective also retroactively) and so employees may be able to claim a state income tax deduction.   

A separate payroll-only update is now available for Advanced Accounting 8:   These 2026 payroll updates will be included in the final Advanced Accounting 8 rel. 14 which will be the subject of a separate blog, however, we now have a payroll-only update that is standalone and does not require any other prior updates nor the rel. 14 update which can be implemented immediately to accommodate these changes.   Contact us to arrange for installation of that update.


*For tax year 2025 W-2 forms, the employer's email address, contact name and phone number are mandatory requirements but  only for electronic submissions to the Social Security Administration (SSA).   The employer name and address of course are also required.






Tuesday, December 31, 2024

2025 payroll updates

As we wind down another very active year of program development including special end user modifications and support as well as generic system-wide changes for the latest version of Advanced Accounting, we are now again devoting our attention to upcoming payroll changes; in additional we have been preparing for 2024 W-2 and 1099-NEC e-filings and have already passed the W-2 testing phase and will be ready to submit those as soon as they will be accepted on federal and state levels.

In terms of 2025 changes, we have payroll updates for all of the federal 2025 payroll tax changes (which can also be implemented by end users based on the rates on page 11 of IRS Publication 15-T which was released on December 9, 2024.

Reminder re: form W-2s for 2024: Employers filing 10 or more information returns, including Forms W-2, must file electronically (absent having received a waiver by the IRS).  Information returns include commonly filed 1099 forms.   Many states have similar requirements including some that are more restrictive than the federal requirements.

Reminder re: form W-4:  Employees do not have to fill out a new W-4 each year (unless they are claiming to be exempt). Employees that make changes must however use the newer form W-4 and there must be on the 2020 and later federal income tax withholding system.  Most states with state income taxes have their own equivalent form and state withholding tax logic more often than not depends on the options selected on that form.  So an employee may need to fill out a new state form without necessarily changing anything on their existing W-4.

Social security limit changed for 2025:   The social security  limit will be increasing from $168,600 to $176,100 (our payroll update will make that change automatically or it can be manually updated for each payroll division in Advanced Accounting's SY-D Enter/Change Payroll/GL interface option).

State income tax withholding changes: Nine states (Indiana, Iowa, Louisiana, Mississippi, Missouri, Nebraska, New Mexico, North Carolina, and West Virginia) have reduced individual income tax rates effective January 1, 2025.  See State Tax Changes Taking Effect January 1, 2025 where it is also indicates that some 39 states will be making notable tax changes in general.

In working through these changes, we have noted so far inconsistencies in the new changes (examples are Louisiana and West Virginia) which have made implementing these changes far more difficult than they should be.

Louisiana:  Louisiana has changed to be a flat rate tax however the new rates are based on three options:

a. Taxpayers Not Claiming a Standard Deduction.

b. Single or Married-Separate Taxpayers Claiming the Standard Deduction ($12,500)

c. Married-Joint Return, Qualified Surviving Spouse, or Head of Household Taxpayers Claiming the Standard Deduction ($25,000).

Options (b) and (c) are the same standard deduction amounts as before even though the rest  of the tax logic is different.   But how does an employee "not claim" a standard deduction?  The Louisiana L-4 withholding form still refers to "exemptions" but those don't exist any more.  Until this is clarified, we are unable to update Louisiana's state withholding logic (although we have made some initial changes to reflect the flat tax rate and standard deduction changes).

West Virginia:  There was one bill in August and another passed in October that made changes to the prior bill (SB2033).   But the language of that bill isn't fully in sync with West Virginia's withholding form nor are their percentage method tables published in October 2024 consistent with SB2033.  The heading categories do not match and the rates for "Two Earner jobs" (which also is inconsistent with the newer bill) do not match the SB2033 rates.

The former TWO EARNER/TWO OR MORE JOBS category for "Married filing jointly, both working/individuals earning wages from two jobs" as described in supposedly updated percentage method tables is not the same thing as married filing separately as outlined in SB2033.  

And the OPTIONAL ONE EARNER/ONE JOB category formerly for "Single, head of household or married with nonemployed spouse" in the percentages tax tables is also inconsistent with SB2033's category which says nothing about a "nonemployed" spouse.  Until this is clarified, updates for West Virginia are on hold (we have however gone had and made  changes based on SB2033).

Other states with changes:

California:  tax table changes only (extensive)

Michigan:  dependent deduction ("personal exemption") increase

Missouri:  tax table, logic and supplemental pay changes

Montana:  tax table changes only

New Mexico: tax table changes only

Oregon:  extensive internal logic changes (normal table approach doesn't work for Oregon)

Vermont:  withholding allowance update and tax table changes

Virginia:  standard deduction changes that were effective 4/1/24

(this blog will be updated as additional changes are identified and clarifications become available)



 

















Wednesday, July 31, 2024

TAS Premier 7ix release 18 published

We are pleased to announce release 18 in the TAS Premier 7ix series.  This release contains updates to the runtime and development system programs through July 31, 2024.

Release 17 was published on June 7, 2023 building on prior release 16 published on July 10, 2021, which was the first "7ix" release.   These updates continue to build on our initial  2004 TAS Professional version 7 release followed by TAS Premier 7i in the fall of 2005.  

Some of the new features include a new REMOVE_DIR() function, REGREADLOCAL() now supports REG_DWORD key types,a new form screen position (ScreenPos) option that may be useful in dual monitor environments as well as incorporating underlying VCL changes in the event of TMonitor.GetBoundsRect error responses (also a potential issue in dual monitor situations), /runprg parameter changes that will ignore the limit runtime setting if set and that will also no longer load the license file, message box changes to ensure that those error messages will appear "on top" when internal errors occur with the grid object, report program loading issues when a space character is included in the runtime path (resolved), important documentation additions, maintain database changes when editing array fields, and more. 

See the "Addsum Premier 7i features" under the topic "What's new in TAS Premier 7i" in the help files for more information as to all of the updates provided in this release.

Future releases of Advanced Accounting 8 (and 9) will use this newer 7ix runtime.


Wednesday, June 7, 2023

TAS Premier 7ix release 17 published

We are pleased to announce release 17 in the TAS Premier 7ix series.  This release contains updates to the runtime and development system programs through May 1, 2023.

Release 16 came out on July 10, 2021, and was the first "7ix" release.   These updates continue to build on our initial TAS Professional version 7 release in 2004 and then TAS Premier 7i in the fall of 2005.

Some of the new features include a COPYTOCLIPBOARD() function; a new third parameter in the SENDKEYS() function allowing developers to target an external windows/application; improvements relating to the TRANSX command; changes to the default behavior of the internal ASK button; the ability to upload files using FTP protocol over TLS/SSL (also known as FTPS, not to be confused with SFTP i.e. secure shell file transfer protocol) using an external executable that we developed written in the same language as the runtime; reenabling the FASTMM4 memory manager; and adding exception handling to the TLLFC() function.

Documentation updates are many including a new topic with respect to using colors in RUN programs, updates to reserved words primarily for legacy programs, adding documentation for the RTOD() function previously missing, plus documentation for new or improved features.

The older FTP function remains available but is not capable of sending files using FTPS protocol.  The newly provided executable can upload files via both secure and insecure methods, supports options for the port number, connect tries, connect/read/transfer timeout settings, TLS options (require vs. explicit vs. implicit), transfer types, and passive mode.  Any number of profiles can be established which can then be called from the TAS environment after being tested.

OpenSSL changes are expected later this year which will require changes both in the sending of secure e-mail (supported in Advanced Accounting) as well as FTP secure protocols, but we decided not to wait for those changes in order to provide FTPS capability now, which has not previously been available.

We previously had enabled the Borland replacement memory manager in an earlier runtime version, but we had a few users report harmless error messages sometimes when exiting the runtime, so we removed it.  Based on some extensive testing, however, we have found that the use of that replacement memory manager is critical in Windows 10 and 11 operating systems when loading DLLs using the TLLFC() function, and so we have reenabled that memory manager in all executables where it applies.  And the runtime executable still works just as well under prior Windows releases as well.  We thought that exception errors that started to be encountered when using TLLFC() related to adding QRCODE() support in the prior (release 16) version, but in fact, it related to memory management issues in Windows 10 and now 11 (which reenabling FASTMM4 seems to resolve).

See the "Addsum Premier 7i features" under the topic "What's new in TAS Premier 7i" in the help files for more information as to all of the updates provided in this release.

Future releases of Advanced Accounting 8 (and 9) will use this newer 7ix runtime.