---
title: Mergify Billing System
description: Understand how Mergify fair billing works.
---

import DownloadLink from '../../components/DownloadLink.astro';
import { Image } from "astro:assets"
import PlanScreenshot from "../images/billing/plan.png"
import InvoicePreviousPeriod from "../images/billing/invoice-previous-period.png"
import InvoiceNextPeriod from "../images/billing/invoice-next-period.png"

At Mergify, our goal is to offer you a transparent and efficient billing system
that meets your needs. Here's a comprehensive guide to help you grasp how our
billing system functions:

## Contributor-Based Billing

Many enterprise solutions charge per user, irrespective of actual usage. At
Mergify, we firmly believe in billing you only for what you actively use.

This is why our billing system operates on the principle of contributors.
Here's how it works:

- A contributor is any individual who **engages in activities on a
  repository**. This includes opening, closing, commenting, pushing or
  reviewing a pull request.

- Each user is counted **only once**, even if they're active across multiple
  repositories.

- The system uses a 30-day sliding window approach. This means a user is
  regarded as a contributor for 30 days from their last activity. Post this
  period, if no further activity is detected, they are no longer considered
  active for billing purposes.

- Usage is prorated to the day: if a contributor is seen active during 48 days,
  the system only bills for precisely 48 days — not 2 entire months.

### Estimating Contributors

If you don't know the number of contributors that Mergify might count, you can
use <DownloadLink href="/mergify-count-contributors.py">this
script</DownloadLink> to estimate the number of contributors over the last 30
days.

1. Go to
   [https://github.com/settings/tokens](https://github.com/settings/tokens) (or
   equivalent on your GHES installation) to create a token. The token must have
   the permissions to access the repository (read permission is enough);

2. Export the token as an environment variable with `export
   GITHUB_TOKEN=<your-token>`;

3. Install [`requests`](https://pypi.python.org/pypi/requests) on your system
   by running `python3 -m pip install requests`;

4. Run the script with `python3 mergify-count-contributors.py <repo1-url>
   <repo2-url> etc`, passing the list of repositories where Mergify will be
   deployed.

The script will run and print its progress. It can take several minutes for the
script to complete depending on the number of repositories scanned and the
number of active pull requests they have.

:::caution
  This script provides an **approximate estimate** of the number of users that
  Mergify might consider active. It does not fully replicate the internal logic
  used by Mergify to count active users, so discrepancies may exist. This
  script is for reference only and should not be considered the source of
  truth.
:::

## Annual Subscription

Mergify does not require an annual subscription (except for the Enterprise
plan), but offer substantial discount if you buy users in advance for a
12-months period.

An annual subscription allows you to buy a base of number of seats (users) per
product at the start of the year. If your usage goes beyond the pre-purchased
seats, additional seats are billed monthly, prorated to the exact day of use.

For example, let's say you have purchased a annual license for 100 users. If
your number of users increases to 110 users during 45 days, you will be
invoiced for 10 extra users over 45 days.

:::note
  You can subscribe to a yearly plan at any time by contacting <a
  href="mailto:support@mergify.com">your customer representative</a>.
:::

## Checking Current Usage

You can check your current usage by going through [Mergify dashboard
settings](https://dashboard.mergify.com/settings) and clicking on the Usage
panel.

<Image src={PlanScreenshot} alt="Mergify settings panel"/>

You can then click on the number of contributors to get the list of active
users for each product.

:::note
  This is not available for on-premise plans.
:::

## Switching or Cancelling Plans

If you wish to switch between plans or cancel your subscription, <a
href="mailto:support@mergify.com">please contact our customer
support</a>. They'll guide you through the process and ensure a
smooth transition.

## Understanding Your Invoice

Our billing system aims for fairness, but its dynamic nature may result in
invoices that can be complex to understand at first glance. Each invoice
comprises two main sections:

### 1. **Real-time User Adjustment**

Our system continually monitors the number of users in your repositories and
adjusts your bill in real-time. On your invoice, you might see line items
labeled "remaining" and "unused time." These adjustments occur whenever there's
a change in your user count.

For instance, if the system identifies a change in your user count, it will
credit you for the number of users you previously paid for, prorated by day. It
then charges for the updated user count for the remaining days of the billing
cycle.

In the following example, the initial bill was for 76 users. As this grew to
77, the system credited the $1,360.92 previously paid. It then charges
$1,378.83, leading to an increase of $17.91 to account for the additional user
for the rest of the month.

<figure>
  <Image src={InvoicePreviousPeriod} alt="Invoice for previous period"/>
  <figcaption>Invoice lines detailing adjustments from the previous period.</figcaption>
</figure>

### 2. **Upcoming Period Charge**

The latter part of the invoice projects your charges for the next billing
cycle, such as from Jul 14th to Aug 14th. This charge is based on the current
number of contributors. If there's a change in this user count during this
period, the subsequent invoice will account for this, similar to the real-time
adjustment mentioned earlier.

<figure>
  <Image src={InvoiceNextPeriod} alt="Invoice for next period"/>
  <figcaption>Invoice lines for the upcoming billing period.</figcaption>
</figure>

By understanding these two sections, you can more easily interpret and
anticipate how changes in your contributors influence your Mergify charges.
