100 documents / month. Full validation, no SLA. Attribution footer on the iso-compliant.com/qrbill renderer.
Start free →Pay for documents emitted, not a slice of the wire.
iso-compliant prices per document on a volume curve, from $0.05/doc down to $0.005/doc at 10M+/month. First 100 documents per month are always free. Never a percentage of transaction volume — that's a structural commitment, not a campaign. Use the calculator below to model your monthly cost, then see how the per-call tier compares to a DIY build and to Modern Treasury / Form3.
Pricing
Per-document, on a volume curve.
Per-call paid tier scales down to half a cent for high-volume payroll batches. Enterprise customers pay a flat annual fee. Never a percentage of transaction volume — that's a structural commitment, not a campaign.
Volume curve down to half a cent per doc. Webhooks, idempotency, SLA 99.9%, audit retention 7y. Never a percentage of transaction volume.
Get an API key →Dedicated UAT support to land your bank rule pack. mTLS, custom SLA, on-prem / VPC-private deployment. SOC2 / ISO 27001 evidence pack.
Talk to us →Volume-to-cost calculator
Model your monthly cost.
Drag the slider or type a volume. The calculator resolves your bracket on the per-call curve, applies the first-100-docs-free deduction, and shows the effective per-doc rate plus the annualized cost. The DIY baseline at the bottom is the biz/fin pre-mortem's $18k build + $8k/yr maintenance number.
First 100 docs / month are always free. Billable docs this month: 49,900.
DIY baseline: ~120 engineer-hours × $150/hr loaded = $18k initial, plus $8k/yr maintenance. Year-1 amortized = $26,000 / 12 ≈ $2,167/mo. Excludes the bank rule packs, the inbound camt.053 recon catalog, and the audit chain — none of which are buildable in-house at any reasonable cost.
Pricing math is pure and testable — priceForVolume() in components/pricing/CostCalculator.tsx. Same brackets the billing pipeline applies to your usage.
Predictable accounting
Per-call pricing vs. percentage of volume.
Drag the slider. Watch what a 0.5% transaction tax does to a payroll processor at scale. iso-compliant prices per document; your costs scale with operations, not with the dollar amount on the wire.
Per-call pricing scales sub-linearly. Percentage-of-volume scales 1-to-1 with your customers' transaction sizes — which is exactly the wrong direction for infrastructure cost.
Honest comparison
Why not build it yourself?
A defensible in-house emitter is achievable. A defensible in-house bank-direct emitter with inbound reconciliation, per-bank rule packs, and an audit-grade evidence chain is not. Here are the numbers, with the math the biz/fin pre-mortem uses.
| Dimension | DIY in-house build | iso-compliant per-call |
|---|---|---|
| Initial build | ~$18,000 120 eng-hours × $150/hr loaded | $0 API key in 5 minutes |
| Year-1 cost | ~$26,000 $18k build + $8k maintenance | ~$21,500 at 60k/mo 59.9k billable × $0.03 × 12 — scales with usage, not commit |
| Ongoing maintenance | ~$8,000/yr fractional engineer + on-call | $0 rule packs auto-update under your pin |
| Break-even (per-call $0.005 floor) | ~5.2M docs/yr $26k/yr ÷ $0.005/doc | cheaper below 5.2M docs/yr where the median early-adopter sits |
| Per-bank IG rule packs | not feasible in-house annual re-issue per supported bank | included, versioned & pinnable UBS-CH shipped; PostFinance-CH in dev |
| Inbound camt.053 reconciliation catalog | months of field experience required per-bank format drift, reference-pattern catalog | included structured reference → invoice-id, all banks |
| Hash-chained audit attestation | requires separate evidence pipeline standalone build, not part of the emitter | on by default, 7-year retention usable in your own SOC2 / ISO27001 audit |
Per-bank IG dialect drift
Every supported bank reissues their ISO 20022 implementation guide approximately yearly. Each reissue is a fresh round of schema diff, fixture refresh, and UAT submission. Multiply by the number of banks you actually emit to. The maintenance cost is the recurring cost, not the build cost.
Bank-fixture acceptance evidence
A schema-valid pain.001 is not an accepted pain.001. Bank UATs reject for reasons not present in the spec: field-length overlays, character-set folding, IBAN-country consistency checks, building-name fallback rules. Only field experience builds the catalog of which rules apply where.
Inbound camt.053 reconciliation key catalog
The durable moat. Outbound generation is a known problem with public schemas. Inbound reconciliation is the bank-by-bank, reference-pattern-by-reference-pattern map of how each statement format encodes its end-to-end ID — and that map is what we accrete over every camt.053 we process. It's not in any spec.
Hash-chained audit attestation
Every emitted document is signed and chained, with retention and a third-party-verifiable evidence pack. This is usable directly in your own SOC2 / ISO 27001 audit — the auditor verifies our chain, your evidence step is checked. Building this in-house is a separate project with its own scope.
The 5.2M docs/yr DIY breakeven figure is the conservative number from the iso-compliant biz/fin pre-mortem; it bakes in a higher fully-loaded hour rate plus a multi-bank rule-pack scope. At your actual rate and bank coverage, breakeven shifts. Above 5M docs/yr a DIY pain.001 emitter can compete on per-doc cost — but still not on the rule packs, the inbound catalog, or the audit chain.
Enterprise tier vs alternatives
How the Enterprise tier compares.
Three vendors, factually compared on the dimensions a treasury platform engineer actually evaluates. Cells marked † are inferred from public positioning, not confirmed line items — see the disclaimer below.
| Dimension | iso-compliant Enterprise | Modern Treasury | Form3 |
|---|---|---|---|
| Pricing model | Flat annual + per-call below volume floor | Annual platform fee + usage-based per payment sales-contact only; per moderntreasury.com/pricing | Per-transaction commercial model sales-contact only; per public positioning |
| Bank-direct via EBICS / SFTP | Yes | No bank-partner network (Instant / Supported / Custom) | Partial† single-API to UK/EU/US schemes; EBICS/SFTP not advertised |
| Inbound camt.053 reconciliation | Yes keyed to your invoice ID | Partial product page: "compare ledger account with bank account balances" — ledger-level, not invoice-ID keyed | Partial† message-level rails; invoice-ID matching not advertised |
| Swiss QR-bill emit + parse | Yes | No US-led product surface | No UK / EU / US rails only — no Swiss surface |
| mTLS for client API | Yes Enterprise tier | No Basic auth (org_id:api_key) over HTTPS + IP allowlist | Yes† engineering blog discusses mTLS; product-level confirmation pending |
| ISO 20022 evidence pack for your audit | Yes hash-chained, 7-yr retention | No† audit log access; portable pack not advertised | Partial† SOC 2 Type II + ISO 27001/27017/27018 published; portable per-tenant pack not advertised |
| Time to first emit | ~1 hour (sandbox key + first pain.001) | Days to weeks (existing bank partner) / longer (custom)† per moderntreasury.com/journal | 6+ weeks (bank connectivity + UAT)† estimate; Form3 does not publish a stated SLA |
Methodology & uncertainty. Modern Treasury and Form3 capabilities were verified against public sources in June 2026: moderntreasury.com/pricing, moderntreasury.com/integrations, moderntreasury.com/products/reconciliation, moderntreasury.com/journal, form3.tech, and form3.tech/platform. Cells without a marker reflect a primary-source confirmation (with the source cited inline). Cells marked † are ones where the line item is not explicitly published — either because vendor pricing/timeline/authentication detail sits behind a sales-contact form, or because absence-of-mention is not the same as proof of absence. If you need a confirmed answer on a flagged cell for an evaluation, contact the vendor directly and we'll update this table with their stated position.
FAQ
Pricing & commercial terms.
The eight questions buyers ask before signing. If yours isn't here, email sales@iso-compliant.com — we'll answer and add it.
How is iso-compliant priced vs Stripe Treasury or a percentage-of-volume processor?
Per document, on a volume curve — never a percentage of transaction value. A standard payment processor charging ~0.5% of volume scales linearly with your customers' transaction sizes; that is exactly the wrong direction for infrastructure cost. A $2M payroll batch costs the same as a $200 invoice on iso-compliant. The per-call tier scales from $0.05/doc down to $0.005/doc at 10M+ docs/month. Use the calculator above to model your volume.
What is the difference between the Free and the Per-call tier?
The Free tier is 100 documents per month, no card required, full validation, with an attribution footer on the iso-compliant.com/qrbill renderer and no SLA. The Per-call tier removes the footer, adds the 99.9% SLA, adds webhooks and idempotency, adds 7-year audit-chain retention, and tracks usage on the volume curve. Both tiers expose the same API; you do not need to migrate when you upgrade — just add a billing method.
What is the SLA on the paid tier?
99.9% monthly uptime on the Per-call tier, with service credits for missed SLA. Enterprise tier customers get a negotiated SLA — typically 99.95% with dedicated incident response and named technical contact. The status page publishes per-region availability and historical incident data; the contract terms are in app/legal/terms.
Is there a long-term contract for the Enterprise tier?
Enterprise is an annual flat fee — one year minimum, billed annually or quarterly. We do not require multi-year lock-in, and the contract does not auto-renew without explicit confirmation. The flat fee covers your committed volume; overage above the commit is billed at the matching per-call tier rate, not at a punitive overage rate.
Can I get a custom rule pack for my specific bank?
Yes — that is the core of the Enterprise tier. We run a UAT cycle against your bank, capture every pain.002 rejection reason, and build a versioned rule pack pinned to your account. The rule pack is regenerated when the bank reissues their implementation guide (annually, typically). The current registry ships a UBS-CH skeleton pack; PostFinance-CH is in development; the next ten banks are planned and prioritized by customer demand.
What happens to my data? Is it retained or used to train anything?
Every emitted document is hash-chained and retained for 7 years on the paid tiers, as required for the audit attestation. Document content is encrypted at rest with per-tenant keys, and is never used to train ML models — the request path is deterministic XML emission with no LLM in the loop. Customer data is processed under a standard DPA (app/legal/dpa); on-prem / VPC-private deployment is available on the Enterprise tier for customers with data-residency or banking-secrecy constraints.
Do I need to commit to a volume to get the volume-tier pricing?
No. The Per-call tier resolves to the matching bracket every month based on actual volume. If you do 50,000 docs one month and 5,000 the next, the first month bills at the $0.03 bracket and the second at the $0.05 bracket. There is no commit, no overage fee, and no penalty for underrunning. Enterprise customers can commit annually to lock the rate.
What happens if I exceed my Free-tier 100 docs in a month?
Emission keeps working — we do not hard-fail mid-month and break your production batch. We flag the overage in the dashboard and email the account owner with a link to add a billing method. The overage docs are billed at the matching Per-call bracket (typically $0.05/doc for any volume below 10k/month). If a billing method is not added within 14 days, the next month rolls back to Free-tier limits.
Five minutes to first emit
Sandbox API key. First pain.001 in under an hour.
100 documents per month, free, no card. Upgrade when you cross the threshold; the API is the same.