Billing status banner says "trial plan"

Task 5377 · Done · Coder · created · updated

Operator Settings > Billing > status shows, when orgs have billing records from a different Stripe account: "N orgs have billing records from a different Stripe account. They are on the trial plan until they subscribe again." (`apps/web/src/pages/settings/billing/BillingStatusSection.tsx:52-56`, `otherAccountCopy`; pinned by `BillingStatusSection.test.tsx:113,120`). After epic 5246 that sentence is false: Trial is an ordinary plan, and an org whose Stripe entitlement lapses moves to the operator's **Default plan** (`apps/api/app/org_plan_admin.py:361-368`, `on_entitlement` → `plan_terms.default_plan_key`), which may not be Trial at all. An org from another Stripe account reads as entitled to nothing (`apps/api/app/billing/status.py:59-80`), so it is treated the same way. Fix: reword `otherAccountCopy` to name the Default plan instead of "the trial plan" — e.g. "…It is on the Default plan until it subscribes again." / "…They are on the Default plan until they subscribe again." (follow `docs/standards/ui-copy-standards.md`; if the status payload already carries the default plan's name, you may name it, otherwise say "the Default plan"). Update the two test assertions. Out of scope: any backend behaviour; any other billing copy; the Default plan knob itself; adding new API fields just for this sentence. Done means: - `grep -rni "trial plan" apps/web/src --include=*.tsx --include=*.ts` returns nothing outside tests that assert its absence (cited). - `BillingStatusSection.test.tsx` asserts the new wording for n=1 and n>1 and passes. - `./dc check quick` green; PR merged into develop.

Outcome

Billing status banner now says "the Default plan" instead of "the trial plan"; tests updated and passing; visual check done. PR #4675 merged. Local full gate red only on 3 api-unit pins develop inherited from Task 5319; CI gate green.

Pull request

Artifacts

Activity

  • Ready
  • Runner started
  • Runner ended (done)