See a real PRD a real founder shipped.
Below: a sample PRD generated in a planning session. Names are anonymized; structure and length are real.
Product Requirements Document — Acme Inc
This is an anonymized PRD authored by John (PM) during a planning session with Marcus, founder of Acme. Names and figures have been changed; structure and length reflect the real artifact.
1. Problem
Acme's customers (mid-market HR teams of 20-200 people) waste an average of 4 hours per week reconciling expense reports across three siloed systems (corporate card, reimbursement portal, accounting GL). The reconciliation gap surfaces at month-close and forces finance to either delay the close or ship a clean-but-incomplete report.
Marcus is two months out from a Series A pitch; the cap table needs a defensible story about how the product reduces this 4-hour reconciliation tax to under 30 minutes per week.
2. Success Metrics
| Metric | Baseline | Target (V1) |
|---|---|---|
| Weekly reconciliation hours per HR-finance pair | 4.2 | < 0.5 |
| Month-close delay (days past target) | 3.1 | 0 |
| NPS among finance leads | 24 | > 45 |
| Time-to-first-reconciled-month | 21 days | 3 days |
3. Users
Two primary personas:
- Finance lead (Lily). Owns month-close. Pain: reconciling 800+ line items across three systems. Wants a single approved-vs-pending view by GL code.
- HR ops lead (Sam). Owns corporate card distribution + expense policy. Pain: chasing receipts post-month-end. Wants automated nudges and a weekly exception report.
Secondary: the controller, who signs off on the close and audits the reconciliation log.
4. Functional Requirements
- FR-1 — Pull transactions from Brex, Ramp, and Stripe Issuing via signed OAuth on a 15-minute cadence.
- FR-2 — Map each transaction to a GL code via a rules engine the finance lead authors directly (no engineer round-trip).
- FR-3 — Surface unmapped / over-policy transactions to the HR ops lead in a daily digest with one-click classify-or-flag actions.
- FR-4 — Generate a month-close reconciliation report (PDF + CSV) on demand, with a per-transaction audit trail of every rule that fired.
- FR-5 — Maintain an immutable change log for every rule edit + every classification decision (SOC 2 readiness).
5. Non-Functional Requirements
- NFR-1 (Performance) — Transaction ingest end-to-end latency under 30 seconds at the 95th percentile.
- NFR-2 (Security) — All credentials in a managed vault; no plaintext secrets in the application database.
- NFR-3 (Compliance) — SOC 2 Type I evidence by month 6, Type II by month 18.
- NFR-4 (Availability) — 99.5% monthly uptime SLA; single-region acceptable for V1.
6. Scope (V1)
Cut list (deferred to V1.5+):
- Multi-currency support beyond USD + EUR.
- Receipt OCR (manual upload only for V1).
- Mobile native app (mobile web acceptable for V1).
- Direct GL push to NetSuite / Sage (CSV export only for V1).
7. Risks
- R-1 — Brex / Ramp APIs may rate-limit at the 15-minute cadence under
high-volume customers. Mitigation: degrade gracefully to 60-minute cadence
- a backfill on the next successful pull.
- R-2 — The rules engine UX must stay under 3 clicks per common rule; any deeper hierarchy will push finance leads back to spreadsheets.
- R-3 — SOC 2 audit calendar slip pushes the Series A pitch story out a quarter; budget a fixed-fee SOC 2 partner now, not at month 5.