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 / .Apply — TenancyPermissions, 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.
