Industrial strength

Enterprise guarantees on a serverless foundation.

Five250 keeps the promises a serious ERP has to keep: nothing half-posted, nothing posted twice, nothing edited after the fact, no company ever seeing another's data. It keeps them on a platform with no servers to run and nothing to pay for while a business is closed.

Inside one transaction

A receipt is six writes. They land together or not at all.

Prepare outside, then lockValidation and anything external happen first. The transaction opens, locks what it changes and re-checks versions.

A fault halfwayOur fault-injection tests break the transaction mid-way. Every write disappears with it. Nothing is left half-done.

CommitDocument, movements, balances, journal, duplicate protection and the outgoing event commit in one instant.

Then the events go outThe outbox delivers each event at least once. Consumers ignore duplicates inside their own transaction.

The platform

Serverless, event-driven, API-first.

Cloudflare's global network runs the code. One PostgreSQL database holds the truth. Everything between them is an interface you could call yourself.

Browser and appINSTALLABLE · KEYBOARD-FIRSTPhoneSCAN WITH PHONEYour AI agentsREAD-ONLY MCPConnected storesADAPTERSCLOUDFLARE WORKERSFive250 APIOpenAPI 3.1 · validated schemasEvery write idempotentShared admission controlAlso runs on plain Node.jsAI GatewaySPEND LIMITS · TRACEDHYPERDRIVE → POSTGRESQLOne source of truthForced row-level securityAppend-only posted factsTransactional outboxSleeps when idleR2 file storageCHECKED BY CONTENTCloudflare QueuesAT LEAST ONCEJobs workerCONSUMERS · DUE WORKAI WORK ON COMMIT

Inexpensive to run

It sleeps when you do.

No servers per customer and no polling while nobody works. Background passes run every minute while someone is active and every four hours otherwise, so the database can suspend itself. Every piece of due work is a row in the database, so nothing is lost while it sleeps.

ONE DAY00:0004:0008:0012:0016:0020:0024:00Open for businessDATABASE AWAKEQUIET PASS EVERY 4 HOURS

The guarantees

What it promises, and how.

  • All-or-nothing postings

    A document, its stock movements, balances, cost, balanced journal, duplicate protection and outgoing events commit in one transaction. Fault-injection tests prove nothing is left behind.

  • No double posting

    Every command carries an idempotency key. A retry after a lost answer returns the original result, and when the outcome is unknown the screen says so and offers Check status instead of guessing.

  • Posted facts never change

    Nothing posted is edited or deleted. Corrections are linked documents: a reversal, a credit note, an adjustment. The application's own database role cannot edit posted facts.

  • Tenant isolation in the database

    Every table carries the company in its keys, under forced row-level security. The company is resolved on the server from membership, never taken from the browser.

  • One transactional authority

    A modular system over one PostgreSQL transaction boundary, not services that drift apart. Money is exact integers in minor units, never floating point.

  • Event-driven

    Dozens of versioned event types, written to a transactional outbox in the same commit as the change and delivered through queues at least once. AI work starts on the commit that triggers it.

  • API-first

    The web app uses the same HTTP API as everything else, described in OpenAPI 3.1 with validated schemas. Every deploy loads a complete sample company through the same public API, proving it end to end.

  • Overload protection

    Shared admission control answers busy, retry shortly, with no side effects, rather than failing halfway.

  • Self-checking

    A nightly check rebuilds stock from its movements and reports any drift. A live reconciliation ties every control account to its open documents.

  • Not locked in

    The same API runs on plain Node.js with ordinary PostgreSQL. Infrastructure sits behind narrow adapters the build enforces.

  • Measured, not assumed

    A benchmark loads 30,000 items and fails the build if the stock list or margin readers reach 300 ms at the 95th percentile.

  • Mutation testing and secret scanning

    Focused mutation runs on money, tax, rounding and allocation rules, and secret scanning in the pipeline.

    Coming next

Proof

Tested like the books depend on it.

About 1,000 unit and property tests, about 1,400 integration tests against real PostgreSQL and about 300 browser tests with automatic accessibility checks in every theme.

A concurrent-work experiment re-creates past race conditions and proves they stay fixed. Expected finance values come from independently reviewed examples, never from the code's own output.

More than 50 business rules carry an ID traced to the code that enforces them, and every change is reviewed independently, with regression tests that fail before the fix. The main branch deploys only after the full pipeline passes on that exact commit.

NextInventory Every change is a recorded fact, at the moment and place it happens.

See Five250 run a company like yours, from the first order to the trial balance.

Book a demo