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

# Customer exemptions

> How to make a buyer's tax exemption apply to your calculations

## What customer exemptions are

Some buyers do not owe sales tax on a sale due to the nature of their business, sale type, or other circumstances. The most common example is resale. For example a retailer buying inventory to sell on presents a resale certificate to their supplier, and the supplier charges no tax. The tax will be collected instead when the goods reach the end consumer. Here is a non-exhaustive list of other exemptions: driveaway (a vehicle bought to be titled in another state), agriculture, manufacturing, direct pay, and government or nonprofit organizations.

Taxwire stores exemption certificates on customer records. You manage them in the [Taxwire App](https://app.taxwire.com) by opening the buyer on the Customers page and adding each certificate with its type, dates, covered states and the certificate document. If you want to load customers and their certificates in bulk, contact [Taxwire support](mailto:support@taxwire.com).

At calculation time, each active certificate becomes the matching jurisdiction-scoped [customer attribute](/api-reference/guides/tax_attributes#customer-attributes). A resale certificate covering Texas becomes `RESALE_USA_TX` on every line that buyer appears on. The exemption then applies when the line's product carries the matching product attribute, such as `_RESALE`. Most exemptions are deliberately double-triggered, because a buyer holding a resale certificate can still purchase items for their own use.

## Referencing the buyer with `customer.preset`

```json theme={null}
{
  "transaction_date": "2026-08-05T00:00:00Z",
  "line_items": [
    {
      "id": "li_1",
      "unit_price": "100.00",
      "quantity": "1",
      "product": { "tax_attributes": ["TANGIBLE_PERSONAL_PROPERTY._RESALE"] },
      "customer": {
        "address": {
          "line1": "123 Main St",
          "city": "Austin",
          "state": "TX",
          "country": "US",
          "postal_code": "78701"
        },
        "preset": { "id": "cust_456", "source": "taxwire" }
      }
    }
  ]
}
```

* For customers created in Taxwire's dashboard, `preset.id` is the customer id input into the platform and `preset.source` is `taxwire` (the default).
* For customers synced from a connected platform, `preset.id` is the platform's own id for that customer and `preset.source` is the platform name, for example `stripe` or `quickbooks`.

When the preset matches a customer record, Taxwire derives the customer attributes from that customer's active certificates automatically, so you never pass `RESALE_USA_TX` yourself. The certificate is only half of the trigger, though. The line still needs the matching product attribute (for example `_RESALE`), either from its [product preset](/api-reference/guides/presets) or passed explicitly on `product.tax_attributes`. If the certificate is on file but the line carries no product attribute, the line is treated as taxable.

### Verifying the setup

Run a calculation for the exempt buyer in a state the certificate covers and check that tax comes back zero. Then check the negatives: a different buyer on the same products is still taxed, and the exempt buyer in a state the certificate does not cover is still taxed.

<Note>
  Exemption management is enabled per organization. If certificates you have loaded are not affecting calculations, contact [support](mailto:support@taxwire.com) to confirm it is enabled for your account.
</Note>

## The alternative: force attributes

Certificates only derive customer attributes for the exemption types Taxwire supports: resale, driveaway and 501(c)(3) nonprofit organizations. This functionality is also useful when you cannot reference customer records at all. In those cases, assert the exemption directly on the request by passing a force attribute on `customer.tax_attributes`:

```json theme={null}
{
  "id": "li_1",
  "unit_price": "100.00",
  "quantity": "1",
  "product": { "tax_attributes": ["TANGIBLE_PERSONAL_PROPERTY"] },
  "customer": {
    "address": { "state": "TX", "country": "US", "postal_code": "78701" },
    "tax_attributes": ["FORCE_RESALE"]
  }
}
```

`FORCE_RESALE` is single-triggered, which means it treats the line as a resale purchase with no certificate on file and no product attribute required. It is an unconditional override, so only use it for buyers whose every purchase is exempt. Keep the buyer's paperwork on record anyway. See [Force attributes](/api-reference/guides/tax_attributes#force-attributes) for the full behavior, the jurisdiction-scoped variants, and the cautions.

Prefer the certificate path when the buyer's exemption type supports it. It scopes the exemption to the states the certificate actually covers, stops applying when the certificate expires, and leaves an audit trail.
