# Tax

URL: /systems/tax · Id: `system:tax`

> Tax calculates and collects sales tax and VAT, tracks registrations, and prepares every return and information return.

Tax computes sales tax, VAT and GST on every [Order](/business/nouns/order) through Stripe Tax, registers the [Company](/business/nouns/company) wherever sales cross a threshold, and files every return. [Agents](/business/nouns/agent) prepare each step; a [Human](/business/nouns/human) signs any sworn declaration.

## Summary
| Part | This System |
| --- | --- |
| Group | Finance |
| Status | Beta: it works, and its Verbs may still change |
| Shelf | Front: offered from a Startup’s first days |

You can ask:

- “Handle sales tax”
- “Register for sales tax in a new state”
- “Mark this customer tax-exempt”

## What you get
| Part | This System |
| --- | --- |
| Starts | On for every Startup at creation, with nothing to install. |
| Built from | [Functions](/code/platform/capabilities/functions), [Tax IDs](/systems/finance/tax-ids), [Tax filings](/systems/finance/tax-filings), [Workflows](/code/platform/workflows), [Tax calculation](/systems/finance/tax-calculation) |

## Nouns it owns
| Noun | Definition |
| --- | --- |
| [Credential](/business/nouns/credential) | A Credential is a standing authority a regulator grants a person or entity to perform certain acts in a jurisdiction. |

## Verbs
| Verb | Object | Approval | Event |
| --- | --- | --- | --- |
| [Order.place](/business/nouns/order/place) | [Order](/business/nouns/order) | None | [`Order.placed`](/business/events/Order.placed) |
| [Company.register](/business/nouns/company/register) | [Company](/business/nouns/company) | Asks first; waits 1 business hour | [`Company.registered`](/business/events/Company.registered) |
| [Customer.exempt](/business/nouns/customer/exempt) | [Customer](/business/nouns/customer) | None | [`Customer.exempted`](/business/events/Customer.exempted) |
| [Company.submit](/business/nouns/company/submit) | [Company](/business/nouns/company) | Asks first; waits 1 business hour | [`Company.submitted`](/business/events/Company.submitted) |

## Events
| Direction | Event | How |
| --- | --- | --- |
| Emits | [`Order.placed`](/business/events/Order.placed) | By [Order.place](/business/nouns/order/place) |
| Emits | [`Company.registered`](/business/events/Company.registered) | By [Company.register](/business/nouns/company/register) |
| Emits | [`Customer.exempted`](/business/events/Customer.exempted) | By [Customer.exempt](/business/nouns/customer/exempt) |
| Emits | [`Company.submitted`](/business/events/Company.submitted) | By [Company.submit](/business/nouns/company/submit) |
| Consumes | [`Order.paid`](/business/events/Order.paid) | Acts on it |

## States
None.

## Who operates it
| Part | This System |
| --- | --- |
| Accountable | [Finance Lead](/agents/finance/finance-lead) |
| Team | [Finance Team](/agents/finance) |
| Seat | A role agent holds it until a Human is seated. |
| Autonomy | `assist` |
| Also calls its Verbs | [Payroll Specialist](/agents/people/payroll-specialist) |

## Approvals and limits
| Verb | Rule | Detail |
| --- | --- | --- |
| [Company.register](/business/nouns/company/register) | A person says yes first | Waits 1 business hour |
| [Company.submit](/business/nouns/company/submit) | A person says yes first | Waits 1 business hour |

## Processes that use it
| Process | How it uses it |
| --- | --- |
| [Supply](/workflows/processes/supply) | A Workflow writes [Credential](/business/nouns/credential) |
| [Books](/workflows/processes/books) | A step calls [Company.register](/business/nouns/company/register) |
| [Payroll](/workflows/processes/payroll) | A step calls [Company.submit](/business/nouns/company/submit) |
| [Incorporation](/workflows/processes/incorporation) | A Workflow writes [Credential](/business/nouns/credential) |
| [License renewals](/workflows/processes/license-renewals) | A Workflow writes [Credential](/business/nouns/credential) |

## Rail underneath
Stripe’s products (Stripe’s names): **Tax**.

| Capability | Runs on |
| --- | --- |
| [Tax IDs](/systems/finance/tax-ids) | apis.tax |
| [Tax filings](/systems/finance/tax-filings) | apis.tax |

## Views and dashboards
| View | Shows | Metrics |
| --- | --- | --- |
| The [Finance Lead](/agents/finance/finance-lead)’s view | The Metrics its accountable Role answers for. | [Fully loaded Cost](/agents/finance#fully-loaded-cost), [Cost coverage](/agents/finance#cost-coverage), [Contribution margin](/agents/finance#contribution-margin), [Acquisition payback](/agents/finance#cac-payback), [Lifetime value](/agents/finance#ltv), [Contribution per outcome](/agents/finance#contribution-per-outcome) |

## Access
What each Access level may call here.

| Access level | May call |
| --- | --- |
| `owner` | Every Verb (9) |
| `admin` | All but 2 of 9: `Company.register`, `Company.submit` |
| `member` | Only 4 of 9: `Credential.get`, `Credential.list`, `Customer.exempt`, `Order.place` |
| `viewer` | Read only (2 of 9) |

## Import and export
None.

## Fees and pricing
Stripe’s tax calculation cost passes through at cost on each taxed charge, booked as its own Entry beside that charge’s platform fee.

## Availability and limits
| Part | This System |
| --- | --- |
| Status | Beta: it works, and its Verbs may still change |

## Compliance notes
The platform calculates, collects and files where the Startup is registered; deciding where to register stays the founder’s.

Controls it carries:

- [Action completion](/systems/trust-and-governance/controls/action-completion)

## Related Systems
- [Billing](/systems/billing)
- [Ledger](/systems/ledger)
- [Corporate records](/systems/corporate-records)
- [Credentialing](/systems/credentialing): also holds [Credential](/business/nouns/credential)

## Example
A [b2c](/business/motions/b2c) [SaaS](/products/templates/saas) for household budgets sells in 30 states. When one state’s sales pass $500,000 in a year, [`Company.register`](/business/nouns/company/register) registers the Company there. [`Order.place`](/business/nouns/order/place) charges that state’s tax from the next sale, and each quarter [`Company.submit`](/business/nouns/company/submit) files the return and pays it.