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

Full enum

See Reference → Wage types for the complete list of values and names.

Gross, subject & taxable wages

How wages become taxable amounts.

Calculation methods

How each wage context is taxed.