Skip to content
SlashClone
Made by@dealdesk

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.

SkillRevOpsv1.0.0 (latest)Tested
Activity
New: be the first to try it

Real output from this kit

How this works

  1. It is a skill: written instructions Claude reads when your request matches what the skill is for. You do not call it by name; just ask for the task.
  2. While it works, it reads and changes files in the places it lists, nowhere else.
  3. It runs these commands on your computer: node scripts/po-creator.mjs.
  4. Nothing runs until you choose to use it, and you can remove it any time.

SKILL.md

Order form and PO creator

Turns deal terms into a document a customer can sign and finance can bill from. The script does every calculation, so the numbers are exact and the same every time. You collect the terms, run it, and walk the user through the checklist.

When to use

  • A rep or deal desk needs an order form or purchase order for a deal.
  • The user pastes deal terms from a CRM, an email, or a quote and wants it "ready to sign".
  • Not for contracts or MSAs. Those are legal documents; this produces the commercial order that sits under them.

Inputs

Ask for anything missing. Never invent a legal name, address, price, or PO number.

FieldNotes
Customer legal nameExact registered name with suffix (Inc., LLC, Ltd., GmbH)
Billing address and billing contactContact can be a team ("Accounts Payable") plus an email
ProductsSKU, description, quantity, list price, net price; mark one-time fees
Term and start dateMonths, and YYYY-MM-DD
Billing frequency and payment termsannual (default), quarterly, monthly, semi-annual, upfront; Net 30 default
PO required? PO number?Many larger customers will not pay an invoice without their PO number on it
Signer, tax ID, order numberOptional, but flagged when missing

Recurring prices are per unit per year. Add "price_period": "month" (or | month in the short form) for monthly unit prices.

Steps

  1. Collect the deal. If the user gave a file in data/, use it. Otherwise write data/deal.json (shape: the kit's examples/deal.json) or data/deal.txt in the short form:

    customer: Contoso Robotics Inc.
    address: 22 Harbor Road, Bayview
    billing contact: Finance Team, invoices@contoso.example
    start: 2027-01-01
    term: 24 months
    billing: annual
    payment terms: Net 30
    po required: no
    line: PLAT-SEAT | Platform seat | 120 | 600 | 510
    line: ONB-PLUS | Onboarding plus training | 1 | 9000 | 9000 | one-time

    Show the user the terms you captured and ask them to confirm before generating.

  2. Generate.

    node scripts/po-creator.mjs data/deal.json --out out --name order-form

    Use --name to give each deal its own files, for example --name of-2026-0142. Add --today YYYY-MM-DD only to reproduce an old run.

  3. Read the summary in out/<name>.json: totals, billing_schedule, checklist, blockers.
  4. Report back with the template below. Lead with blockers.
  5. Fix and rerun. When the user supplies a missing item (PO number, signer), update the deal file and run step 2 again. Never hand-edit numbers in the output files.
  6. Hand off. The HTML prints cleanly to PDF from any browser (File, Print, Save as PDF). The finance checklist prints on its own last page and is marked internal: remind the user to drop that page before sending.

Output to the user

**Order Form OF-2026-0142** for Northwind Traders LLC: TCV $34,000.00, ACV $30,000.00, discount 17.1%.
Files: out/order-form.md, out/order-form.html (print to PDF)

Before signature (1 blocker):
- BLOCKER: customer requires a PO and none is recorded.
- Payment terms Net 45 are past Net 30: needs finance approval.
- Signer name and title are missing.

Billing: 4 quarterly invoices, first one $11,500.00 on 2026-12-01 (includes onboarding).

Checks the script makes

  • Blockers: missing legal name, address, billing email, start date; PO required but no PO number; zero or negative quantities.
  • Warnings: no entity suffix on the legal name, start date in the past, payment terms past Net 30, overall discount above 20%, net above list, missing signer.
  • Info: no tax or VAT ID, no order number, vendor onboarding forms.

If the discount or terms look non-standard, suggest running discount-approval-check (same deal file) before sending.

Guardrails

  • Never fill in a legal name, PO number, tax ID, or price the user did not give you. Leave it missing and let the checklist flag it.
  • Never send the document to anyone. The user sends it.
  • Do not add legal terms, warranties, or SLAs to the order form. If the user asks, say those belong in the contract and suggest they reference it by name.
  • Currency is one per document. If the deal mixes currencies, stop and ask.

README.md

PO creator

Turns 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.

Who it is for

Account 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.

Example

Input (data/deal.txt):

customer: Northwind Traders LLC
address: 100 Market Street, Springfield
billing contact: Accounts Payable, ap@northwind.example
start: 2026-12-01
term: 12 months
billing: quarterly
payment terms: Net 45
po required: yes
line: PLAT-SEAT | Platform seat | 50 | 600 | 480
line: SUP-PREM | Premium support | 1 | 6000 | 6000
line: ONB-STD | Onboarding package | 1 | 5000 | 4000 | one-time

Output: out/order-form.md, out/order-form.html, and out/order-form.json, with:

  • Total contract value $34,000.00, ACV $30,000.00, discount 17.1%
  • Four quarterly invoices, the first $11,500.00 (it includes onboarding)
  • Checklist: BLOCKER no PO number yet; Net 45 needs finance approval; signer missing

Try it right away with examples/deal.json or examples/deal.txt.

What it can access

  • Runs node scripts/po-creator.mjs (Node built-ins only, no network).
  • Reads data/ (plus the kit's own examples/), writes data/ and out/.

Setup

None. No API keys. Node 22 or newer.

Files

  • README.md
  • SKILL.md
  • examples/deal.json
  • examples/deal.txt
  • kit.json
  • scripts/po-creator.mjs

Did it work?

0worked for them0did not work

Sign in to say whether it worked for you.

Nobody has said yet. Tried it? Tell the next person.