---
title: "TaxJar"
description: "Real-time sales tax calculation, reporting and filing across US states"
---

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

# TaxJar

# TaxJar Integration

Connect TaxJar to calculate sales tax in real time at checkout, and to record each order so your filings reconcile against what you actually charged.
---

## Features

| Feature | Description |
|---------|-------------|
| **Real-time calculation** | Tax calculated at checkout from the shipping destination |
| **Transaction recording** | Completed orders committed to TaxJar for reporting |
| **Refunds** | Refunds sent to TaxJar so filings stay accurate |
| **Voids** | Voided orders removed from TaxJar |
| **Sandbox mode** | Test against TaxJar's sandbox before going live |

TaxJar is one of two tax providers FirearmCart supports. Only one can be active at a time â€” activating a second tax plugin is refused until the first is deactivated. See [Avalara](/integrations/avalara) for the alternative, and [Taxes](/store-setup/taxes) for the built-in manual tax zones if you do not need a provider.

> **No separate settings page.** Unlike Avalara, TaxJar has no entry in the sidebar. Everything â€” credentials, settings and the API activity log â€” lives in the **Configure** modal on the TaxJar card in the marketplace.

---

## Prerequisites

Before connecting, you need:

- An active TaxJar account
- Your TaxJar **API key**
- Nexus configured in TaxJar for the states you collect in

---

## Setting Up

1. Navigate to **Plugins > Marketplace**
2. Find **TaxJar**
3. Click **Activate**
4. Enter your **API Key**
5. Tick or clear **Enable Sandbox Mode**
6. Optionally click **Test Connection** to verify, then click **Activate Plugin**

Your credentials are verified against TaxJar before the plugin activates â€” if they fail, activation is blocked and the error appears under the API Key field.

Sandbox mode points at TaxJar's sandbox environment (`api.sandbox.taxjar.com`) instead of production. Use it to verify the connection and calculations without recording real transactions, then turn it off before taking live orders.

---

## How Tax Is Calculated

At checkout, FirearmCart sends the order's origin and destination addresses and its line items to TaxJar, which returns the tax due. That amount is what the customer is charged.

The **origin** address comes from your store address in **Settings > General** â€” not from TaxJar. The **destination** is the customer's shipping address; if it has no state, no calculation is attempted and tax is left at zero.

Your nexus settings live in TaxJar, not in FirearmCart â€” if tax is not being collected for a state you expect, that is where to check first.

> TaxJar does not offer address validation through FirearmCart. The **Validate Address** button on customer addresses only works with Avalara.

---

## Recording, Refunds and Voids

Orders are recorded in TaxJar once completed, so your TaxJar reports reflect real sales rather than quotes.

- **Refunding** an order in FirearmCart posts a matching refund transaction to TaxJar
- **Voiding** an order **deletes** the recorded order transaction from TaxJar rather than posting a reversal, so it disappears from your reports entirely

Because refunds and voids flow through automatically, your TaxJar filings stay in step with your order history without manual reconciliation.

---

## Troubleshooting

### Connection Fails

- Verify the API key is correct and has not been rotated in TaxJar
- Confirm you are using the right key for the mode you selected â€” sandbox and production keys are not interchangeable

### Tax Is Not Being Collected

- Confirm nexus is configured in TaxJar for the destination state
- Confirm the customer's shipping address has a state â€” without one, no calculation is attempted
- Confirm TaxJar is the active tax provider (only one tax plugin can be active at a time)
- Turn on **Enable client-side logging** in the Configure modal, then check the **Activity** tab for the failing request

### Amounts Do Not Match TaxJar Reports

Check whether the order was refunded or voided after completion. A refund posts a matching refund transaction; a void deletes the original order transaction outright, so a report with no trace of the order is expected.

---

## Related Documentation

- [Integrations Overview](/integrations) - All integrations
- [Avalara](/integrations/avalara) - The alternative tax provider
- [Taxes](/store-setup/taxes) - Manual tax zones
- [Refunds](/orders/refunds) - Processing refunds

Source: https://docs.firearmcart.com/integrations/taxjar/index.mdx
