Supplier Lifecycle
States
register
│
▼
┌──────────┐ underwriting ┌────────────────────┐
│ Pending │──────approves─────▶│ PendingActivation │
└──────────┘ └────────────────────┘
│ │
│ underwriting │ activation completes
│ rejects │ (contract signed)
▼ ▼
(application ┌──────────┐
closed) │ Active │
└──────────┘
│ ▲
policy violation, │ │ reinstatement
lost API access, │ │
failed payments ▼ │
┌───────────┐
│ Suspended │
└───────────┘
│
cancellation confirmed
▼
cancelationStatus = Canceled (+ Suspended)
supplierStatus values come from SupplierStatusType in
@payability/pyb-ng2-api. Cancellation is not a fifth status — it is the
combination cancelationStatus === Canceled and
supplierStatus === Suspended, which is exactly what selectIsSupplierCancelled
checks.
What each state unlocks
| State | Gains | Loses / never had |
|---|---|---|
|
Onboarding routes. With the |
|
|
Same as |
Same as |
|
|
— |
|
Keeps |
|
Cancelled |
A read-only view plus the reactivation path. |
Product actions. |
Transition triggers in the client
The client never sets supplierStatus — it re-reads it. Every action that could
change eligibility ends with:
this.store.dispatch(userStatusUpdateRequested());
which runs getSupplierStatus(id) → userStatusUpdated → userPermissionsRequested
→ recalculation. Call sites include:
-
completing any DocuSign flow,
-
completing an Advance Line withdrawal,
-
accepting an Instant Advance,
-
finishing onboarding activation,
-
UpdateUserStatusTaskinside any composed flow.
The dashboard status axis
dashboardStatus.status is orthogonal to supplierStatus and decides which
shell the supplier sees.
| Value | Meaning |
|---|---|
|
Still in the onboarding funnel. Suppresses |
|
Onboarding finished; the welcome experience has not been dismissed. |
|
Account exists but the full dashboard is not available. |
|
The normal dashboard. |
OnboardingComponent reads this value to route the supplier to the correct step,
and DashboardStatusGuard uses it to push onboarding users back to /dashboard.
Cancellation and reactivation
cancelationStatus moves null → Pending → Canceled. The client surfaces
this through CancellationBannerInitializerService and the cancellation survey.
See Cancellation & Reactivation.
Suspension
suspensionReason carries a sh.susp:* code that maps to specific copy and, in
several cases, a specific remediation CTA. See
Suspension.
Onboarding schema, an orthogonal axis
| Schema | Value | Effect on the lifecycle |
|---|---|---|
|
|
Standard path. |
|
|
Standard path plus mandatory Plaid bank linking. |
|
|
Advance Line products available while |
|
|
Amazon-specific expedited variant. |
|
|
Next-generation onboarding. |
|
|