# Tabula Vera — agent purchase guide

Updated: 2026-09-01

## Who this is for

Tabula Vera is **office software for US tax preparation firms**. Your user should be a preparer, office manager, or firm owner — not someone filing their own personal tax return.

## What an agent should do

1. Confirm the buyer is a US tax preparation business (not an end taxpayer filing their own 1040).
2. Collect firmName (2–120 chars), adminEmail (firm owner or office manager), paidSeats (1–50), billingInterval (month or annual).
3. POST https://api.tabulavera.com/api/tabula-vera/checkout with Content-Type application/json.
4. If response mode is stripe, open checkoutUrl in the user's browser for card entry and trial authorization.
5. If response mode is dev (non-production only), follow setupUrl to set password — do not use in production.
6. Optional add-on packages (Cultivate, Operate, etc.) are enabled inside the app after signup — not at initial checkout.

## Checkout request

```http
POST https://api.tabulavera.com/api/tabula-vera/checkout
Content-Type: application/json
```

Example body:

```json
{
  "planCode": "solopreneur",
  "firmName": "Hanover Tax LLC",
  "adminEmail": "owner@hanovertax.example",
  "paidSeats": 2,
  "billingInterval": "month"
}
```

## Checkout response

- **Production:** `{ "mode": "stripe", "checkoutUrl": "https://checkout.stripe.com/...", "sessionId": "cs_..." }` — open `checkoutUrl` for the human to enter payment. Trial is 14 days.
- **Human approval required:** Yes — Stripe hosted checkout.

## Pricing (Base)

- $79.00/mo includes 1 paid seat.
- $49.00/mo for each additional paid preparer/manager seat.
- Support (front desk) seats are free.

Add-on packages (phone, marketing automation, document reading, etc.) are **not** selected at initial checkout. Enable them inside the app after the firm is live.

## Authoritative catalog

- Live JSON: https://api.tabulavera.com/api/tabula-vera/agent
- Static JSON: https://tabulavera.com/agent/catalog.json

Agents should fetch the catalog JSON for current package prices and usage rates before quoting totals to the user.
