Complimentary account invitations
Owners can open Admin → Shops → Invite a shop · 14 days free, enter a shop name and owner email, and send a claim invitation. This is for people who have not signed up. Existing accounts and unrelated pending team invitations are rejected.
The recipient receives a branded email with a Clerk claim link, valid for 30 days. Claiming it provisions their own shop and starts a complimentary 14-day Shop trial. No card is collected and Stripe schedules cancellation at the end of the trial. Continuing requires choosing a paid plan.
The grant is stored in server-writable Clerk public metadata. Both first-login provisioning and the verified Clerk webhook activate it; failed activation is retried on login. Stripe records the actual trial dates and subscription ID, so workspace access expires even if the cancellation webhook is delayed. The existing permanent comp flag is not used. Retries recover the same subscription and never restart the clock.
Invitations require production Clerk, Resend, and the configured monthly Pro/Shop Stripe price. Sending succeeds only after Resend accepts the email. Retrying a pending invitation reuses its link and email idempotency key. Invited shops appear in the shop list after claim.