{
  "schemaVersion": "1.0",
  "spec": "tabula-vera-agent-manifest",
  "updated": "2026-09-01",
  "product": {
    "name": "Tabula Vera",
    "tagline": "Run your tax office in one place.",
    "category": "B2B SaaS — tax preparation office software",
    "audience": "US tax preparation firms, solo preparers, and small seasonal offices",
    "website": "https://tabulavera.com",
    "staffLogin": "https://app.tabulavera.com/login",
    "humanSupport": "Start trial on the marketing site; billing is self-serve via Stripe."
  },
  "agentAccess": {
    "llmsTxt": "https://tabulavera.com/llms.txt",
    "agentsMd": "https://tabulavera.com/agents.md",
    "staticCatalog": "https://tabulavera.com/agent/catalog.json",
    "liveCatalog": "https://api.tabulavera.com/api/tabula-vera/agent",
    "robotsTxt": "https://tabulavera.com/robots.txt",
    "sitemap": "https://tabulavera.com/sitemap.xml",
    "note": "Prefer GET /api/tabula-vera/agent for authoritative pricing. Static /agent/catalog.json mirrors this file at deploy time."
  },
  "purchase": {
    "intent": "Help a tax preparer start a Tabula Vera office trial. Collect firm name, admin email, paid seat count, and billing interval. A human must approve Stripe checkout.",
    "trialDays": 14,
    "defaultPlanCode": "solopreneur",
    "requiresHumanPaymentApproval": true,
    "paymentProcessor": "Stripe Checkout (hosted)",
    "postPurchase": {
      "welcomeUrlTemplate": "https://tabulavera.com/welcome?session_id={CHECKOUT_SESSION_ID}",
      "staffLogin": "https://app.tabulavera.com/login",
      "description": "After Stripe success the admin sets a password on the welcome page, then signs in at app.tabulavera.com."
    },
    "steps": [
      "Confirm the buyer is a US tax preparation business (not an end taxpayer filing their own 1040).",
      "Collect firmName (2–120 chars), adminEmail (firm owner or office manager), paidSeats (1–50), billingInterval (month or annual).",
      "POST https://api.tabulavera.com/api/tabula-vera/checkout with Content-Type application/json.",
      "If response mode is stripe, open checkoutUrl in the user's browser for card entry and trial authorization.",
      "If response mode is dev (non-production only), follow setupUrl to set password — do not use in production.",
      "Optional add-on packages (Cultivate, Operate, etc.) are enabled inside the app after signup — not at initial checkout."
    ],
    "checkout": {
      "method": "POST",
      "url": "https://api.tabulavera.com/api/tabula-vera/checkout",
      "contentType": "application/json",
      "bodySchema": {
        "type": "object",
        "required": [
          "planCode",
          "firmName",
          "adminEmail"
        ],
        "properties": {
          "planCode": {
            "type": "string",
            "enum": [
              "solopreneur",
              "team",
              "firm"
            ],
            "description": "Public marketing uses solopreneur; team/firm are seat-cap bundles."
          },
          "firmName": {
            "type": "string",
            "minLength": 2,
            "maxLength": 120
          },
          "adminEmail": {
            "type": "string",
            "format": "email",
            "maxLength": 320
          },
          "adminFirstName": {
            "type": "string",
            "maxLength": 80
          },
          "adminLastName": {
            "type": "string",
            "maxLength": 80
          },
          "paidSeats": {
            "type": "integer",
            "minimum": 1,
            "maximum": 50,
            "description": "Billable preparer/manager seats. Support (front desk) logins are free."
          },
          "billingInterval": {
            "type": "string",
            "enum": [
              "month",
              "annual"
            ],
            "description": "annual bills 10 months for 12 calendar months."
          }
        }
      },
      "responseSchema": {
        "oneOf": [
          {
            "type": "object",
            "required": [
              "mode",
              "checkoutUrl",
              "sessionId"
            ],
            "properties": {
              "mode": {
                "const": "stripe"
              },
              "checkoutUrl": {
                "type": "string",
                "format": "uri"
              },
              "sessionId": {
                "type": "string"
              }
            }
          },
          {
            "type": "object",
            "required": [
              "mode",
              "setupUrl",
              "firmId"
            ],
            "properties": {
              "mode": {
                "const": "dev"
              },
              "setupUrl": {
                "type": "string",
                "format": "uri"
              },
              "firmId": {
                "type": "string"
              }
            }
          }
        ]
      }
    },
    "pricingFormula": {
      "baseMonthlyUsd": "79.00",
      "extraSeatMonthlyUsd": "49.00",
      "monthlyTotalFormula": "79 + 49 × max(0, paidSeats − 1) USD per month",
      "exampleMonthlyTotalsUsd": {
        "1": "79.00",
        "2": "128.00",
        "3": "177.00"
      },
      "annualMultiplier": 10,
      "annualUsageDiscountPercent": 10
    }
  },
  "basePlan": {
    "code": "solopreneur",
    "name": "Solopreneur",
    "included": "Base office software — client list, production board, client portal, documents, intake, compliance.",
    "monthlyUsd": "79.00",
    "extraSeatMonthlyUsd": "49.00",
    "supportSeats": "Unlimited Support (front desk) logins are free; they cannot prepare returns."
  },
  "packages": [
    {
      "code": "cultivate",
      "name": "Cultivate",
      "priceNote": "$39.00/mo + SMS usage",
      "blurb": "Grow the book — office chat, automated follow-ups, and email/SMS marketing on the same client files.",
      "includes": [
        "Office Chat",
        "Email & SMS automation / follow-ups",
        "Marketing"
      ],
      "availableAtSignup": false
    },
    {
      "code": "operate",
      "name": "Operate",
      "priceNote": "$49.00/mo",
      "blurb": "Run the floor — punch clock, shifts, payroll hours, and accuracy & speed bonuses for seasonal staff.",
      "includes": [
        "Punch clock",
        "Shifts",
        "Payroll hours",
        "Accuracy & speed bonuses"
      ],
      "availableAtSignup": false
    },
    {
      "code": "automate",
      "name": "Automate",
      "priceNote": "$299.00/year per Automate seat",
      "blurb": "Machina reads tax documents and helps move data into TaxSlayer Pro Web — launched from Tabula Vera, the source of truth for each client file.",
      "includes": [
        "Machina extraction",
        "TaxSlayer Pro Web handoff"
      ],
      "availableAtSignup": false
    },
    {
      "code": "communicate",
      "name": "Communicate",
      "priceNote": "$99.00/mo + phone/SMS usage",
      "blurb": "Phone floor in the CRM — softphone, calls & voicemail on the client file, Ready routing, AI receptionist.",
      "includes": [
        "CRM softphone",
        "Calls & voicemail",
        "AI receptionist"
      ],
      "availableAtSignup": false
    },
    {
      "code": "elevate",
      "name": "Elevate",
      "priceNote": "$29.00/mo",
      "blurb": "Public presence — domain help, marketing site, branded mobile apps, and a portal CTA at portal.yourfirm.com (same intake as your branded client portal).",
      "includes": [
        "Domain purchase help",
        "Marketing website",
        "Branded App Store & Google Play client app",
        "Portal CTA → portal.yourfirm.com intake"
      ],
      "availableAtSignup": false
    },
    {
      "code": "whitelabel",
      "name": "Whitelabel Premium",
      "priceNote": "$149.00/mo",
      "blurb": "Custom staff CRM and client portal domains, full firm branding, hide Tabula Vera badge.",
      "includes": [
        "Custom domains",
        "Full branding",
        "No Tabula Vera chrome for clients/staff"
      ],
      "availableAtSignup": false
    },
    {
      "code": "corpus_vera",
      "name": "Corpus Vera",
      "priceNote": "$49.00 / $79.00 / $99.00 per month for 1 / 2 / 3+ seats",
      "blurb": "Grounded tax research, IRC citations, memos, penalty-protection calculators.",
      "includes": [
        "Tax research",
        "Advisory tools"
      ],
      "availableAtSignup": false
    }
  ],
  "usageRates": {
    "smsUsdPerSegment": "0.02",
    "voiceUsdPerMinute": "0.03",
    "aiReceptionistUsdPerMinute": "0.25",
    "annualDiscountPercent": 10
  },
  "constraints": {
    "geographic": "United States tax preparation businesses",
    "notFor": "Individual taxpayers filing personal returns without a preparer business",
    "packagesAtSignup": "Only Base (Solopreneur) starts at checkout. Add packages inside the app.",
    "priceChanges": "List prices may change; no early-adopter price lock."
  }
}
