Job ticket 941068 · smb · index · no subscription
Paymo Free tracks time for one user and two projects. The margin sheet that prices the work is free.
Paymo's free plan covers one user, two projects, one client and 1GB with unlimited time tracking and invoices; Solo lists at US$9.90 a month with a US$5.90 first-three-month promo, Plus at US$15.90 promo US$10.90, and Pro US$23.90 promo US$16.90, per user a month. This page produces the margin sheets that make a two-project free workspace profitable rather than merely busy.
Paymo is a trademark of its owner. This is an independent, unaffiliated comparison built on Paymo's own published pricing material, linked below and re-read every thirty days.
Margin Index — rendered in this browser
Sample data is illustrative, not a claim about Paymo. Every Paymo figure on this page comes from the linked pricing page, read 2026-10-26.
The prompt pack
Two prompts, each mapped one-to-one onto a Paymo feature you are currently rationed on. Run them from this page with a free key, or copy them into any free chat model — the text is identical either way, and it is printed in full at the bottom of this section so it survives this site.
Loading the pack from tools.json… If this fails, the full prompt text is still readable below.
One-time unlocks only, never a subscription. If a price ever appears here it was read from Stripe in that request, not typed by hand. An unlock is client-side gating, not secure payment verification: it is stored in this browser and cannot prove payment to anyone else.
What Paymo's own pricing page says
Read from paymoapp.com/pricing on 2026-10-26. Fields we could not read are marked unconfirmed rather than filled in with a plausible number.
| The job | Paymo free / trial (read 2026-10-26) | Paymo first paid tier | This page + a free-tier model |
|---|---|---|---|
| Price | US$0: one user, two projects, one client, 1GB, unlimited time tracking and invoices | Solo: US$9.90/user/month list (US$5.90 promotional, first 3 months) | US$0 forever. The prompts are yours; only your ally's free allowance applies. |
| Users and projects | 1 user, 2 projects free | Solo US$9.90/mo for unlimited | The two active slots cover both current jobs |
| Profitability math | Time tracking and invoices only | Reports on paid tiers | The sheet computes margin from the free export |
| Estimating | Manual | Templates on paid plans | The audit enforces historical hours and full cost capture |
| Who sees your data | Paymo | Paymo | Only the inference provider you choose — or nobody at all in Copy-Paste Relay. This site has no database. |
What this replaces, and what it does not
A displacement claim you cannot substantiate is a lie with good typography. This is the whole scope, including the parts where Paymo wins.
Replaced: Project margin sheet
The profit calculation time tracking does not do: fees, logged hours, internal costs and invoicing become line items under one computed margin stat.
Replaced: Estimate realism audit
The pre-sign check: an auditor tests planned hours against historical data and hunts for omitted software, subcontractor and revision costs.
Your data stays yours
Nothing is stored, synced or uploaded by this page; renders download as files and the prompts are printed in full.
Not a time tracker
No hours are logged here; Paymo Free captures them.
No invoicing connection
The sheet is analysis; invoices stay in the platform's free feature.
No accounting advice
Tax treatment of costs is outside the sheet; a preparer reviews filings.
The prompts, in full, as text
Copy these into any model. They are the product; the page around them is convenience. Each block is the exact system prompt the interactive runner sends, plus the user-message template.
Prompt 01 — 1. Project margin sheet · paymo-margin-sheet v1.0.0 · best ally: OpenRouter — :free model variants · openai/gpt-oss-120b:free (any :free id works; runtime discovers live models)
Replaces: The profit calculation time tracking does not do: fees, logged hours, internal costs and invoicing become line items under one computed margin stat.
Why this model: A roomy :free instruct model holds the whole brief and the schema together, which matters for a one-page finding sheet with line items and one headline stat where one weak middle row breaks the render; the runtime discovers whichever :free id is live. Fallback ally: Google Gemini API — Free usage tier.
System prompt (2154 chars):
You are the Margin Index, a working bench for people who need one-page finding sheet with line items and one headline stat without paying Paymo's seat price. You receive one paragraph of real operating detail about a real team and you produce a one-page finding sheet with line items and one headline stat. You write like a careful operator: concrete nouns, real numbers, short sentences, no brochure voice. The reader will paste your JSON straight into the renderer on this page, so structure is part of the deliverable, not scaffolding you may omit.
Return ONLY one JSON object. No markdown fences, no commentary, no preamble.
{
"kicker": string (max 8 words),
"headline": string (max 8 words),
"subhead": string (max 20 words),
"rows": [ { "label": string (the line item), "value": string (the finding, quote or number) } ],
"stat": { "value": string (one count or price, digits), "label": string (max 12 words, what the number is) },
"footnotes": [ string (one short footnote per assumption made) ]
}
Hard rules:
1. Use only facts present in the brief. If a field needs a name, date or figure the brief does not contain, write [NEEDS FACT: what is missing] instead of inventing one.
2. Every output exists to route around the limit Paymo places on its free or trial tier; do not recommend upgrading to Paymo and do not mention its paid plans as the answer.
3. Numbers stay digits with their units (US$49, 14 days, 250 contacts). Never round a figure the brief stated exactly.
4. Banned openings: "Introducing", "Unlock", "Discover", "Elevate", "Seamless". No emoji, no exclamation marks, no slogan-shaped sentences.
5. Prefer concrete nouns and verbs over adjectives. If two entries say the same thing twice, merge them and keep the more specific one.
6. Rows run most consequential first; the headline stat must be computable from the rows, never an independent claim.
7. Write every string in the language of the brief, and keep each string inside the length caps named in this schema.
8. If the brief contradicts itself, keep both readings in a note and pick the conservative one in the body; never silently resolve a contradiction.
User message template:
Variables:
{{brief}}— Operating brief — what the team does, the numbers, and what the free tier stops at (max 1400 chars) sample data shipped with the tool{{audience}}— Who will use the output? (max 160 chars) sample data shipped with the tool
Output schema (the answer must match this exactly):
Decoding: temperature 0.5 · max 1200 output tokens · responseMimeType application/json · budget ~800 in / ~600 out per run · cost per run: 1 request against an OpenRouter :free variant; the published free ceiling is 50 requests/day, so this is 2% of one day.
Prompt 02 — 2. Estimate realism audit · paymo-estimate-audit v1.0.0 · best ally: OpenRouter — :free model variants · openai/gpt-oss-120b:free (any :free id works; runtime discovers live models)
Replaces: The pre-sign check: an auditor tests planned hours against historical data and hunts for omitted software, subcontractor and revision costs.
Why this model: A roomy :free instruct model holds the whole brief and the schema together, which matters for a audit pass where one weak middle row breaks the render; the runtime discovers whichever :free id is live. Fallback ally: Google Gemini API — Free usage tier.
System prompt (2122 chars):
You are the audit desk of the Margin Index. A reader pastes a draft sheet artifact that another model produced against a brief, and you return the same kind of artifact after a strict fact-and-schema audit. You are deliberately skeptical: an unsupported number is worse than a missing one, and a confident paragraph the brief cannot fund is the exact failure mode Paymo's pricing page exploits to sell a paid seat. You keep the JSON schema identical so the page can render your answer without a second conversion.
Return ONLY one JSON object. No markdown fences, no commentary, no preamble.
{
"kicker": string (max 8 words),
"headline": string (max 8 words),
"subhead": string (max 20 words),
"rows": [ { "label": string (the line item), "value": string (the finding, quote or number) } ],
"stat": { "value": string (one count or price, digits), "label": string (max 12 words, what the number is) },
"footnotes": [ string (one short footnote per assumption made) ]
}
Hard rules:
1. Audit against the brief only: mark every line that uses a fact the brief does not support as "unsupported" in a note; never supply the missing fact yourself.
2. Check the schema's length caps one field at a time and rewrite any string that breaches its cap rather than truncating it mid-sentence.
3. Hunt specifically for the shape of claim Paymo's own marketing would make — superlatives, unspecified "up to" figures, upgrade nudges — and cut or flag them.
4. Numbers stay digits with units; recompute any total from its components and flag a mismatch instead of repairing it silently.
5. Banned openings and emoji rules from the generator still apply to your rewritten strings; an audit that introduces a slogan fails the audit.
6. Return the complete artifact in the same schema, not a diff: keep every field, changing only what the audit found, and list each change reason in the notes array.
7. If the draft already satisfies every rule, say so in a note and return it byte-for-byte in substance; do not manufacture changes to look useful.
8. Write every string in the language of the draft, inside the same length caps.
User message template:
Variables:
{{brief}}— Original brief (max 1400 chars) sample data shipped with the tool{{draft}}— Draft artifact to audit (max 2000 chars) sample data shipped with the tool{{audience}}— Who will act on it? (max 160 chars) sample data shipped with the tool
Output schema (the answer must match this exactly):
Decoding: temperature 0.3 · max 1200 output tokens · responseMimeType application/json · budget ~800 in / ~600 out per run · cost per run: 1 request against an OpenRouter :free variant; the published free ceiling is 50 requests/day, so this is 2% of one day.
Questions worth asking before you cancel
Is this actually free, or is there a subscription hiding?
There is no subscription. Both prompts run unmetered, the Copy-Paste Relay needs no key and no account, and every export stays free. A one-time unlock for a convenience feature is named in the spec, but no price or buy control renders until a real Stripe Payment Link exists and its price is read back from Stripe's API.
Do you need an API key to use this?
No. Copy the printed prompt into any free chat model, paste the JSON answer into the relay box, and the page renders it identically. A free-tier ally key only removes the copy-paste step; it is stored in your browser tab unless you check Remember on this device, and sent only to that provider, never to 0saas.
Which free model should I run the Paymo prompts on?
The pack routes first to the ally named on each prompt, with a second free ally as fallback. For the sheet renderer, strict-JSON output matters more than raw cleverness, so a free Gemini or Groq instruct model with JSON mode is the reliable choice; the runner lists live models from your own key rather than trusting a hardcoded list.
Where do the Paymo prices on this page come from?
From Paymo's own pricing page at paymoapp.com/pricing, read on 2026-10-26 and mirrored in the extraction artifact linked below. Any field the page did not print is marked unconfirmed and rendered without a number rather than filled in from memory; the next scheduled read is 2026-11-25.
Is 0saas affiliated with Paymo?
No. Paymo is a trademark of its owner. This is an independent, unaffiliated comparison built on Paymo's own published pricing material, linked on the page and re-read every thirty days. Nothing here is endorsed by or connected to the trademark owner.
What does this replace, and what does it not replace?
It replaces the authoring and checking work behind project margin sheets for solo and small teams — the margin sheet itself, rendered locally from strict JSON. It does not replace Paymo's account, hosting, integrations or multi-person features; not a time tracker stays on the platform you already use.
Send this to someone still paying for it
Nothing loads from a social network until you click. The buttons are plain links — X, LinkedIn, Reddit, email, and a few more. No share is counted or reported back to us. Cancel the rent. Keep the work.