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

# Configure, then calculate

> The two-phase workflow behind every STE calculation: gather the inputs that describe a paycheck, then run the engine against them.

Every STE calculation follows the same two-phase pattern: you **configure** all of the inputs for a paycheck, then you **calculate** and read the results. Configuration gathers the location codes, tax IDs, wages, benefits, and options that describe the payroll scenario; calculation runs the engine against that configuration and returns the withholding amounts. Nothing is computed until you have finished setting up the inputs.

## The workflow

Location and tax resolution come first — converting addresses into [location codes](/ste/core-concepts/locations-and-unique-tax-ids) and querying the STE for the applicable [Unique Tax IDs](/ste/core-concepts/locations-and-unique-tax-ids). That groundwork, and the model behind it, is covered in [How the STE Works](/ste/core-concepts/how-it-works). This page picks up from there, at the configure-then-calculate phase.

<Steps>
  <Step title="Configure the calculation">
    Set up everything the engine needs for the paycheck:

    * [Wages](/ste/configuration/setting-wages) by [wage type](/ste/core-concepts/wage-types), tied to location codes
    * [Tax jurisdictions](/ste/configuration/setting-jurisdictions) (the tax IDs to compute, plus per-tax options such as exemptions, residency, and year-to-date amounts)
    * [Benefit contributions and imputed income](/ste/configuration/setting-benefits) that affect withholding
    * [Engine options](/ste/configuration/engine-options) and the [payroll run parameters](/ste/configuration/pay-date-and-pay-periods) (pay date, pay periods per year, pay period number)

    Because returned taxes are only *potentially* applicable, this is where you exempt any tax that doesn't apply — or simply leave it out.
  </Step>

  <Step title="Calculate and read results">
    Run the calculation. Retrieve the amount withheld for each tax, along with the [gross, subject, and taxable wage amounts](/ste/core-concepts/wages-gross-subject-and-taxable), and use those values in your system to determine the employee's net pay.
  </Step>
</Steps>

## Two ways to configure

<CardGroup cols={2}>
  <Card title="Hosted API">
    Configuration and calculation happen in a single request: you build a JSON payload describing the full scenario and POST it to the engine, then read the response.
  </Card>

  <Card title="On-premise SDK">
    You can build up the configuration with the SDK's setter methods, or send the same JSON request body used by the hosted API directly to your local installation.
  </Card>
</CardGroup>

## Related

<Columns cols={2}>
  <Card title="Sending JSON to the on-premise SDK" href="/ste/operations/json-payloads" icon="code">
    Send hosted API request bodies straight to a local installation.
  </Card>

  <Card title="Reading a calculation result" href="/ste/core-concepts/reading-a-calculation-result" icon="list-check">
    What comes back per tax, and how to consume it.
  </Card>
</Columns>
