Billing information is accessible in account settings
Why it matters
A subscription product with no billing page in account settings signals to users that the product is unfinished or abandoned — they cannot see their current plan, next charge date, or payment method, so they have no way to verify they are being billed correctly. This drives trust-based churn and triggers chargebacks from users who forgot they were subscribed because the product never surfaced their billing state in context.
Severity rationale
Info because the page itself is a baseline usability expectation rather than a defect with measurable security or revenue impact.
Remediation
Add a billing page at app/settings/billing/page.tsx that renders the user's current plan, subscription status, and a form that POSTs to the Customer Portal route. Link it from the main settings navigation so users can reach it without knowing the URL:
export default async function BillingPage() {
const user = await getCurrentUser()
return (<form action="/api/billing/portal" method="POST"><button>Manage Billing</button></form>)
}
DetectionPro
The detection method for this pattern is part of AuditBuffet Pro.
The full method (what to look for, pass and fail conditions, and how results get reported) ships inside the Billing & Payments Audit. The pattern definition, severity rationale, and remediation remain openly licensed under CC-BY-4.0.
Taxons
History
- 2026-04-18·v1.0.0·Initial import from saas-billing·automated