What does the “Payroll Tax Update” do in the Sage 100 Payroll 2.x product?

I thought the tax tables and calculations were all done in the cloud?  What does the “Payroll Tax Update” do in the Sage 100 Payroll 2.x product? 

 These are common questions and I’m hoping that I can offer a good explanation.

 Yes, the Sage Payroll Calculation Engine (SPA Engine) is a cloud service hosted in Azure, along with the Sage Payroll compliance (CLAD) data,  that incorporates the tax rates, limits, and tax calculation rules for the United States.   This simple service takes input from Sage 100 and calculates payroll taxes.  The input has no personally identifiable information and contains everything the Payroll Engine needs to completely calculate taxes for the current pay run.   The information provided to the Payroll Engine service, called a payload, is mostly a series of codes and numbers, to identify which taxes to calculate, employees filing statuses, number of dependents, the date for the pay cycle, which earnings and deductions along with their types, and of course the amounts for the current pay run along with year to date.

 When putting together the input payload, we need to know how to speak to the Payroll Engine (SPA) in the cloud.  This is done by a series of cross-reference codes that are contained in system tables that were installed with the new 2.x version of payroll into the MAS_System directory.    These tables are used throughout payroll to match up codes with the more user-friendly Sage 100 counterparts.  You will see these used in Earnings & Deduction code maintenance where you are asked to pick a Tax Rule to associate with the type of earnings and deductions.  This code is used during Payroll Calculation and is sent to the SPA engine.    There are also cross-reference codes used behind the scenes to identify filing statuses, tax codes, tax groups (states & local jurisdictions), tax locations, etc.    All of these tables are used to put together the input package or payload to send to the SPA engine, during Payroll Tax Calculation. 

 Periodically, there might be updates to these tables which is where the Payroll Tax Update in Sage 100 comes in.  The Sage 100 system will ask the Payroll Service in the cloud if any of these references has changed.  Such as, does Massachusetts have new filing status’ or did a new tax get added to a county in Kentucky?     It’s only these references that the Payroll Tax Update cares about and if it is told that something has changed then the Sage 100 Payroll user will receive a message:

 This just indicates that there may have been a new tax added (or surprisingly removed), or a new filing status, or some property of a specific tax was changed or added.  When you run this utility you will essentially be updating these cross-reference system tables with the latest changes from the cloud payroll service, thus keeping your payroll system up to date with the ability to properly communicate with the SPA engine to process new taxes, earnings/deduction types, filing status’, et al.  


When you run the Payroll Tax Update Report, this shows the differences of the cross reference data.  This report will show the Payroll cross-reference codes that are used in the formation of the input payload that is sent to the Payroll Tax Service.  This report does not tell you if your state or federal withholding rates have changed, but it will tell you if there was a new tax added or if a new deduction type was added (see the PR_TaxDeductionTaxRule) in the sample below.  This report can give you some indications of whether there were any changes that could be applicable to your employees.  Such, as if you live Amelia, Clermont County, Ohio, you may want to review any Tax Profiles you have setup. (see PR_TaxLocation below).  You should then run the Payroll Status Check to verify the Tax Profiles.




Hopefully, this helps explain a little more about what the Payroll Tax Update does within Sage 100, and what it doesn’t do as well.  Please find below a list of the system tables this update maintains and their usage within the Sage 100 Payroll Product.




Areas Used


Cross-Reference for Earnings Types

Earnings Code Maintenance, and Tax Calculation


Cross-Reference for Deduction Types

Deduction Code Maintenance, and Tax Calculation


Cross-Reference by Tax Group of employee filing status

Employee Maintenance, and Tax Calculation

PR_TaxGroup, PR_TaxGroupDetail

Relationship of Tax Groups (states, and locals) with their corresponding tax codes

Tax Profile Maintenance, Company Tax Group Maintenance, Employee Maintenance, and Tax Calculation

PR_TaxLocation, PR_TaxLocationDetail

Relationship of Tax Locations and which Tax Groups belong to a location.  (ie  Tax Location CA-SANCO-SANCT consists of 3 tax groups, Federal, California, and San Francisco)

Tax Profile Maintenance, Employee Maintenance, and Tax Calculation

PR_TaxCodeProperty, PR_TaxProperty

Maintains which properties need to be set for certain taxes.  (ie Some taxes have limits and need to know YTD information, some taxes require filing status)

Tax Calculation


Partial list of tax rates & limits. 

Only used in Quarterly Tax Report, Federal & State Tax Reporting for reference.



  • Hi all,

    It's been a while since I posted this about the Payroll Tax Update, but I wanted to amend it with some additional comments. 

    Occasionally, there will be cloud Payroll Service updates that may trigger the "Payroll Tax Update" in the Sage 100 product (see prompt above), after downloading the update there may not be anything that Sage 100 uses internally, this will result in a blank or empty (no data to print) Payroll Update Report.   We will try to note this on the Payroll Tax Changes site in the future.  This is normal and may occur from time to time.

    We also will be looking into making changes on the Payroll Tax Update report itself, stating this instead of the 'No Data to Print'.