Documentation

Availableapp.erp.io

erp.io documentation

Everything we have built, described as it behaves today — including the parts that are half-built and the parts that are named in the product but do nothing yet. Each page says which it is.

Modules live
Twelve
One origin
app.erp.io
Sign-in
One account, every module
Separate product
Pey

What erp.io is

erp.io is a suite of applications that share one account, one organisation, and one address. You sign in once at app.erp.io and every module you are entitled to is a path on that same origin — app.erp.io/accounting, app.erp.io/crm, app.erp.io/pm. There is no second login, no per-app subdomain to remember, and no cross-site hand-off for a browser to lose.

That shared origin is the single most consequential design decision in the product and it is worth understanding early, because it explains a lot of the behaviour documented here. One origin means one session cookie. One session cookie means a module that has never seen you before can tell that the suite already knows you, and sign you in without asking. It also means data one module holds is a same-origin fetch away from another, which is why the Accounting module can put a client name on an invoice that the CRM owns.

The part of the product that owns your identity — accounts, organisations, membership, entitlement, billing — is called the shell. Everything in Platform is the shell. Everything in Modules sits inside it.

app.erp.io/home
Good afternoon, Dana

Northwind Trading — 14 people, 6 modules

InviteNew
My tasks72 overdue
Unread12Chat + Inbox
Awaiting me3Approvals
Trial18 daysFull suite
The shell at app.erp.io/home. The rail on the far left switches modules; everything else on the page is the shell itself.

Start here

What is live today

Twelve modules answer on app.erp.io right now. This table is the honest version — a module being reachable is not the same as every screen inside it doing something, and the module pages say which screens are which.

ModuleAddressStatusWhat it is for
Accounting/accountingAvailableDouble-entry books, invoicing, bills, bank feeds, close
CRM/crmAvailableContacts, companies, pipeline, sequences, shared inbox
Projects/pmAvailableProjects, tasks, portfolios, goals
Chat/chatAvailableChannels and direct messages, with AI in the thread
Phony/phonyAvailableVoice and chat agents that answer and qualify
Marketing/marketingAvailableA workbench of marketing agents and their runs
Client Portalportal.erp.ioAvailableWork orders and a client-facing workspace
PLM/plmIn progressParts, BOMs and suppliers; change and quality not built
Sign/signAvailableSend, track and countersign documents
CFO/cfoAvailableForecasting, KPIs, scenarios and advisory
Canvas/canvasAvailableWhiteboards and visual collaboration
Legal/legalAvailableCaselaw research, drafting and legal agents
PeyseparateIn progressPayment intelligence — no public origin yet
Social was removed, not hidden

A Social module used to appear in the rail. Its host stopped answering and its publishing moved into Marketing, so it was deleted from the registry rather than shown greyed out. A module nobody can reach is noise in the rail and a support question waiting to happen.

How to read these pages

Every page carries a status badge next to its title, and the badge is about whether you can do the thing today, not whether code exists.

BadgeMeansExample
AvailableShipped, reachable, does what the page says.Bank reconciliation in Accounting
In progressPartly built. The page says which part works.PLM — parts and BOMs yes, change orders no
PlannedNamed in the product, no behaviour behind it yet.PLM quality: NCR, CAPA, SCAR, FMEA

Pages also carry the address of the screen they describe, so you can open the thing while you read about it. Every screenshot on this site is drawn, not captured — see why — and every figure in them is invented.

Things that are built but deliberately inert

Per-seat billing meters seats and shows a total it does not charge. Phony's outbound telephony is wired but the carrier on the account cannot place outbound calls. Both are documented as In progress with the specific gap named, because discovering that after building a workflow on top is expensive.

Questions

Do I need every module?

No. Modules are enabled per organisation and narrowed per person. A workspace with only Accounting and Chat is a normal workspace, and the rail shows only what you are entitled to. See Module access.

Is there one bill or twelve?

One. Billing lives in the shell and prices users against modules, not per app. See Billing and plans.

Why is Pey documented separately?

Because it is a separate product with its own repository, its own database, and a rule that it never writes journal entries. It is designed to work on top of QuickBooks or Xero as readily as on our own books, and folding it into the suite docs would misrepresent that. See Pey.

Where do I report something wrong in these docs?

Mail [email protected] with the URL. Documentation drift is treated as a defect — a stale list of what is broken is worse than none, because it gets believed.