---
title: "Verify only the designated billing role can change a subscription"
description: "Compare a member and billing administrator on the same sandbox organization, checking read access, direct plan-change access, and unchanged billing state."
canonical_url: "https://vostride.com/agent-library/billing-subscriptions/billing-role-boundary.md"
md_url: "https://vostride.com/agent-library/billing-subscriptions/billing-role-boundary.md"
content_kind: "recipe"
topic: "billing-subscriptions"
---

# Verify only the designated billing role can change a subscription

Compare a member and billing administrator on the same sandbox organization, checking read access, direct plan-change access, and unchanged billing state.

## Risk

Billing permissions are often separate from content administration. The scenario tests the documented billing role matrix instead of assuming every organization editor may purchase plans or every member must be denied invoice visibility.

## Fixtures

- A sandbox organization with an ordinary member and a designated billing administrator.
- A known current plan and a reversible sandbox plan-change option.
- A documented billing role matrix and hooks for subscription revision, invoice count, and audit actor.

## Steps

1. As the ordinary member, open Billing and verify invoice visibility and plan details follow the documented read policy.
2. Navigate directly to the known plan-change destination and attempt the visible action only if it is exposed; verify the purchase change is denied.
3. Inspect billing state and verify the subscription revision, plan, and invoice count remain unchanged.
4. In a separate billing-administrator run, perform the sandbox plan change and verify the accepted plan details after reload.
5. Inspect subscription and audit hooks to confirm the authorized transition occurred once and is attributed to the billing administrator account.

## Expected results

- The ordinary member has exactly the documented billing read permissions.
- Unauthorized plan changes cannot mutate the subscription or create an invoice.
- The designated billing administrator can perform the same intended transition.

## False-pass traps

- A content-administrator role may not be a billing role, so setup must inspect actual grants.
- A denial toast after a purchase request is insufficient unless the subscription and invoice records remain unchanged.

## Cleanup

- Restore or cancel the disposable subscription and revoke both scenario sessions.

## Use with agent-qa

Adapt this test design to your application's acceptance criteria and configured target using the [recipe execution guide](/agent-library/software-factory/turn-a-recipe-into-an-agent-qa-test.md). External fixture setup and non-UI checks require your own supported hooks or test tooling. Validate the authored test, execute it, and inspect the completed evidence; this recipe is not a recorded test result.

## References

- [agent-qa test](/docs/agent-qa/configuration/test.md)
- [agent-qa hooks](/docs/agent-qa/guides/hooks.md)
- [agent-qa auth state](/docs/agent-qa/guides/auth-state.md)

- [Billing and subscription QA recipes](/agent-library/billing-subscriptions.md)
- [Software factory QA library](/agent-library.md)
