doc/subscriptions/gitlab_flex.md
{{< details >}}
{{< /details >}}
{{< history >}}
{{< /history >}}
GitLab Flex is a purchasing model that covers all GitLab capabilities with a single commitment. You can adjust your seats and credits allocation month-to-month, without additional contracts or amendments.
You commit to an annual dollar amount based on your projected GitLab spend. This commitment creates a balance that you draw down from as you consume seats and credits for credit-based capabilities, priced according to the GitLab Rate Card.
GitLab Flex is also available for offline environments.
[!note] GitLab Flex subscriptions are governed by their own billing terms for seats and usage. The standard add-on user and overage user billing processes described in the GitLab Subscription Agreement do not apply to Flex purchases. If any Flex terms conflict with the GitLab Subscription Agreement, Flex terms take precedence for your purchase. Standard billing terms continue to apply to non-Flex subscriptions.
For a click-through demo, see GitLab Flex.
<!-- Demo published on 2026-07-08 -->| GitLab.com | GitLab Self-Managed | GitLab Dedicated | Offline environments | |
|---|---|---|---|---|
| Metering | Credit usage is tracked and debited daily. | Credit usage is synced to GitLab servers daily. | Credit usage is tracked by GitLab. | Credit usage is tracked locally and reported twice a year. |
| Provisioning | Is instant, changes apply within minutes. | Requires cloud licensing enabled on your instance. | Requires coordination with your GitLab account team. | GitLab generates and delivers license files. |
| Billing | Reservations debit at month start. Per-use and overage debit as consumed. | Reservations debit at month start. Per-use and overage debit as consumed. | Reservations debit at month start. Per-use and overage debit as consumed. <sup>1</sup> | Reservations debit at month start. Actual usage is reconciled twice a year through true-up. |
| Overage handling | Auto-billed monthly to the payment method on file, or otherwise invoiced in accordance with your applicable payment terms. | Auto-billed monthly to the payment method on file, or otherwise invoiced in accordance with your applicable payment terms. | Auto-billed monthly to the payment method on file, or otherwise invoiced in accordance with your applicable payment terms. | Invoiced twice a year based on reported usage. |
Footnotes:
GitLab Flex operates on a monthly drawdown cycle based on calendar month.
At the beginning of the next month, a new reservation debits and the drawdown cycle repeats with a new monthly allocation.
Tiered volume discounts are automatically applied based on your total Flex commitment amount. The volume discount does not reduce your commitment value, the reserved credits are debited from your Flex balance at this discounted rate. The higher your commitment, the lower your reserved per-credit rate. The per-user effective price is a separate component and is determined independently of your volume discount tier.
GitLab Flex is available as a recurring annual or multi-year term, for full annual terms of 12 months. To buy GitLab Flex, contact your GitLab account team or the GitLab Sales team.
Your total commitment should account for:
Tiered volume discounts are available and automatically applied based on your total commitment size.
Multi-year contracts operate as separate annual pools. This means that an unused balance in one year does not carry over to the following year. For a multi-year term, your total commitment is the amount for a single year, not the sum of all years.
After you sign your GitLab Flex agreement, you can start provisioning your initial allocation.
You can provision and change your allocation in Customers Portal. If provisioning is successful, GitLab sends an email confirmation with the allocation information to the subscription ("Sold to") contact.
All future reservations are automatically synced to the namespace or instance used in the initial setup.
After you sign your GitLab Flex agreement, you can set your initial monthly reservation from the Flex dashboard.
The reservation management page displays:
You can adjust your Flex allocation month-to-month without contract amendments:
Prerequisites:
To adjust your allocation for an upcoming billing period:
After you save, a success message confirms the update. The Flex dashboard shows the new reserved amounts, which apply from the next billing period onward until you change them again.
You can update your reservation as many times as you want before the next billing period begins. Only the most recent saved value takes effect on the 1st of the month.
If you set the number of Credits for GitLab Duo Agent Platform to 0, no credits are reserved for that billing period. Any credit usage draws from your on-demand balance.
The following adjustment conditions apply:
The following errors prevent a reservation from being saved:
Invalid valueThe seat or credits quantity is negative.
To resolve this issue, enter a whole number of 0 or greater.
Seats cannot be zeroThe seat quantity is set to 0.
To resolve this issue, enter a seat count of at least 1.
Below minimum reservationThe total reservation value (seats plus credits) is less than the minimum required reservation shown at the top of the page.
To resolve this issue, increase the number of seats or credits until the total meets the minimum.
Above maximum reservationThe total reservation value (seats plus credits) is greater than the maximum reservation shown at the top of the page.
To resolve this issue, decrease the number of seats or credits until the total does not exceed the maximum.
You can renew your GitLab Flex commitment for a one-year or multi-year term in collaboration with the GitLab account team.
90 days before the end of your contract, your GitLab account team contacts you to begin renewal discussions. Based on your year-to-date consumption, overage patterns, capacity needs, and growth projections, you can choose to increase or decrease your total commitment. The new volume discount tier is based on the renewed commitment amount.
The Flex Usage dashboard provides built-in tracking and reporting capabilities.
The dashboard displays:
To help you control how much you spend against your commitment, you can set spend caps (at the subscription level) and receive budget alerts.
Per-capability caps limit how much a specific credit-based capability can consume, so one capability can't drain the shared pool. When a capability hits its cap, usage stops while everything else keeps running. The cap is per-product, not shared across the pool.
Use per-capability caps for non-critical or experimental features you want to contain.
You can set the following per-capability caps:
Each capability has its own independent cap. For example, you can cap GitLab Duo at $5,000 while leaving Artifact Registry unlimited.
GitLab sends emails as usage approaches and crosses specific limits, running on the existing budget-guardrail framework. Subscription billing contacts receive dollar-based notifications, and namespace administrators receive credit-based notifications.
GitLab sends usage notifications when:
Prerequisites:
To set a per-capability spend cap:
{{< history >}}
{{< /history >}}
The GitLab Flex dashboard shows a daily usage chart for each capability in your reservation, including seats. Use these charts to see how much of each capability you consumed on each day of a billing period.
The chart:
To view daily usage by capability: