Per-document · 0% transaction tax · structural commitment

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.

Free
$0no card

100 documents / month. Full validation, no SLA. Attribution footer on the iso-compliant.com/qrbill renderer.

Start free
Most teams
Per-call
$0.05 → $0.005per document

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
Enterprise
Annualflat fee

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.

50k
1001k10k100k1M10M50M
docs/month
Your bracket
$0.030per billable doc · 10,000 – 99,999 docs

First 100 docs / month are always free. Billable docs this month: 49,900.

Estimated monthly cost
$1,497
49,900 billable docs × $0.030
Effective per-doc
$0.0299
over 50k docs total
Annualized cost
$18k
× 12 months
vs. building it yourself
$670cheaper / month, year 1

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.

33k
1001k10k100k1M10M
$0.0250per doc · Volume 10k+
iso-compliant 0.5% of volumelog/log scale
iso-compliant — per call
$812.50
33k docs × $0.0250
Standard processor — 0.5% of volume
$812.5k
33k docs × $5,000 × 0.50%
Monthly savings
$811.7k1000× cheaper

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.

DimensionDIY in-house buildiso-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 packsnot feasible in-house
annual re-issue per supported bank
included, versioned & pinnable
UBS-CH shipped; PostFinance-CH in dev
Inbound camt.053 reconciliation catalogmonths of field experience required
per-bank format drift, reference-pattern catalog
included
structured reference → invoice-id, all banks
Hash-chained audit attestationrequires 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.

Dimensioniso-compliant EnterpriseModern TreasuryForm3
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.