# Product Requirements Document — Trackmint (working name) v2.2

**Date:** July 19, 2026
**Status:** v2.2
**Changelog:** v2.2 July 19 2026 — compliance requirements integrated from ABA Op 512 / state bar / HIPAA / PCI / IOLTA / UPL research. v2.1 July 19 2026 — three-layer architecture formalized; QuickBooks feature absorption + payment methods; QuickBooks sync integration. v2.0 July 18 2026 — merged feature-adoption plan from 7-tool competitor study (15-feature-adoption.md). v1 July 18 2026 — initial draft.
**Sources:** persona-insight.md, complaints.md, deepresearch-findings.md, profession-map.md, market-financial.md, asana.md, jira.md, practicepanther.md, glade.md, 15-feature-adoption.md (adds MyCase, Housecall Pro, Clio deep-dives), quickbooks-research.md, 21-compliance.md (compliance & trust research)

---

## 1. Overview & Goals

**Trackmint is a modular work platform for professionals who bill clients by the hour (or by the case) and also need real work tracking.** Its core idea is simple: **the work item you track is the same thing you bill.** Time logged on an issue or matter flows directly into budgets, invoices, and payments — no export, no second tool, no paid marketplace add-on.

Today these users are forced to stitch together two or three products. Software contractors combine Jira or Asana with Harvest/Toggl and a separate invoicing tool. Small law firms combine PracticePanther (no boards, no AI document prep) with Jubilee or Glade (no time billing). Every seam between those tools is a place where hours go unbilled, budgets go untracked, and data gets re-keyed.

Trackmint ships three connected modules on one data model:

1. **Work tracking** — issues/matters on Kanban boards, with optional sprints.
2. **Business management** — reliable timers, workload assignment, budgets, expenses, client invoicing, and online payments.
3. **AI document scanning** — clients upload source documents (W-2s, pay slips, bank statements); AI extracts the data and fills official forms, starting with bankruptcy Chapter 7/13 petitions.

The modules are sold as cumulative tiers that map onto the three product layers (Section 1A) — **Basic** (Layer 1: Foundation), **Mid** (adds Layer 2: Billing Engine), and **Mid + Pack** (adds Layer 3: a vertical pack) — detailed in Section 8, and flavored through **profession packs**. v1 ships two packs:

- **Software Dev pack** — "Jira × QuickBooks": issues + hours + expenses + invoices. No official forms; the AI module is off.
- **Legal pack** — matters + billing + AI form filling (bankruptcy Ch 7/13 first).

**Goals for v1:**

- G1. A user can go from "work exists" to "client paid" inside one product: issue/matter → time entry → rate card → budget → invoice → online payment.
- G2. Deliver the complete core flow on **both web and mobile** — mobile weakness is a top-cited complaint against every competitor studied (13 sourced complaints across four products).
- G3. For the Legal pack, cut per-case data entry for bankruptcy petitions dramatically via AI extraction with a human review step (Glade claims 14 min → 38 sec per document; we treat that as the bar to match, not a fact to repeat).
- G4. Win trust through the things incumbents are worst at: transparent pricing, fast UI, no seat games, no paywalled basics.

**Non-goals for v1** are listed in Section 9 (notably trust/IOLTA accounting, e-filing, and Chapters 11/12). Features deliberately deferred to v2 are listed in Section 10; the promises we make against incumbent bad behavior are in Section 11.

---

## 1A. Product architecture — three layers (new in v2.1)

Trackmint is built and sold as three stacked layers. Every feature in this PRD belongs to exactly one layer. The layers are cumulative: Layer 2 sits on Layer 1; every Layer 3 pack sits on Layers 1+2.

| Layer | Name | What it is | What it contains | Sold as |
|---|---|---|---|---|
| **Layer 1** | **FOUNDATION** | The engine. Common to **all professions** — nothing in it knows what business you are in | Boards, work items, assignment, My Tasks, views (board/list/calendar), search, custom fields, templates, notifications — on mobile **and** web | **Basic tier** — priced low deliberately; this is the top of the funnel |
| **Layer 2** | **BILLING ENGINE** | Common to **everyone who bills clients**, regardless of profession | Timers, rate cards, budgets, expenses, MoneyFinder, invoicing, payments | **Mid tier** |
| **Layer 3** | **VERTICAL PACKS** | Profession-specific add-ons, shipped over time | **Legal-Bankruptcy pack** and **Software Dev pack** at v1; **General Contractor pack** and further packs later. Each pack = vocabulary, templates, workflows, and (where relevant) official-form output for one profession | **Mid + Pack tier** — pack price on top of Mid |

Two architectural rules keep the layers honest:

1. **The specificity rule:** any feature that names a specific document, court, or regulation is **pack-only** (Layer 3). If a feature makes sense for a plumber and a lawyer alike, it belongs in Layer 1 or 2 — never inside a pack.
2. **The shared-engine rule:** the AI document-scanning **engine** (upload, OCR, extraction, confidence scoring, source tracing — Section 5.3 pipeline) is **shared infrastructure**, built once. What differs per pack is only the **output form library** it fills (bankruptcy petitions for Legal, future pack-specific forms elsewhere). New packs add form libraries, not new engines.

---

## 2. Personas

### Persona A — Sam, software contractor / small consultancy (2–8 people)

- **Needs:** issue tracking with Kanban and sprint/progress tracking (Jira-style); logging working hours per issue; charging those hours to a client at a rate; sending an invoice and getting paid.
- **Today:** forced to combine Jira or Asana with Harvest/Toggl and an invoicing tool, or buy Tempo-style marketplace apps. Jira has no billable flag, no rates, no invoicing; Asana has no native timer below its $24.99 Advanced tier, and even its $5.99/user/mo Timesheets & Budgets add-on stops short of invoicing ("export to external tools").
- **Sensitive to:** per-seat cost creep, seat banding, apps that tax every seat (Tempo "you have to pay for 100 users, even if only four people use it"), and slow UIs.
- **Success looks like:** finishes a sprint, hits "draft invoice for March," reviews, sends; client pays online.

### Persona B — Dana, solo/small law firm attorney (1–10 attorneys), consumer bankruptcy focus

