Skip to main content
Every wage amount you enter has an assigned wage type. Wage types let the engine treat different kinds of pay differently — a bonus is taxed differently than a regular paycheck, and unemployment wages are tracked separately from income-tax wages. For the full list of wage type identifiers across the hosted API, C/Pascal, and Java/.NET interfaces, see the Wage Types reference.

Regular and supplemental

Two wage types do most of the work in a calculation:

Regular

Standard period wages — salary, hourly pay. Bracketed taxes (FIT, SIT) annualize these to find the right rate.

Supplemental

Bonuses, commissions, and other non-regular pay. Often taxed at a flat supplemental rate or aggregated with regular wages.
For most recurring pay, you simply set the wage type to Regular; use Supplemental for bonuses and other one-off pay. The other wage types below exist for specific purposes — feeding a particular tax or handling a special category of pay — so you reach for them only when your scenario calls for it.

Calculation contexts

Because a paycheck can mix regular and supplemental pay, a single tax may calculate in up to three contexts:
Combined (value 5) is an output-only wage type — you never enter it as input. It appears in results when a tax’s calculation method combines wage types. See Calculation methods.

Unemployment and specialized wages

Some wage types exist to feed specific taxes:
  • FutaGross / SutaGross — wages specific to federal/state unemployment, which have their own wage bases.
  • SutaPreviousState / SutaPredecessor — YTD SUTA wages from another state or a predecessor employer, used to correctly apply the annual SUTA wage base.
  • MinisterHousingAllowance — clergy housing, exempt from FIT but subject to SECA.
If you don’t enter these explicitly, the wage-defaulting option can derive federal, FUTA, and SUTA wages from your regular/supplemental entries automatically.

Custom wage types

You can define your own wage categories for client-specific pay. Custom wage-type IDs must be ≥ 100 to avoid colliding with the built-in enum, and you must enable the Custom_Wage_Type option.

Gross, subject & taxable wages

How wages become taxable amounts.

Calculation methods

How each wage context is taxed.

Wage types reference

Every wage type and its identifier in each interface.

Tax types and limits

How a rate is applied once wages are classified.