Align eligible plans across all usage billing features
Context
From #587769, there are inconsistencies in how usage billing is handled for community programs (OSS, EDU, Startups) across different features.
Problem
The behavior across all features should be consistent:
- GitLab usage dashboards
- CustomersDot usage dashboards
- On-demand terms acceptance
- Usage notifications
Currently there are inconsistencies:
-
GitLab credits dashboard on GitLab.com shows
Usage billing disabledmessage for groups with community programs subscriptions, however the dashboard is accessible on Customers Portal by clicking onGitLab Credits dashboardbutton on the subscription card which shows buttons to accept on-demand billing and purchase monthly commitment. -
On-demand billing acceptance has inconsistent behavior:
- Attempting to accept on-demand billing as a customer who has no paid purchases (no payment method on file) returns
Payment method is requirederror message - If customer has a payment method on file (made a paid purchase), they can accept on-demand billing
- There is at least one OSS subscription on Production where on-demand billing was accepted
- Attempting to accept on-demand billing as a customer who has no paid purchases (no payment method on file) returns
-
Eligible plans lists are different across features:
- Usage billing uses
gitlab_credits_eligible_plans - Overage acceptance and self-service use
all_sm_base_plansandall_gitlab_com_base_plans - Comparison table of the eligible plans can be found in #15829
- Usage billing uses
Expected Behavior
All features should have consistent behavior for community programs subscriptions:
- Usage dashboards (both GitLab.com and CustomersDot) should show the same state
- On-demand billing acceptance should work consistently
- Eligible plans lists should be aligned across all features
- Usage notifications should follow the same eligibility rules