> ## Documentation Index
> Fetch the complete documentation index at: https://docs-test.symmetry.com/llms.txt
> Use this file to discover all available pages before exploring further.

# What Is the Symmetry Tax Engine?

> Precise federal, state, and local payroll tax calculations for the U.S. and Canada.

The Symmetry Tax Engine (STE) is a payroll tax calculation engine for the United States and Canada. Provide an employee's addresses, wages, and tax form elections, and the STE determines which taxes apply and calculates the precise federal, state, and local withholding for both the employee and the employer.

The STE always calculates using the tax rules in effect for the **pay date you provide**, so results are correct across current, historical, retroactive, and off-cycle payrolls — not just today's rates. Symmetry keeps the underlying rates and rules current as tax law changes, so you receive these updates without changing your integration code.

## What the STE calculates

The STE calculates employee and employer taxes across every level of U.S. and Canadian payroll:

<Columns cols={2}>
  <Card title="Federal (U.S.)">
    Federal income tax (FIT), Social Security and Medicare (FICA), Additional Medicare, federal employer taxes (FUTA), and railroad retirement taxes (Employer RRTA Tier I and Tier II).
  </Card>

  <Card title="State">
    State income tax (SIT), state unemployment (SUI/SUTA) and surcharges, and disability/paid-leave programs (SDI, PFL/FLI) — for all 50 states, DC, and U.S. territories.
  </Card>

  <Card title="Local">
    City, county, school-district, and municipal taxes — including Pennsylvania EIT/LST, Ohio JEDDs, and other locals.
  </Card>

  <Card title="Canada">
    Federal and provincial income tax, CPP/QPP, and EI, calculated through the same engine and interfaces.
  </Card>
</Columns>

It also handles complex withholding scenarios, including [**pre-tax and post-tax benefits**](/ste/benefits/benefits-and-imputed-income-overview) (401(k), Section 125, HSA, and more), [**imputed income**](/ste/benefits/imputed-income), [**supplemental wages**](/ste/core-concepts/wage-types), [**multi-state and reciprocal scenarios**](/ste/guides/multi-state-employees), [**nonresident certificates**](/ste/guides/reciprocity-and-nonresident-certificates), and [**gross-up calculations**](/ste/guides/gross-up-calculations).

<Note>
  **Multi-state withholding.** The STE automatically handles multi-state withholding scenarios, including resident and nonresident taxation, reciprocity agreements, credits for taxes paid to other states, and courtesy withholding. See [Multi-state employees](/ste/guides/multi-state-employees).
</Note>

For a full breakdown of the jurisdictions and tax types supported, see [Tax Coverage](/ste/overview/coverage).

## How the STE works

Every calculation — whether through the hosted Web API or the on-premise SDK — follows the same three-part model:

1. **Find location codes.** Convert the employee's home and work addresses into location codes using the Symmetry Location Service (SLS).
2. **Find applicable taxes.** Use those location codes to ask the STE which taxes potentially apply. Each is identified by a unique tax ID.
3. **Calculate taxes.** Set the taxes up with wages, benefits, and any required details (like W-4 filing status), then compute withholding for both employee and employer.

For the full calculation model — including the two building blocks it rests on — see [How the STE Works](/ste/core-concepts/how-the-ste-works) and [Locations and Unique Tax IDs](/ste/core-concepts/locations-and-unique-tax-ids).

## Stateless by design

The engine is **stateless**: every call is fully self-contained, retaining no employee data or session between calculations. You supply all the inputs, you get back the amounts — which keeps the engine easy to scale and safe to call concurrently at high volume.

## Next steps

<CardGroup cols={2}>
  <Card title="Ways to use the STE" icon="list-check" href="/ste/overview/ways-to-use-the-ste">
    Explore the interfaces available for accessing the engine.
  </Card>

  <Card title="Hosted API vs. On-Premise SDK" icon="scale-balanced" href="/ste/overview/hosted-vs-on-premise">
    Decide between the hosted web API and the locally installed SDK.
  </Card>

  <Card title="Hosted API quickstart" icon="cloud" href="/ste/quickstarts/hosted-api-quickstart">
    Run your first calculation against the hosted web API.
  </Card>

  <Card title="SDK quickstarts" icon="code" href="/ste/quickstarts/java-sdk-quickstart">
    Get started with the Java, .NET, or C/C++ SDK.
  </Card>
</CardGroup>
