Skip to main content

Tenant lifecycle

Modules PLT, IAM, ORG, EMP, ATT, LVE, PAY, NTF · Release R0 to R1 · Specs Platform, Organization, architecture sections 9 and 14

Context​

The reference product offers a self-serve trial and relies on an implementation team for templates such as the attendance Excel [Observed] (see Spryple analysis §3.2 and §21.1). Spyrl automates provisioning, guides set-up with a readiness score, validates imports with dry-runs, and requires a parallel payroll run before go-live.

Diagram​

Steps​

#ActorActionSystem responseModuleNotifications
1ProspectSigns up: company, owner, mobile OTP, slug and company code, plan, optional sample dataSlug and code validated; tenant ProvisioningPLT—
2SystemProvisionsCell placement; tenant rows and seed data (roles, leave templates, components, default structure, statutory pack); owner invite; plt.tenant.provisioned; tenant TrialPLT, IAM, ORG, LVE, PAYWelcome email with activation link
3org_ownerActivates, enrols MFAOwner ActiveIAM—
4org_ownerSetup wizard: company and legal entities, locations with fences and ID sequences, departments and designations, holiday calendarReadiness checks updateORG—
5hr_admin, finance_adminPolicies: attendance, leave types and policies, lifecycle, payroll schedule, components and structures, statutory registrations, workflowsDefaults from templates; policy previewsATT, LVE, EMP, PAY, NTF—
6hr_adminImports employees, job data, bank and statutory IDs (dry-run, fix, commit)Employees created; invites queued or held until go-liveEMP—
7hr_admin, payroll_managerImports opening leave balances, compensation and YTD payroll figuresOPENING ledger entries; compensation records; YTD for TDSLVE, PAY—
8hr_adminMaps biometric devices or enables mobile punching; invites a pilot groupDays computed for the pilotATT, IAMInvites to pilot employees
9payroll_managerRuns a parallel payroll for one month against the legacy payrollRun calculated (not paid); variance report vs imported legacy figuresPAY—
10org_ownerReviews the go-live checklist (readiness score, parallel run variance, statutory codes, bank file test)Go-live date setORG, PAY—
11org_ownerPays the first invoice or signs the contractTenant Active; metering starts; plt.tenant.activatedPLTInvoice email
12SystemSends invites to all employees on go-live dayUsers activateIAMEmail or SMS invites
13SystemMonthly billingPEPM on peak active employees; invoice with GSTPLTInvoice email
14org_ownerRenews, changes plan or buys add-onsEntitlements updated; plt.entitlements.changedPLT—
15org_ownerCancels (or non-payment runs out)Churned; export window opens; full export (CSV, JSON, documents) availablePLTExport ready email
16SystemExport window endsData deleted from the cell; backups age out; deletion certificate issued; plt.tenant.deletedPLTCertificate email

Exception paths​

SituationHandling
Provisioning step failsJob retries from the failed step; platform alert after N failures; tenant sees "setting up" status
Slug or company code takenSuggestions offered; reserved words blocked
Trial ends before go-liveTrial extension by platform_admin; otherwise Expired with a grace period before deletion
Import has errorsDry-run error file; nothing committed until clean; commits are idempotent per employee code
Parallel run variance too highAnalyse by component; fix structures or imported YTD; rerun; go-live waits
Payment failsPastDue with a 7-day grace and banner; then Suspended (read-only, payroll export allowed); never blocked in the payroll window without senior approval
Enterprise needs isolationDedicated cell provisioned; same steps; target under one day
Owner leaves the companyAnother org_owner takes over; if none exists, verified ownership transfer through support
Support needs access during set-upBreak-glass grant with owner consent; visible in the tenant's access log