Merchant onboarding (Support Portal)
This guide is for PeakPOS support staff onboarding a new merchant in the Support Portal at https://support.peakpos.co.
Primary UI pages: AdminDashboardPage, OrganizationsPage, OnboardingWizard, StoresPage, OwnersPage.
Before you start
Collect:
- Legal business name
- EIN (9 digits)
- Preferred org slug (short, URL safe)
- First store details (store name, address, timezone, phone)
- Owner email address
OnboardingWizard (3 steps)
- Open Organizations (OrganizationsPage).
- Click New organization (or Onboard merchant, depending on the build).
- Confirm you are in the OnboardingWizard.
Step 1: Create org (Name, EIN, Slug)
Fill the org fields:
- Name: use the legal name. Capture DBA later in notes if needed.
- EIN:
12-3456789if the UI allows it, otherwise123456789. - Slug: stable identifier used in URLs and internal references.
Slug rules:
- Lowercase letters, numbers, hyphens
- Avoid store numbers in the org slug
- Keep it stable, treat changes as an exception
Submit and confirm the org profile loads and the org is visible in OrganizationsPage.
Step 2: Create first store
Create the merchant's first store.
Minimum fields to verify:
- Store name (what staff see)
- Address (receipts, tax, support)
- Timezone (reports, end of day, audit logs)
After saving:
- Confirm the store appears under Stores (StoresPage) for the org
- Mark it Active if the UI supports it
Step 3: Invite owner
Invite the primary owner:
- Enter owner email.
- Set role to org_admin unless there is a clear reason not to.
- Send invite.
Owner flow (merchant side): accept invite, set up account, sign in at https://portal.peakpos.co.
Support checks:
- Invite is visible on Owners or Access/IAM
- Status changes from pending to accepted
Post-onboarding checklist
Org:
- Name, EIN, slug are correct
- Slug has no typos
- No duplicate org exists for the same merchant
Store:
- Store is under the correct org
- Name is readable
- Address and timezone are set
- Store is active
Access:
- Owner invite sent to the correct email
- Owner role is correct (usually org_admin)
Terminal handoff:
- Confirm which store each terminal belongs to
- Collect any device identifiers (serial number if present) and expected network details (Wi-Fi SSID or wired)
Common issues
Slug already exists
Fix:
- Choose a new slug with a short suffix, for example
acme-co->acme-co-2 - If you suspect the org already exists, search OrganizationsPage and stop before creating duplicates
EIN rejected
Fix:
- Remove punctuation and try
123456789 - Confirm it is an EIN, not an SSN
- If the merchant is not US-based, follow your policy for tax ID exceptions and escalate if the system requires EIN
Owner invite not received
Fix:
- Re-check spelling and trailing spaces
- Resend invite if available
- Ask them to check spam and corporate quarantine
Owner accepted invite but cannot see the org
Fix:
- Confirm login email matches the invited email
- Confirm role is org-level, promote to org_admin or org_manager if required
Duplicate org created
Fix:
- Stop and escalate for cleanup
- Do not provision terminals or invite additional users on the wrong org
Escalation
Escalate when you need merge or deletion of a duplicate org, EIN validation blocks onboarding without an approved exception, or access still fails after confirming email and role.