Billing
Every figure on this page is rendered at build time from the site’s one
price file, shared/pricing.mjs — the same module the checkout and quote
code read — and a build check fails on any currency figure that did not come
from it. Prices are in US dollars, per regulated model, exclusive of tax.
The plans
Section titled “The plans”| Plan | Price | Term | Additional model |
|---|---|---|---|
| Quarterly model licence | $4,500 per quarter (≈ $1,500 a month) | one quarter minimum; renews quarterly; cancel before renewal | $3,500 per quarter |
| Annual model licence | $15,000 per year (≈ $1,250 a month, 17% below quarterly) | one year; renewal by quote | $12,000 per year |
A licence covers unlimited re-rendering and version comparison for one regulated model over its term, T1, T2, T7, T8, T9 and T12, the docs, support on computational-correctness questions within one business day, and fortnightly office hours. “Unlimited” means re-rendering, version comparison and monitoring — never repeated acceptance testing, which the test-set ledger counts. There is no monthly plan. The pricing page is the page to buy from; this page explains what happens after you click.
Two doors, equal weight, on every plan: pay by card and get a quote / pay by invoice. The price is the same through either.
Card — Stripe Checkout
Section titled “Card — Stripe Checkout”- The button posts to
/api/checkoutwith the plan and the model count. A Stripe Checkout session is created in subscription mode with tax-ID collection, automatic tax, a required billing address, and consent to the Terms (terms-2026-09-draft) and DPA (dpa-2026-09-draft) recorded on the session, plus two fields of ours: the regulated model’s name and an optional PO number. - Stripe’s hosted page collects the card. No card detail reaches this site.
- When Stripe reports the first invoice paid, the licence is issued
(below) and emailed with the install one-liner and the quickstart link.
Target: licence in your inbox within minutes of paying, and
proofpack runinside fifteen minutes. - The success page shows the install one-liner immediately.
A failed renewal payment goes to Stripe’s retries; the licence’s grace period applies meanwhile.
Quote, then invoice on net-30 terms with your PO
Section titled “Quote, then invoice on net-30 terms with your PO”- The quote form on the pricing page takes the legal entity, billing address, country, VAT or EIN (optional), plan and model count, model name, PO number (optional now — it can be added at acceptance), the buyer and an accounts-payable contact, and which procurement documents you need (DPA countersignature, security questionnaire, W-8BEN-E, vendor form).
/api/quotecreates or finds the Stripe customer, creates a quote withcollection_method: send_invoiceand thirty days until due, finalises it and emails the PDF to the buyer and the AP contact with an acceptance link. The link is signed and expires after thirty days. Nobody at Global Phoenix has to do anything for the quote to arrive.- The acceptance page shows the summary, the PDF, the Terms and DPA, an editable PO field and a checkbox that the acceptor is authorised to bind the entity, then name and role. Accepting writes the PO onto the quote, accepts it at Stripe, and Stripe creates the subscription and the first invoice — net-30, your PO number on it, payable by bank transfer, ACH or card from the hosted invoice. The acceptor’s name, role, IP address, browser user-agent and the time are kept as the audit record, which the page says before you submit.
- When the invoice is paid, the licence is issued exactly as on the card door.
If your legal team needs changes to the Terms or DPA, reply to the quote email; a person answers. There is no “licence before payment” on an invoice in version 1: an annual buyer who needs to start before the invoice clears takes the 30-day trial licence, which needs no card.
The licence file
Section titled “The licence file”A licence is a file, proofpack.lic: a JSON payload (licence id, licensee,
company number, tier, model count, features, issued and expiry dates, grace
days, key id) and an Ed25519 signature over it. proofpack licence install
puts it where the engine looks; proofpack licence verify checks it against
the public key embedded in the package — the same key published on
the trust page so you can verify it independently. No network is
involved in verifying a licence, and there is no licence server: revocation
is not possible offline by design, so a licence’s expiry is bounded by its
paid period plus the grace days.
The licence subcommand is the engine’s packaging day and is not in engine
0.1.0.dev1; the file format and the verification rule above are the
specified contract.
Invoices
Section titled “Invoices”Invoices are issued by Stripe from the quote you accepted, with net-30 terms and your PO number as a custom field. Your accounts-payable contact receives the invoice directly from Stripe; the hosted invoice page accepts bank transfer, ACH and card.
An overdue invoice is chased by email on days 30, 37 and 45 after issue — politely, with the invoice link and the PO on it — and on day 50 the founder is alerted. Those emails are lane-A lifecycle work scheduled for a later build day and do not exist yet; the schedule is the design.
Prices exclude tax. Stripe Tax is on. From the billing address and the VAT or tax ID you give at checkout or on the quote form, it computes UK VAT or applies the reverse charge. There is no US sales-tax registration until a US sale exists; the merchant-of-record question is revisited then (decision DEC-13, 13 September 2026). If you are buying from outside the UK, enter your VAT or tax ID so the invoice is issued correctly.
Renewal
Section titled “Renewal”A quarterly licence renews quarterly unless cancelled before the renewal date. An annual licence does not auto-renew: a renewal notice is scheduled to go out fourteen days before the period ends with a quote for the next year, and PO holders take the quote door again (that email is lane-A lifecycle work, not yet built). A licence’s expiry date is the period end; the file itself carries it.
Refunds: within fourteen days of the first payment on a new licence, if ProofPack has not rendered a pack you can use, email us and the term is refunded in full. After that a licence runs to the end of its paid term.
Grace watermark
Section titled “Grace watermark”Every licence carries 30 grace days. For that period after expiry
the engine still renders, and every page of every pack rendered in grace is
watermarked LICENCE EXPIRED — not for submission. That is what the
watermark means: the numbers are the engine’s numbers, the document is not
one to file. After the grace period run and compare emit JSON only;
doctor, map and fixtures always work, because a self-hosted tool keeps
working.
To clear the watermark, renew — by card on the pricing page, or by replying to the renewal quote — and install the new licence file. Nothing needs to be re-run: a pack rendered after installation carries no watermark.
The other watermarks a pack can carry are TRIAL (a trial licence: thirty
days or until the first full pack is rendered, whichever is later) and
SYNTHETIC - illustrative or DEMO (no real evidence; not for any
regulatory record).