Skip to content

Introduction

This is the developer’s reference for the TaxControls component. Information presented here is intended for the payroll application programmer, and not the application end user.

The TaxControls component computes federal, state, and local payroll taxes, which are kept current through a subscription to the Caliber Technology TaxUpdate Service. The component is designed to plug in to your payroll-related application with very little setup, and has a simple programming interface.

Design

Your App
Edwards, Michael 86.25 76.32 0.16
Anderson, Patricia 143.93 48.88 16.30
Jones, Lily 86.34 27.95 17.36
 tc.SelectedTax = emp.taxname[i];
 tc.Earnings = emp.earnings;
 tc.FilingStatus = emp.status;
   :
 return tc.TaxAmount()
TaxControls component
Your application controlling TaxControls calculations.
Your App
McNamara, James 0.16 83.48 36.77
Smith, Michael 49.84 58.88 37.75
McNamara, Patricia 192.21 47.34 11.24
 tc.setSelectedTax(emp.taxname[i]);
 tc.setEarnings(emp.earnings);
 tc.setFilingStatus(emp.status);
   :
 return tc.TaxAmount()
TaxControls component
Your application controlling TaxControls calculations.

Using TaxControls, individual tax amounts are computed one at a time. For each employee, your application will loop through multiple tax names (setting SelectedTax), providing various settings for each tax calculation, then calling TaxAmount to get the computed value.

A typical database schema to support this might include:

Employee
emp_id
last
first
ssn
dob
:
EmpTax
emp_id
taxname
earnings
ytdearnings
filingstatus
exemptions
stateexemptions
miscellaneous
auxiliary
Employee and EmpTax tables

Each Employee record would have multiple corresponding EmpTax records (one for each tax), so that each tax calculation gets an independent set of pay parameters. This is necessary because, for example, in some formulas exemptions are interpreted as dependents only, while in others they include the employee and spouse as well.

Even 'earnings' and 'ytdearnings' need to be set independently for each tax, because some benefits may be tax-free only for federal purposes, which means that they must be included in earnings for state or local taxes.

Some taxes require additional information besides earnings, filing status, and exemptions. The 'miscellaneous' and 'auxiliary' fields are used in such situations.

For example, the 'AL' (Alabama) formula allows an option for claiming 0, 1, or 2 personal exemptions. This information is passed to the tax through the Miscellaneous variable.

We provide enough information in tax properties to allow meaningful labels and help text for these generic fields. For the 'AL' tax, the Miscellaneous-tag property for the tax is 'Personal exemption'. Your app can use this property to make the field label for Miscellaneous more meaningful.

Usage

TaxControls components are designed to assist with payroll-related tasks your application may require:

  • Employee setup

    We can help your application guide the payroll administrator in setting up appropriate employee withholding taxes. Your app can retrieve a list of all available taxes by category, or get a list of applicable tax names based on work and resident ZIP Codes or addresses. Instructions are available which can be shown to the administrator, indicating required information for each tax.

  • Payroll process

    Your app will cycle through each applicable tax, setting the TaxControls properties accordingly. For each, it will call the TaxAmount method to calculate the tax.

The TaxControls component provides all information programmatically, allowing your application to control presentation to the administrator.