- **Needs:** matter tracking with assignment and workload visibility; time logging → billing → invoicing; AI document scanning that turns client uploads (pay stubs, tax returns, bank statements) into filled Chapter 7/13 petition packets she can review and file.
- **Today:** PracticePanther (or similar) for billing — but its tasks are "kind of useless," it has no Kanban boards, no workload views, no matter budgets, and no AI document prep — plus Jubilee/NextChapter/Glade for petitions, which have no hourly time billing. Two systems, double data entry.
- **Sensitive to:** buggy timers ("timer will reset itself back to zero on the app"), messy invoices clients can't understand, slow payment deposits, annual-contract lock-in, and opaque pricing (Glade and Best Case both quote-only).
- **Success looks like:** client uploads documents through the portal; AI drafts the petition schedules; Dana reviews each extracted field against the source document, fixes two low-confidence fields, exports the packet; her hours on the matter are already on a draft invoice.

Market context (market-financial.md): legal willingness-to-pay is 3–6× horizontal PM ($49–$149/user vs $8–$25), only ~37% of solos use practice-management software, and per-case AI pricing is validated by NextChapter's case-tiered model. The Software Dev pack rides the same engine at PSA-band pricing rather than trying to win the saturated horizontal PM market on its own.

---

## 3. Problem Statements

Derived from the ten cross-tool complaint themes (145 sourced complaints, complaints.md):

- **P1 — Time tracking is missing, buggy, or paywalled (18 complaints).** Asana has no timer without a top tier plus an add-on; Jira worklogs can't even be date-filtered for invoicing; PracticePanther's timers reset themselves on mobile. Hourly billers cannot rely on the single feature their income depends on.
- **P2 — No bridge from tracked work to a client invoice (14).** Jira needs paid apps just to invoice from worklogs; Asana has no invoicing concept at all; PracticePanther invoicing is inflexible (no line-item discounts, messy invoices, broken multi-lawyer splits).
- **P3 — Aggressive pricing, paywalls, and seat/contract games (24).** The largest theme: Asana seat banding and no solo license, Jira's 153% Enterprise hike and automation caps, PracticePanther's no-refund annual lock-in, quote-only pricing at Glade and Best Case.
- **P4 — Slow, unreliable software (15).** "4 minutes to load a ticket" (Jira), "just absolutely dog slow" (Asana), session timeouts (PracticePanther), freezes and miscalculations (Best Case).
- **P5 — UX complexity and clutter (17).** Click-heavy configuration, redesign backlash, weak search, notification overload.
- **P6 — Mobile apps far behind desktop (13).** Every competitor's mobile app is a reduced, buggier copy: Asana "check-only," Jira iOS gaps unfixed for years, PracticePanther "functions more like a browser webpage."
- **P7 — Broken/fragile integrations and stale APIs (10).** PracticePanther's API "not updated in 10 years" — a reviewer built web scrapers instead.
- **P8 — Support decline (13).** Unreachable, offshored, docs-only, or hallucinating AI agents.
- **P9 — Legal tools lack modern boards; PM tools lack legal context (12).** PracticePanther has no Kanban; Clio's task management is rated "basic" with no native Kanban (deepresearch-findings.md); Asana/Jira have no matters, rates, or trust concepts.
- **P10 — Document automation and data-entry drudgery (13).** "Ridiculous" templates, double entry in bankruptcy tools, forms lagging court changes, and Glade — the only AI-native player — is quote-only with zero independent reviews.

---

## 4. Product Principles

Each principle is a direct inversion of a complaint theme.

| # | Principle | Inverts |
|---|---|---|
| PR1 | **Transparent pricing, published on the site.** No sales-call gate, ever. | P3; Glade/Best Case opaque quotes |
| PR2 | **No seat banding, no minimums.** Buy exactly N seats, including N=1. Scale down anytime. | P3; Asana 5-seat bundles, 2-seat minimum |
| PR3 | **Timers are included wherever time tracking exists.** Every tier that has time tracking (Mid and above) gets reliable timers at no extra cost — never a paid add-on, never a per-seat tax. | P1; Asana tier-gating, Tempo tax |
| PR4 | **Fast UI as a feature.** Hard performance budgets in CI; the app must feel instant. | P4 |
| PR5 | **Mobile parity for core flows.** If you can bill it on web, you can bill it on your phone. | P6 |
| PR6 | **No paywalled basics; tiers add whole modules, not crippled versions.** Boards, custom fields, search, assignment, and reasonable automation exist in every tier including Basic. Higher tiers add complete new modules (billing, AI) — a feature that exists in a tier is fully functional there. | P3, P5; "nickel-and-diming" |
| PR7 | **Simple by default, deep by configuration.** A new user reaches a working board + timer in under 10 minutes; profession packs pre-configure everything else. | P5; Jira config "PITA" |
| PR8 | **AI proposes, humans approve.** Every AI-extracted value carries a confidence score and a link to its source document region. Nothing is filed or sent without review. | P10; "attorneys still need a process to verify the work" |
| PR9 | **API-first.** Every UI action is a public, versioned API call from day one. | P7; decade-stale APIs |
| PR10 | **Quiet by default.** Digest-first notifications; granular controls. | P5; notification overload |
| PR11 | **Easy to leave.** Online cancellation, prorated refunds on seat reductions, full data export. Trust is the moat. | P3; lock-in and cancellation friction |
| PR12 | **Humans answer support.** Published response-time targets; no docs-only dead ends. | P8 |

These principles are made concrete as customer-facing promises in Section 11 (Anti-Feature Promises).

---

## 5. Feature Requirements by Module

Priorities: **P0** = MVP (must ship for v1 launch), **P1** = fast-follow (within ~2 quarters of launch), **P2** = later. The "Why" column ties each requirement to a complaint theme (P1–P10 from Section 3) or a named competitor gap. The **"Borrowed from"** column (new in v2.0) names the competitor whose proven feature we deliberately adopt, per the 7-tool feature-adoption study; "—" means the requirement is our own inversion of a gap rather than a borrow.

