Po creator
@dealdesk/po-creator
Turn a deal into a clean order form or purchase order, in markdown and printable HTML. Computes line totals, discounts, contract value, and a billing schedule, and lists what finance needs before signature. Works offline from a JSON file or a short text form.
- Activity
- New: be the first to try it
- Installs
- 0 installs
- Likes
- 0 likes
- Clones
- 0 clones
- 1# PO creator
- 3Turns deal terms into a clean order form or purchase order you can print to PDF and send for signature. It does the math (line totals, discounts, contract value, billing schedule) and lists what finance still needs before anyone signs.
- 5## Who it is for
- 7Account executives, deal desk, and founders who sell and are tired of rebuilding the same order form in a doc every week. Works with any CRM: paste the terms or save them as a small JSON or text file.
- 9## Example
- 11Input (`data/deal.txt`):
- 13```text
- 14customer: Northwind Traders LLC
- 15address: 100 Market Street, Springfield
- 16billing contact: Accounts Payable, ap@northwind.example
- 17start: 2026-12-01
- 18term: 12 months
- 19billing: quarterly
- 20payment terms: Net 45
- 21po required: yes
- 22line: PLAT-SEAT | Platform seat | 50 | 600 | 480
- 23line: SUP-PREM | Premium support | 1 | 6000 | 6000
- 24line: ONB-STD | Onboarding package | 1 | 5000 | 4000 | one-time
- 25```
- 27Output: `out/order-form.md`, `out/order-form.html`, and `out/order-form.json`, with:
- 29- Total contract value $34,000.00, ACV $30,000.00, discount 17.1%
- 30- Four quarterly invoices, the first $11,500.00 (it includes onboarding)
- 31- Checklist: BLOCKER no PO number yet; Net 45 needs finance approval; signer missing
- 33Try it right away with `examples/deal.json` or `examples/deal.txt`.
- 35## What it can access
- 37- Runs `node scripts/po-creator.mjs` (Node built-ins only, no network).
- 38- Reads `data/` (plus the kit's own `examples/`), writes `data/` and `out/`.
- 40## Setup
- 42None. No API keys. Node 22 or newer.
