The seventh row on the customer page's go-live checklist, and the turn-on dialog carrying the warning when it is red — a warning, not a gate.
17 Sept 2026 · branch onboarding/i2-billing-row · captured against propflow-stage · at bd11303e66
Data note. Every name and balance below comes from propflow-stage, which is anonymized by construction (ADR-0097/0110 — phones in the impossible +1000 NPA, emails @example.test). The identical capture against prod would carry real tenants' names and balances and is not safe to attach anywhere, which is why the generator refuses to run against one.
Test Client Co on stage, as PropFlow staff. Billing set up · Not yet joins the six rows that shipped in #8963, read through the same resolver; the lookup went by the company's admins' emails (the company row carries no Stripe customer id — nothing writes one yet) and found no customer. The row is derived only when a reader selects it, like every other row since #9320.
Asserted in the captured DOM — Before you turn Clara on · Billing set up · Not set up. · Nothing here blocks the switch
The switch is flipped and the confirm dialog opens — nothing is saved until "Turn on" is pressed, and it is not pressed here. The description now carries the checklist's verdict on its one required row: Billing is not set up for this company. The checklist asks for it before launch; turning Clara on is still your call. The button is enabled. A warning at the moment of the flip, never a refusal: staff decide.
Asserted in the captured DOM — Turn Clara on for Test Client Co? · Billing is not set up for this company. · turning Clara on is still your call · Turn on. The dialog title, both halves of the warning sentence, and the confirm button that stays.
That the dialog adds nothing when billing is green, or when the checklist could not be read — those two silences are pinned by CustomerDetailClient.billingWarn.test.tsx (4 tests), where a stub can answer ready or a 500. The customer's copy of the same row is on pr-9333-evidence.