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.
Two paths your customer can take.
Vendor-per-account
QuickBooks, Xero, FreshBooks, NetSuite, Salesforce, ServiceTitan โ every incumbent gives your customer a separate login per vendor they work with.
One global PortalAccount
One email + password (or SSO). Corzova auto-links them to every vendor on Corzova they transact with โ past, present, future.
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.
โMy contractor's portal is the only one I actually use. I asked my plumber when he's switching.โ
โI can see my insulation install, my water bill, and my HOA dues in one place. Why doesn't everyone do this?โ
โI told my landscaping company to look at Corzova. They signed up last week.โ
Three architectural decisions that make it work.
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).
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.
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