Skip to main content
Version: Latest

11. Starter Kit Preview/Apply — Boundary

Full details of the Tenant Starter Kit orchestration (chart of accounts, inventory account categories, cost centers, product catalog) are documented in Tenant Starter Kit & Product Catalog. This chapter exists only to state, explicitly, how it relates (and does not relate) to the self-service signup/ onboarding journey — since the task this guide was written for specifically required confirming this rather than assuming it.

11.1 Onboarding apply does NOT trigger the Starter Kit

OnboardingService.ApplyRecommendationAsync (see Chapter 10) writes a settings patch and nothing else. There is no call to ITenantStarterKitService, TenantStarterKitsController, or any accounting/inventory/product-catalog apply service anywhere in that method. This was confirmed both by reading the source and by the absence of any Starter-Kit-related log line during a live, verified onboarding apply call.

11.2 The Starter Kit is a separate, admin-only action

POST api/Saas/TenantStarterKits/Preview
POST api/Saas/TenantStarterKits/Apply

Both require TenancyPermissions.TenantStarterKits.Preview / .ApplyTenancyPermissions, the root/SaaS-admin permission set, not TenantPermissions (the customer-tenant permission set the onboarding endpoints use). A newly-registered tenant's own admin user does not have these permissions — confirmed live: calling Preview with the new tenant's own admin JWT returned 403. Calling the same endpoint with a root-tenant admin JWT, targeting the new tenant by its TenantId, succeeded (200) and returned a dry-run plan.

In practice: the Starter Kit is invoked by a SaaS operator/admin (via the root tenant), targeting a specific tenant ID — it is not something the tenant's own first-login flow calls, and the frontend team should not expect the signup/onboarding journey to expose it to end users at all in the current phase.

11.3 Bridge dependency

Even when called by a root admin, each Starter Kit step depends on its own apply bridge (AccountingChartTemplateApplyBridgeSettings, and similarly for inventory account category, cost center, and product catalog steps) — separate from OnboardingApplyBridgeSettings. In this dev environment, only the onboarding bridge was enabled for this task's verification; a live Preview call against the new tenant correctly reported every accounting-dependent step as Failed/Skipped with the same "apply bridge is not configured" reason documented in the Starter Kit guide's own staging verification chapter — not a new defect, and out of scope for the signup/location-validation fix this task addresses.