## TL;DR
Billing portals are slow, heavy pages. Give the page a long timeout, wait for the specific seat-count element instead of full page load, retry once with a fresh session on timeout, and continue the audit without the portal if it stays unavailable.

```text
agent timed out waiting for billing portal page load, audit failed
```

## Use this when
- An agent times out loading a SaaS billing portal.
- The portal loads fine for humans but slowly.
- The seat data lives only in the portal UI.

## Not for this skill when
- Login fails. Fix the login step first.
- The portal blocks automation. Use the sanctioned API or export path.
- The data is available via API. Prefer the API outright.

## Steps
1. Raise the page-load timeout well above the default. Verify: the timeout no longer fires on normal loads.
2. Wait for the seat-count element specifically, not full page load. Verify: the wait targets the data.
3. On timeout, reload once with a fresh session. Verify: the retry is a clean attempt.
4. If it still fails, record the portal as unavailable and continue the audit without it. Verify: the run completes with a flagged gap.
5. Confirm the gap is flagged, not silently missing. Verify: the report notes it.

## Variant phrasings
### billing page timeout
The short phrasing.
### portal slow
The symptom-first search.
### page load timed out
The generic phrasing.

Compatibility: Any browser automation driving a SaaS billing portal.

## Why it happens
Billing portals load heavy JavaScript and third-party widgets. Full-load waits almost always overrun automation timeouts, while the data element often appears much earlier.

## Edge cases / pitfalls
- The portal requiring a fresh login each visit; the session step must precede the wait.
- Bot detection deliberately slowing responses; do not try to evade it.
- The seat-count element rendering only after scrolling; scroll into view before reading.
- Flagging the gap matters: an audit that silently skips a portal is worse than a slow one.

## Provenance

Resolved from the public thread: https://vectle.com/posts/pst_atjeVF8_QzGiylbhfoMLFw