**Tier mapping (see Sections 1A and 8):** Module 1 (5.1) is Layer 1 (Foundation) — the **BASIC** tier; Module 2 (5.2) is Layer 2 (Billing Engine) — added at **MID**; Module 3 (5.3) ships inside Layer 3 vertical packs — sold as **MID + PACK** (this replaces the flat "Advanced" naming used in v2.0). Priorities below are build priorities within each module, independent of tier — e.g., a P0 item in Module 2 ships at launch but is sold in Mid and above.

### 5.0 The core flow (P0, both packs)

The defining end-to-end path. Every step is native; no step requires an add-on or export:

**Issue/matter → time entry (timer or manual) → rate card → budget tracking → invoice draft → send → online payment.**

### 5.1 Module 1 — Work / Issue Tracking

| ID | Requirement | Priority | Borrowed from | Why |
|---|---|---|---|---|
| W1 | Work items (issue/matter per pack) with title, description, assignee(s), status, due date, labels, attachments, comments, watchers | P0 | — | Table stakes; multiple assignees inverts Asana single-assignee gripe (P9) |
| W2 | Kanban boards with drag-and-drop, WIP limits, swimlanes; safe drag (optimistic UI with undo, never data corruption) | P0 | Jira (boards, swimlanes; WIP limits may land v2) | P9: PracticePanther/Clio have no boards; Jira drag-drop corrupts tickets mid-load |
| W3 | **Multiple views — board, list, and calendar — on the same work items**, switchable per project with no data duplication | P0 | Asana | Cheap once the data model is right; users expect it; baseline parity with Asana/Jira views |
| W4 | Optional sprints: backlog, sprint planning, estimates, burndown — off by default, on in Dev pack | P0 (Dev pack) | — | Persona A needs Jira-style progress; "optional" preserves PR7 simplicity (full sprints toggle + burndown for all packs is v2 — Section 10) |
| W5 | Fast global search (items, clients, documents) with filters incl. NOT/OR logic | P0 | — | P5: "weak search" (Asana, Jira); PracticePanther AND-only tags |
| W6 | **Custom fields (all tiers)** | P0 | Jira | PR6: Asana/PracticePanther gate custom fields behind paid tiers |
| W7 | Workflow statuses editable per board without an admin console (custom column names yes; full transition rules/validators no — that is Jira's complexity trap) | P0 | — | P5: Jira needs dedicated admins |
| W8 | Sub-items that keep parent/project context everywhere | P1 | — | Asana subtasks lose context in My Tasks |
| W9 | Simple automation rules (when status → then assign/notify), generous limits in all tiers | P1 | — | P3: Jira automation caps kill workflows mid-month (preset rule library is v2 — Section 10) |
| W10 | **Project/pack templates**: profession-pack templates that seed boards, fields, and checklists (e.g., Ch 7 matter checklist; sprint project) | P0 | Asana (project templates) | P9/P10: manual per-case task setup complaint (PracticePanther); this IS profession packs |
| W11 | Dependencies + timeline view with auto-adjusting successors | P1 | — | Asana Gantt doesn't auto-adjust; paywalled Timeline |
| W12 | Workload view: open items + logged/planned hours per person | P1 | — | Persona B assignment need; PracticePanther has no workload views; Asana gates it at $24.99 |
| W13 | Notification digests, per-project mute, no duplicate emails | P0 | — | P5/PR10: notification overload |
| W14 | Court-deadline/date-chain rules for Legal pack | P2 | Clio (court-rules engine — v2, via licensed vendor; Section 10) | PracticePanther needs LawToolBox add-on; valuable but not core-flow |
| W15 | **My Tasks personal view**: one place showing everything assigned to me across all projects/boards, sortable by due date and priority | P0 | Asana (My Tasks) | Solo users live here; simple to build; both personas start their day from it |
| W16 | **Work item types**: a small set of issue types per pack (bug/feature/task in Dev pack; matter types in Legal pack), each with its own default fields | P0 | Jira (issue types) | Core of the Software Dev pack; kept to a few types to avoid Jira's config maze (P5) |

### 5.2 Module 2 — Business Management (time, money, invoicing)

| ID | Requirement | Priority | Borrowed from | Why |
|---|---|---|---|---|
| B1 | One-click timer on any work item; multiple concurrent timers; idle detection; **timer state synced server-side so it never resets or loses time, including on mobile** | P0 | PracticePanther (multi-timers, time entry from anything — fixed to be reliable) | P1: "timers are always so buggy," resets on mobile (PracticePanther); Asana no timer |
| B2 | Manual time entry (duration or start/stop), backdating, draft entries pending review | P0 | — | P1: PracticePanther has no draft entries; Jira log-work weak |
| B3 | Billable/non-billable flag on every entry; per-entry notes | P0 | — | Jira has no billable flag at all |
| B4 | **Rate cards**: default rate per person, overridable per client, per project/matter, per activity type | P0 | PracticePanther / Clio (custom rates by user/matter/activity) | P2: Jira has no rates natively; PracticePanther custom rates are a strength to match |
| B5 | **Budgets / job costing** per project/matter: hours or currency; budgets + expenses rolled together into live cost-vs-budget; alerts at configurable thresholds (e.g. 80%); works for flat-fee matters | P0 | Clio (matter budgets) + Housecall Pro (job costing on all plans) | PracticePanther: "no way to check whether you are about to exceed the budget" on flat fee; Asana budgets are a paid add-on; job costing = budgets + expenses done right |
| B6 | Expense logging at project/matter level; receipts attached; flows into invoices and into job costing (B5) | P0 | Housecall Pro (job costing) | Core flow; PracticePanther parity; Asana/Jira absent |
| B7 | Invoice drafts generated from unbilled time + expenses, filtered by date range, client, project | P0 | — | P2: Jira "can't filter worklogs by date range for invoicing — a big hole" |
| B8 | Invoice editing: line items, line-level and fee-only discounts, write-offs, clean client-readable layout, custom branding/templates | P0 | — | P2: PracticePanther "invoices messy," discounts can't target line items |
| B9 | Send invoice by email + client payment link; card and ACH; payment status tracking; automated reminders | P0 | — | Core flow; embedded payments are the proven all-in-one monetization (HoneyBook, 8am) |
| B10 | Fast, predictable payouts with published processor fees; instant fee refund when a payment is refunded | P0 | — | PantherPayments: week-long deposits, "keep fees on money you immediately refund" |
| B11 | **Batch invoicing** (all clients with unbilled time, one run) with review queue and next/previous navigation | P1 | PracticePanther / MyCase (batch invoice generation) | PracticePanther: no batch invoicing, 50-invoice print cap, no "next" button; month-end batch is the standard billing rhythm |
| B12 | Timesheet views (week grid per person; project rollups) and time reports exportable CSV/PDF | P0 | — | P1/P2; Asana reporting export gaps |
| B13 | Reports: A/R, unbilled work, utilization, budget status — with **correct arithmetic covered by automated tests** | P0 | — | PracticePanther shipped broken report math for 2+ years |
| B14 | Recurring invoices and retainer/deposit tracking (non-trust prepayments with clear labeling) | P1 | — | Persona demand; full trust accounting deferred (Sec. 9) |
| B15 | Multi-user fee splits / origination reporting | P1 | — | PracticePanther multi-lawyer compensation reporting broken; "3–4 hours lost per billing cycle" |
| B16 | QuickBooks/Xero export (CSV first, sync later) | P1 | — | P7: users expect it; sync quality must beat PracticePanther's breakage. Superseded and expanded by Section 5.6 (2-way QBO sync, free accountant seat, always-available export) |
| B17 | LEDES/UTBMS invoice format (Legal pack) | P2 | — | Needed for insurance-defense work; not core for consumer bankruptcy/solo |
| B18 | **MoneyFinder — unbilled-work radar**: a standing view that flags every logged activity, time entry, and expense not yet on any invoice, so no billable hour is ever lost | P0 | PracticePanther (MoneyFinder) | Directly serves "stop losing billable hours" — a killer small feature; feeds B7 invoice drafts |
| B19 | **Payment plans on invoices**: installment schedules with auto-charge and status tracking, available on any invoice | P0 | PracticePanther / MyCase / Clio (always-on payment plans) | Consumer bankruptcy runs on installments; table stakes in consumer legal; also useful for contractor milestone billing |
| B20 | **Payments included at every paid tier** that includes invoicing (Mid and above) — never a separate add-on, upsell, or gated processor | P0 | MyCase / 8am (payments-at-every-tier strategy, LawPay rails, next-day deposits) | The biggest lesson of the all-in-one study: payments revenue subsidizes seats (see PM8) |

### 5.3 Module 3 — AI Document Scanning & Form Fill (Legal pack)

Pipeline: **client upload → OCR/extraction → review screen (confidence + source tracing) → form fill → export (P0) / e-file (P2).**

| ID | Requirement | Priority | Borrowed from | Why |
|---|---|---|---|---|
| A1 | **Automated client document requests**: portal upload with a checklist of requested documents per matter type, drag-and-drop, mobile camera capture, and automated follow-up reminders for missing docs | P0 | Glade (automated doc requests + follow-ups) | Doc collection is half the pain; Glade parity; P10 data-entry drudgery |
| A2 | OCR + AI extraction from core source docs: pay stubs, W-2s, tax returns, bank statements | P0 | Glade (doc-to-form thesis, made multi-profession) | The pillar; same source-doc engine reuses across future packs (family law FL-150, SSDI — profession-map.md) |
| A3 | Automatic document classification and per-matter organization; flag illegible/expired docs back to the client | P1 | Glade (legibility review, expiry detection) | PracticePanther document chaos |
| A4 | **Review screen: every extracted field shows a confidence score and click-through to the highlighted source region in the original document.** Low-confidence fields visually queued for review | P0 | Glade (confidence scores + source tracing — their best design) | PR8; category-wide "attorneys must verify before filing"; differentiator vs Glade's opaque claims |
| A5 | **Cross-document conflict detection** (e.g., income differs between pay stub and tax return) surfaced as review items | P1 | Glade (surfaces conflicts) | Trust-building; attorneys must see where every number came from |
| A6 | Form fill for bankruptcy Chapter 7 and 13: B101, B106 schedules, B107 SOFA, B122A-2 means test, creditor matrix | P0 | — | Matches Glade/NextChapter/Best Case scope; the Legal pack's reason to exist |
| A7 | Court-ready PDF export of the complete petition packet; attorney downloads and files via existing CM/ECF workflow | P0 | — | Ship value without the e-filing certification burden |
| A8 | Means-test calculation with visible inputs and jurisdiction data (IRS standards) with dated versioning | P0 | — | Best Case/NextChapter calculation-error complaints; forms lagging court changes (Jubilee) |
| A9 | Audit trail: who reviewed/edited each field, when, from which source | P1 | — | Professional-liability comfort; verification-process complaint |
| A10 | Amended schedules workflow | P1 | — | Jubilee can't file amended schedules — known pain |
| A11 | CM/ECF e-filing integration (district-by-district rollout) | P2 | — | Best Case's ECF "broken" complaint shows risk; export-first de-risks v1 |
| A12 | Credit report import | P2 | — | NextChapter parity, but their wrong-address imports show quality bar; not core-flow |
| A13 | Second form target from the same extraction engine (family law FL-150 or SSDI SSA-3368 — decide per Section 13) | P2 | — | Profession-map ranked expansion; validates the "engine reuse" thesis |

### 5.4 Profession packs & platform

| ID | Requirement | Priority | Borrowed from | Why |
|---|---|---|---|---|
| K1 | Pack = bundle of vocabulary (issue vs matter), templates, enabled modules, default fields | P0 | Asana (templates as the seeding mechanism) | Core architecture; enables future packs without forking |
| K2 | Software Dev pack: sprints on, AI forms off, dev-flavored templates, Git-friendly issue keys | P0 | — | Persona A |
| K3 | Legal pack: matters, client/contact model (multiple contacts per matter), AI module on, bankruptcy templates | P0 | — | Persona B; PracticePanther can't link multiple contacts to a matter |
| K4 | Client portal (both packs): shared items, invoices, payments, uploads, messages | P0 | — | Invoicing flow requires it; PracticePanther portal parity (full intake forms are v2 — Section 10) |
| K5 | eSignature on engagement letters and documents | P2 | MyCase (unlimited built-in eSignature — v2, Section 10) | PracticePanther Business-tier parity; not core-flow |
| K6 | Webhooks + Zapier/Make connectors | P1 | — | P7; meet users' existing automation |

### 5.5 QuickBooks feature absorption (new in v2.1)

Features we build natively so that a Trackmint user **does not need QuickBooks Online for day-to-day billing** (source: quickbooks-research.md). QBO stays the ledger of record (see 5.6); Trackmint owns the daily work-to-cash flow. Each item targets a documented QBO weakness or bolt-on tax.

| ID | Feature | Priority | Layer/Tier | Notes |
|---|---|---|---|---|
| Q1 | **Estimates → progress invoicing** by % or by phase, done **RELIABLY** | P0 | Billing Engine (Mid) | QBO has this on all plans but it is chronically buggy — broken math, estimate↔invoice links breaking, the setting turning itself off. Reliability IS the feature |
| Q2 | **Card + ACH/bank transfer** on every invoice via embedded processor | P0 | Billing Engine (Mid) | Part of the payment methods matrix (below); extends B9/B20 |
| Q3 | **Zelle / Venmo / PayPal as offered payment options** | P1 | Billing Engine (Mid) | Payment handle/link shown on the invoice; reconciliation is manual (user marks paid) |
| Q4 | **Check recording** | P0 | Billing Engine (Mid) | Mark an invoice paid by check with a reference number |
| Q5 | **Automatic payment reminders + late-payer nudges** | P1 | Billing Engine (Mid) | Extends B9's reminders with escalating nudges for habitual late payers |
| Q6 | **Instant payout option** | P2 | Billing Engine (Mid) | Fee-based fast deposit; see also v2 roadmap (Section 10) |
| Q7 | **Receipt capture with LINE-ITEM extraction** | P0 | Mid + Pack (uses the shared AI engine) | Beats QBO's header-only OCR (date/amount/vendor only, review backlogs) — our AI extraction engine already does line items |
| Q8 | **Mileage tracking** | P2 | Billing Engine (Mid) | Mobile GPS capture; QBO parity feature |
| Q9 | **Contractor/sub self-onboarding** | P2 | GC pack (Layer 3) | Invite subs to enter their own W-9-style info; QBO's stickiest contractor feature |
| Q10 | **Per-project true profitability with burdened labor rate** | P1 | Billing Engine (Mid) | Cost each hour at a burdened rate, not just the billing rate; QBO gates this to Plus+ and needs QB Payroll to automate |
| Q11 | **Price-lock guarantee** | P0 | All tiers | Marketing promise, engineering-free: your price is locked (see PM10/AF8). Directly attacks QBO's relentless price hikes ("400% in 3 years") |

**Payment methods matrix (every invoice, Mid tier and above):**

| Method | How it works | Priority |
|---|---|---|
| Card | Embedded processor; pay link on invoice | P0 |
| ACH / bank transfer | Embedded processor; pay link on invoice | P0 |
| Check | Recorded manually with reference number | P0 |
| Zelle / Venmo / PayPal | Handle/link displayed on invoice; manual reconciliation | P1 |

### 5.6 QuickBooks integration (sync, not war — phase 1)

We do not fight QBO for the general ledger — accountants choose QBO, and businesses follow their accountants. Phase 1 strategy: absorb daily billing (5.5) and **write perfect books into the system the accountant already uses**. This supersedes and expands B16.

| ID | Requirement | Priority |
|---|---|---|
| QI1 | **2-way sync** of invoices, payments, expenses, and customers to QuickBooks Online (Xero later) — sync quality must beat the documented Clio→QBO mismatch pain | P1 |
| QI2 | **Free accountant seat** — the client's accountant gets read/report access at no charge, in every tier | P1 |
| QI3 | **Clean export always available** — full, well-structured export of all financial data at any time (extends PR11) | P0 |

**Accounting roadmap (phase 3+):** an **optional native accounting module** (general ledger, bank reconciliation) following the PantherAccounting / Clio Accounting path — offered only after vertical packs have proven traction, and **never forced on users**: sync-to-QBO/Xero remains a first-class, permanently supported path.

---

## 6. Platforms

**Hard requirement: Trackmint ships as BOTH (a) a web portal/app and (b) full-featured native mobile apps for iOS and Android, with feature parity between web and mobile for all core flows, at launch.** Neither surface is optional and neither is a companion to the other. This applies to every tier: whatever a customer's tier includes on web (Basic boards, Mid timers/invoicing, pack-tier document capture and review approvals), it includes on mobile per the parity list below.

### 6.1 Web app (P0)

Responsive SPA/PWA; primary surface for board management, invoice editing, and the AI review screen.

### 6.2 Mobile apps — iOS & Android (P0)

Full-featured apps in the Apple App Store and Google Play at launch. Mobile is a launch requirement, not a fast-follow, because mobile weakness is a top complaint about every competitor (P6). **Feature parity list for core flows — all P0 on mobile:**

- Create/edit/move work items on boards; comment; search
- **Start/stop/switch timers with server-synced state (no lost time, ever) and offline buffering**
- Manual time entry and draft review
- Log expenses with camera receipt capture
- Review and send invoice drafts; see payment status
- Client document capture via camera (Legal pack) feeding the AI pipeline
- Notifications with the same granular controls as web
- Budget alerts and workload glance views

Explicitly not required on mobile at v1: sprint planning ceremonies, invoice template design, pack configuration, the full AI field-by-field review screen (view + approve high-confidence extractions is P1 mobile; deep review remains web).

Offline behavior (P1): timers, time entries, and item edits queue locally and sync — Asana's "app reloads itself losing changes" is the anti-pattern.

### 6.3 API-first (P0)

- Public, versioned REST API covering every core object (items, time entries, rates, budgets, expenses, invoices, clients, documents, extraction results) — the same API the web and mobile clients use. Inverts P7 ("worst public-facing API I have ever seen. Not updated in 10 years").
- API keys + OAuth in all paid tiers; no tier-gating of API access (PR6).
- Changelog and deprecation policy published; webhooks (P1).

---

## 7. Non-Functional Requirements

### 7.1 Performance (inverts P4 — a top-3 complaint theme)

| Metric | Target |
|---|---|
| Open a work item (warm) | < 500 ms perceived |
| Board render, 500 items | < 1 s |
| Board render, 1,000 items | < 1 s (promise AF5, Section 11) |
| Search results | < 1 s |
| Timer start/stop | < 200 ms perceived, optimistic |
| Invoice draft generation (1 month of entries) | < 5 s |
| AI extraction per document | Asynchronous with progress; review-ready target < 60 s/doc |
| Cold app load (web) | < 3 s on median broadband |

Performance budgets enforced in CI; regressions block release. "Jira replaced by a faster browser to get tickets from 4 minutes to 10 seconds" is the cautionary tale.

### 7.2 Reliability

- 99.9% monthly uptime target for the app; public status page.
- No data-losing operations: optimistic UI always undoable; drag-and-drop never corrupts an item (Jira anti-pattern).
- Sessions last a workday; no forced re-login every few minutes (PracticePanther/Best Case anti-pattern).
- Financial arithmetic covered by property-based tests and reconciliation checks (PracticePanther "$1+$2=$4,000").

### 7.3 Security & compliance

- Encryption in transit and at rest; role-based permissions; audit log of financial and document actions.
- **SOC 2 roadmap:** Type I within 12 months of launch, Type II within 24 (budget ~$30–60K first year per market-financial.md).
- SSN and sensitive-field handling: store full values encrypted with masked display and permissioned reveal — Best Case/NextChapter's refusal to store full SSNs forces users into side systems.
- Data retention/export: full account export at any time (PR11).
- Trust accounting compliance explicitly out of scope for v1 (Section 9) — the product must clearly label retainers as non-trust prepayments to avoid implying IOLTA compliance.
- AI: no training on customer documents; per-tenant isolation; documented data-flow for state bar diligence.
- **Full compliance and trust requirements — the research basis (ABA Op 512, state bar guidance, UPL/§110, Rule 9037, SOC 2, PCI, IOLTA, FCRA, WH-347, HIPAA) and the build-order checklist — are specified in 21-compliance.md; the binding product requirements are C1–C14 in Section 7A.**

### 7.4 Support

- Human email/chat support in all paid tiers; published first-response targets (e.g., 8 business hours); no AI-only support dead ends (P8).

---

## 7A. Compliance Requirements (new in v2.2)

Derived from the compliance & trust research in 21-compliance.md (ABA Formal Opinion 512 and state bar AI guidance, UPL / 11 U.S.C. §110, Fed. R. Bankr. P. 9037, SOC 2, PCI DSS, IOLTA rules, FCRA, WH-347, HIPAA). Each requirement is binding on the phase indicated: **MVP** items are launch gates; **Phase 2** lands within the first 12 months; **Phase 3** ships with the pack that needs it.

| ID | Requirement | Priority | Phase |
|---|---|---|---|
| C1 | **Zero-retention + no-training LLM pipeline**: all LLM/OCR vendors under zero-data-retention, no-training API terms; prompts and outputs excluded from application and vendor logs; per-tenant isolation | P0 | MVP |
| C2 | **AI consent controls**: per-firm AI toggle, per-matter AI opt-out, and a client-consent record field on the matter (ABA Op 512 / Florida 24-1 informed-consent capture) | P0 | MVP |
| C3 | **Attorney-in-the-loop gate**: "AI-generated — attorney review required" gate on all extractions and drafts; nothing exports or sends unreviewed; review status tracked | P0 | MVP |
| C4 | **Security baseline**: AES-256 at rest, TLS 1.2+, MFA, matter-level RBAC (ethical walls), immutable audit log, encrypted backups, US hosting, public trust page | P0 | MVP |
| C5 | **Contract stack**: ToS state customer owns all content with no vendor use rights (privilege protection); 72-hour breach notice; DPA with subprocessor list available to all customers | P0 | MVP |
| C6 | **UPL positioning**: attorney-only sales for the Legal pack; platform-not-law-firm disclaimers; no consumer-direct petition preparation (11 U.S.C. §110 / In re Reynoso) | P0 | MVP |
| C7 | **Rule 9037 auto-redaction**: SSNs truncated to last-4 on all court-bound PDFs; full SSN stored field-level encrypted with masked display and permissioned, logged reveal | P0 | MVP |
| C8 | **Payments scope**: SAQ-A only (hosted checkout; card data never touches our servers); trust-safe fee routing — processing fees and chargebacks never debit a trust-designated account | P0 | MVP |
| C9 | **SOC 2**: Type I audit underway at launch (status on trust page); Type II report within 12 months | P0/P1 | MVP → Phase 2 |
| C10 | **IOLTA module** (Legal pack): three-way reconciliation, negative-balance blocking on client trust ledgers, 5-year immutable trust records (retention configurable upward per state) | P1 | Phase 2 |
| C11 | **FCRA credit-report import**: licensed credit-report reseller integration with the attorney as certified end user; report data inherits SSN-grade encryption and access controls | P1 | Phase 2 |
| C12 | **State privacy**: DPA covering state comprehensive-privacy laws + deletion-request workflows with legal-hold / records-retention carve-outs | P1 | Phase 2 |
| C13 | **WH-347 certified payroll** (GC pack): auto-truncate SSN to last-4 on form output; full SSN encrypted at rest | P2 | Phase 3 |
| C14 | **HIPAA-ready mode**: per-firm switchable HIPAA mode with BAA program (Trackmint + subprocessors) for the SSDI/PI pack | P2 | Phase 3 |

---

## 8. Pricing Model Requirements

**Product structure (decided): tiers ARE the layer model (Section 1A).** Each tier adds a complete layer, never a crippled preview of one (PR6). "Mid + Pack" replaces the flat "Advanced" tier naming used in v2.0.

| Tier | Layer(s) | Includes | Illustrative price* |
|---|---|---|---|
| **BASIC** | Layer 1 — Foundation | Kanban boards, work-item (issue/matter) tracking, assignment, My Tasks, views, search, custom fields, templates, notifications — on core web **and** mobile apps | $12/user/mo |
| **MID** | Layers 1+2 — + Billing Engine | Everything in Basic **+** time tracking (reliable timers included — PR3), rate cards, budgets, expense tracking, MoneyFinder, invoicing, full payment methods matrix (5.5), and online payments; timesheets and financial reports; client portal for invoices/payments | $29/user/mo |
| **MID + PACK** | Layers 1+2+3 — + one or more vertical packs | Everything in Mid **+** the chosen profession pack(s): vocabulary, templates, workflows, and pack-specific AI form output over the shared scan engine (Legal-Bankruptcy: client upload → OCR/extraction → confidence + source-traced review → Chapter 7/13 form filling) | Mid + per-pack price; AI metered per case (PM5) |

*Prices are illustrative placeholders for the layer model, not commitments; final bands per PM4.

Notes: at v1, "Mid + Pack" is meaningful for the Legal-Bankruptcy pack (official forms); the Software Dev pack has no official forms (profession-map.md), so Dev-pack customers land on Basic or Mid until a pack-level AI capability relevant to their business exists. A customer can buy multiple packs on one Mid subscription.

Remaining requirements, grounded in market-financial.md and the P3 complaint theme (the single largest, 24 complaints):

| ID | Requirement | Rationale |
|---|---|---|
| PM1 | All three tier prices published on the website; self-serve signup, upgrade, downgrade, and cancellation | Glade/Best Case quote-only is a trust liability; PR1, PR11 |
| PM2 | **Per-seat pricing with no banding and no minimums** in every tier — 1 seat costs 1 seat; add a 6th user without buying 10 | Asana seat-banding complaints; PR2 |
| PM3 | **Solo plan allowed at every tier**: a single user can buy Basic, Mid, or Mid + Pack at 1-seat price with no feature penalty | Asana has no solo license; PracticePanther "pricey for solo firms"; solos are the wedge (40% of law firms) |
| PM4 | Tier price bands reflect willingness to pay: Basic in the PM band, Mid in the PSA band (~$15–35/user/mo target for Dev pack; higher for Legal), pack tiers in the vertical band (~$49–99/user/mo target for Legal), reflecting the 3–6× legal WTP difference | market-financial.md WTP data |
| PM5 | Within packs that include AI form-fill, **AI is metered per case** on top of seats — N included cases/mo, then a per-case fee | Validated by NextChapter's case-tiered model (~$40–100/case); aligns cost to value and to our inference cost |
| PM6 | Every feature in a tier is complete there: Basic gets full boards/search/custom fields/API; Mid gets timers with no add-on and invoicing with no export-to-elsewhere; no feature is artificially degraded to force an upgrade | PR3, PR6; inverts "most key features require the Advanced plan" and Asana's timesheets add-on |
| PM7 | Monthly billing available on all tiers; annual discount optional but never mandatory; prorated refunds when reducing seats or downgrading tiers | PracticePanther annual lock-in complaints |
| PM8 | Payments revenue (processing margin, Mid and above) planned as a first-class revenue line; payments are included at every paid tier that has invoicing (B20) | HoneyBook/8am/MyCase pattern: embedded payments subsidize seat price |
| PM9 | No guest tax: client-portal users are always free and unlimited in every tier | Asana "guests consume paid seats… seems like a scam" |
| PM10 | Price changes: 90-day notice, grandfathering for at least 12 months; **no feature re-gating after purchase** (promise AF8, Section 11) | Jira 153% hike / Best Case annual-hike resentment / MyCase price-creep-with-re-gating pattern |

---

## 9. Out of Scope for v1

| Item | Reason / revisit trigger |
|---|---|
| **Trust/IOLTA accounting** (three-way reconciliation, trust ledgers) | Material, jurisdiction-specific engineering with professional-responsibility risk (PracticePanther got it wrong). Revisit post-SOC 2 Type I; until then integrate/export to TrustBooks-class tools and label retainers clearly |
| **CM/ECF e-filing** | District-by-district complexity; incumbents' e-filing is a complaint magnet. v1 exports court-ready PDFs (A7); e-filing is P2 (A11) |
| **Bankruptcy Chapters 11 and 12** | Glade also skips them; consumer Ch 7/13 is the volume market (574K filings CY2025) |
| Forms beyond bankruptcy (immigration, FL-150, SSDI) | One vertical done excellently first; engine designed for reuse (A13) |
| Full accounting (GL, P&L) / QuickBooks replacement | Sync, not war (Section 5.6): 2-way QBO sync + free accountant seat; optional native accounting is phase 3+ only |
| Financial forensic analysis (preference/fraudulent-transfer detection) | CounselPro's niche; possible later differentiator vs Glade |
| Native email client, CRM/marketing automation, court-rules calendaring engine | Integrations (K6, W14 P2); court-rules engine planned for v2 via licensed vendor (Section 10) |
| Additional profession packs (accounting, agencies, insurance) | After both v1 packs prove retention; GC (general contractor) pack features sketched in Section 10 |
| Enterprise: SSO/SAML, data residency, on-prem | Target market is solo/small teams; SSO at P2 when demanded |

---

## 10. v2 Roadmap (Adopt-Later)

Features from the 7-tool feature-adoption study that are proven in the market but deliberately deferred to the first year after launch (v2). Each is real value; none is worth delaying the core flow for. (v3/expansion items — e-filing, post-filing automation, new-pack template libraries, memberships — stay in Section 9 and the adoption plan.)

| v2 feature | Borrowed from | Summary |
|---|---|---|
| Sprints toggle + burndown | Jira | Opt-in sprints/backlog per board for any pack, with burndown/velocity reports once sprints exist. Contractors often don't sprint — keep it a toggle, never a default |
| Preset automation rules | Asana / Jira | A library of 5–10 preset rules ("when card moves → do X"), not a rule builder — Asana's builder complexity is the complaint trap to avoid |
| Client portal + intake forms | PracticePanther / Clio / Asana (forms) | Extend the v1 portal (K4) with structured intake forms that create matters/items and feed Legal-pack document collection |
| Automated customer comms + review requests | Housecall Pro | Their #1 loved feature, generalized: hearing reminders for lawyers, status updates for dev clients, plus automated review requests after matter/job completion — a cheap growth engine |
| eSignature | MyCase | Unlimited built-in eSignature on engagement letters and documents; undercuts DocuSign cost for small firms (K5) |
| Text-to-pay + instant payouts + financing partner | Clio / Housecall Pro / MyCase | Text-to-pay is a proven collection booster; Instapay-style ~30-min payouts for a fee; "Pay Later" consumer financing via a fintech partner (Wisetack/Affirm pattern) |
| Court-rules deadline engine | Clio | Trigger date → deadline chain for the Legal pack — licensed from a LawToolBox-class vendor rather than building 1,000 jurisdictions ourselves (W14) |
| Trust/IOLTA accounting | PracticePanther (done right) | Compliance-heavy; revisit post-SOC 2 Type I once the Legal pack has traction (Section 9) |
| AI summaries | MyCase IQ / Clio Duo | Case/matter summaries and drafting help — table stakes we add after form-filling AI ships; our AI budget goes to forms first |
| GC (general contractor) pack features | Housecall Pro | Drag-and-drop dispatch calendar, price book of standard line items, and good/better/best quotes — core for a future field-service pack, irrelevant to devs/lawyers at v1 |

---

## 11. Anti-Feature Promises

These are not features — they are promises, taken verbatim from the 145-complaint study. They are customer-facing commitments, each inverting a documented incumbent behavior, and they hold across all tiers and all future versions.

| # | Promise | Inverts |
|---|---|---|
| AF1 | **Public prices on the website, always.** No quote walls, no sales-call gate | Glade / Best Case / Accelo quote-only pricing |
| AF2 | **No seat banding.** Pay for exactly the seats you use; a solo plan exists at every tier | Asana 5-seat bundles and no solo license |
| AF3 | **Timers in every plan that has time tracking** — never a paid add-on | Asana tier-gating + add-on; Jira's Tempo tax |
| AF4 | **Self-serve cancellation with prorated refunds** | Housecall Pro / PracticePanther / MyCase cancellation friction |
| AF5 | **Speed budget: board loads in under 1 second at 1,000 items** — enforced in CI (Section 7.1) | Jira / Asana slowness |
| AF6 | **Mobile parity on core flows, with Android treated equal to iOS** | Every competitor's second-class mobile app; HCP's Android neglect |
| AF7 | **A real, versioned public API from day one** | PracticePanther's decade-stale API |
| AF8 | **No feature re-gating after purchase.** A feature in your tier stays in your tier | MyCase price-creep-with-re-gating pattern ($39→$50 entry) |

---

## 12. Success Metrics

| Area | Metric | v1 target (12 months post-launch) |
|---|---|---|
| Core-flow adoption | % of active workspaces that sent ≥1 invoice generated from tracked time | ≥ 50% |
| Time-to-value | Median time from signup → first running timer | < 10 min |
| Billing loop | Median time from signup → first paid invoice | < 30 days |
| AI module | % of extracted fields accepted without edit (precision proxy) | ≥ 90%, trending up |
| AI module | Median attorney review time per petition packet | < 45 min (vs hours of manual entry) |
| Mobile | % of WAU using mobile weekly; timer events from mobile | ≥ 35%; ≥ 25% |
| Performance | p75 item-open latency | < 500 ms, monitored publicly |
| Retention | Logo churn (monthly, solo tier) | < 3%/mo |
| Revenue mix | Payments + per-case AI revenue as % of total | ≥ 25% (validates PM5/PM8) |
| Pricing trust | % of churned users citing pricing/contract issues in exit survey | < 10% |
| Support | First-response time SLA attainment | ≥ 95% |

---

## 13. Open Questions & Risks

**Open questions**

1. **Second form vertical:** family law FL-150 (same source docs, ~670K divorces/yr, no AI incumbent) vs SSDI (federal standardized forms, unserved) — profession-map.md ranks family law #1; decide by month 6 based on Legal-pack customer overlap.
2. **Glade economics unknown:** no public pricing, no independent reviews, ~$2.4M ARR rumor (low confidence). How sticky are its customers? Affects how aggressively we price PM5.
3. **Dev pack demand risk:** market-financial.md calls the horizontal "Jira+QuickBooks for everyone" a no-build. Does the Dev pack earn its keep as a wedge/second market, or should v1 resources concentrate on Legal? Needs a pre-launch signup test.
4. **Payments provider:** build on Stripe Connect vs a legal-payments partner (Confido/LawPay-class) — affects payout speed (B10) and trust-account readiness later.
5. **Per-case pricing unit:** what counts as a "case" for AI billing — per petition filed, per matter opened, per document bundle processed?
6. **Mobile build strategy:** cross-platform (React Native/Flutter) for parity speed vs native for timer reliability and camera quality — parity requirement (Sec. 6.2) is the constraint either way.
7. **How much of the review screen must exist on mobile at launch** without violating the parity promise?

**Risks**

- **R1 — Two fronts closing (high).** Incumbents are shipping AI (Clio Manage AI GA since Oct 2024) while AI-natives add practice management (Glade). Mitigation: the specific combination — boards + hourly billing + AI forms with transparent pricing — is what no one offers; speed matters.
- **R2 — Scope is three MVPs (high).** PM + billing/payments + AI form compliance is triple the surface of a normal MVP (market-financial.md). Mitigation: ruthless P0 discipline; the core flow is the only launch gate; e-filing and trust accounting deferred.
- **R3 — Form-accuracy liability (high).** A wrong means-test number harms a real debtor. Mitigation: PR8 (confidence + source tracing + mandatory review), versioned jurisdiction data (A8), audit trail (A9), E&O-friendly documentation.
- **R4 — All-in-one depth trap (medium).** PSA history shows all-in-ones "win finance visibility, lose day-to-day PM usability." Mitigation: board/timer UX is held to Linear-class quality bars, tested against P4/P5 budgets.
- **R5 — Payments/compliance drag (medium).** Payment processing brings underwriting, disputes, and money-movement compliance. Mitigation: partner (Stripe Connect-class), don't build.
- **R6 — Solo-founder/base-rate reality (medium).** 70% of micro-SaaS never pass $1K MRR; median ~2yr 9mo to $1M ARR. Mitigation: per-case + payments revenue reduce dependence on seat count; solo tier drives volume.
- **R7 — Small-firm unbundling (medium).** ABA data shows solo practice-management adoption falling (45%→37%) on price fatigue. Mitigation: PM3's genuinely generous solo tier is the counter-bet — priced so unbundling isn't worth the seams.

---

*End of document.*
