The unfair advantage

One login.
Every vendor your customer works with.

Every other ERP forces your customer to create a new portal account per vendor. We invert that model โ€” one global Corzova Portal account per email, linked to every vendor they transact with.

The contrast

Two paths your customer can take.

Everyone else

Vendor-per-account

QuickBooks, Xero, FreshBooks, NetSuite, Salesforce, ServiceTitan โ€” every incumbent gives your customer a separate login per vendor they work with.

sarah@email.com / Acme-vendor-portal-password-1
sarah@email.com / Cascade-portal-password-2
sarah@email.com / SunsetRidge-HOA-portal-password-3
sarah@email.com / Cascade-water-portal-password-4
Result: customer abandons three of four portals, calls / emails / texts vendors for status, and remembers your business as "that vendor with the bad portal."
Corzova

One global PortalAccount

One email + password (or SSO). Corzova auto-links them to every vendor on Corzova they transact with โ€” past, present, future.

sarah@email.com / one-password
Cascade Insulation ยท Homeowner
Sunset Ridge HOA ยท Resident
Acme Studios ยท Client
Cascade Water ยท Account holder
Result: customer uses every portal, becomes an advocate for other vendors to adopt Corzova.
The network effect

Your customers become your sales team.

Every Corzova customer who has a great portal experience becomes an advocate โ€” pushing other vendors in their life to adopt Corzova so they get the same one-login experience.

No incumbent SaaS ERP can match this without rebuilding their identity layer from scratch. The privacy boundary (vendors never see each other's data) is enforced at the schema level via per-tenant PortalGrants.

N
vendors on Corzova
Nยฒ
adoption pressure

โ€œMy contractor's portal is the only one I actually use. I asked my plumber when he's switching.โ€

โ€” Sarah Chen, homeowner

โ€œI can see my insulation install, my water bill, and my HOA dues in one place. Why doesn't everyone do this?โ€

โ€” Maya Park, homeowner

โ€œI told my landscaping company to look at Corzova. They signed up last week.โ€

โ€” Sarah Chen, again
How it works

Three architectural decisions that make it work.

1

Global PortalAccount

One record per email across the entire Corzova network โ€” like Stripe's customer object or Plaid's user. Verified via email + magic link or OAuth (Google / Apple / Microsoft).

2

Per-tenant PortalGrant

A relationship record linking a PortalAccount to a specific vendor with explicit scopes (billing.view, billing.pay, documents.view). Created when a vendor invites them or they sign up via that vendor's portal.

3

Privacy boundary in schema

Vendors only see their own tenant data โ€” they can't enumerate other vendors a customer transacts with, see their balances, or see their communications. Enforced by row-level security in the database.

A vendor never sees another vendor.

Cascade Insulation cannot tell that Sarah is also a tenant at Sunset Ridge HOA. Sunset Ridge cannot see Sarah's balance with Cascade. The PortalAccount is hers โ€” the relationships are private. This is the load-bearing architectural promise that makes the model trustworthy at scale.

See Sarah's account page

Try it as Sarah Chen โ€” one login, four vendors.