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

# Calculate bonus withholding

> Choose between the percent (flat) method and the aggregate method for bonus withholding.

CBS offers two bonus calculators. Pick based on how you want supplemental wages withheld.

## Percent (flat) method: `flatbonus`

Withholds using the supplemental flat rate. POST to `flatbonus`:

```bash theme={null}
curl -X POST https://calculators.symmetry.com/api/calculators/flatbonus \
  -H "pcc-api-key: yourKey" -H "Content-Type: application/json" \
  -d '{"state":"CO","bonus":5000,"payFrequency":"WEEKLY","grossPayYTD":0,"federalFilingStatusType":"SINGLE","federalAllowances":0,"additionalFederalWithholding":0}'
```

<Warning>
  The percent method is not available in every state. For states that don't support it, the API returns HTTP **422** with a message like *"CALIFORNIA does not support this type of calculation. Please select a different state."* See [Handle states with no supplemental rate](/cbs/api/handle-no-supplemental-rate).
</Warning>

## Aggregate method: `agbonus`

Combines the bonus with regular wages from the last paycheck to apply the correct withholding rates. POST to `agbonus` with the bonus plus the current pay context. Use this when the percent method isn't available or isn't appropriate.

## Choosing

* **Percent/flat**: simplest; a fixed supplemental rate on the bonus (where supported).
* **Aggregate**: more accurate for the employee's actual bracket; works in all states.

For which method each calculator uses, see [Calculation methods by calculator](/cbs/core-concepts/calc-methods).
