Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
38d3f63
restructuring
Karuna-Mendix Feb 23, 2026
3d04df3
moving populate user types
Karuna-Mendix Feb 23, 2026
1db37f0
Add section - User Types and Definitions
Karuna-Mendix Feb 23, 2026
f0c3b9b
New page- User Metering
Karuna-Mendix Feb 23, 2026
e2c980b
User metering overview page
Karuna-Mendix Feb 23, 2026
5e98588
Creating user metering category
Karuna-Mendix Feb 23, 2026
866b3c3
new page- implementing user metering
Karuna-Mendix Feb 23, 2026
6cf8a53
implementing user metering info
Karuna-Mendix Feb 23, 2026
884ccad
(De)Activation of users
Karuna-Mendix Feb 23, 2026
616cb47
Additional info
Karuna-Mendix Feb 24, 2026
0ee9b29
new page- FAQ
Karuna-Mendix Feb 24, 2026
44b720c
Proofreading
Karuna-Mendix Feb 24, 2026
492a5da
Proofreading
Karuna-Mendix Feb 25, 2026
2346ec6
Feedback comments- 1st iteration
Karuna-Mendix Mar 4, 2026
48bb658
Feedback comment - 2nd iteration
Karuna-Mendix Mar 5, 2026
419954a
FAQs- feedback
Karuna-Mendix Mar 5, 2026
2cc66d2
feedback 3rd iteration
Karuna-Mendix Mar 5, 2026
4fda763
feedback
Karuna-Mendix Mar 5, 2026
707ff3b
More feedback on user metering index file
Karuna-Mendix Mar 11, 2026
5ce950a
feedback 1- implementing user metering
Karuna-Mendix Mar 12, 2026
5d33f14
small changes
Karuna-Mendix Mar 13, 2026
82fbb12
Improving Guidelines for Unique User Identification section
Karuna-Mendix Mar 13, 2026
c64021e
small change
Karuna-Mendix Mar 13, 2026
916df42
small change
Karuna-Mendix Mar 13, 2026
8a9f5ac
Incorporated populate user types sections
Karuna-Mendix Mar 13, 2026
6804817
Removed Populating user types doc.
Karuna-Mendix Mar 13, 2026
3eab208
FAQ update
Karuna-Mendix Mar 13, 2026
05feeaa
Proofreading
Karuna-Mendix Mar 13, 2026
cc0f986
Proofreading
Karuna-Mendix Mar 13, 2026
5edf47d
Fixing broken links
Karuna-Mendix Mar 13, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
title: "Contract Management"
url: /developerportal/deploy/contract-management/
weight: 20
weight: 10
description: "Understand your Mendix subscription lifecycle, contract statuses, renewal timelines, and critical actions to ensure continuous service and prevent data loss."
---

Expand All @@ -16,7 +16,7 @@ This document provides detailed information about the status of your Mendix appl
Your Mendix subscription is categorized into three main statuses: Active, Expiring, and Expired, based on your contract's expiry date.

| Account Status | Timeline | Impact |
|---------------|----------|--------------------|
| --------------- | ---------- | -------------------- |
| **Active (Green)** | Until 30 days before contract expiry | Your account is fully active, with all services available and application runtimes functioning normally. This is the optimal state for uninterrupted Mendix usage. |
| **Expiring (Orange)** | From 30 days before contract expiry until contract end date | All services continue to function normally. You receive email reminders, notifications, and banner alerts on Mendix Platform about your upcoming renewal. |
| **Expired (Red)** | From the day after contract expiry up to 60 days | Your account and applications are downgraded to **Unlicensed** mode. You can manually restart apps, but they will automatically shut down after 2-4 hours and are limited to 6 concurrent users. Platform features are not disabled.|
Expand Down Expand Up @@ -68,7 +68,7 @@ This is your final opportunity to renew your contract and avoid service disrupti
#### Pre-Expiry Timeline Summary{#pre-expiry-timeline-summary}

| **Days Before Expiry** | **Key Actions** | **Status** |
|------------------------|-----------------|------------|
| ------------------------ | ----------------- | ------------ |
| **90 days** | Contact Account Team for renewal | Active |
| **30 days** | Finalize renewal discussions | Expiring |
| **15 days** | Download data if not renewing | Expiring |
Expand All @@ -95,7 +95,7 @@ Application data deletion is irreversible. Make sure to download all necessary a
#### Post-Expiry Timeline Summary{#post-expiry-timeline-summary}

| **Days After Expiry** | **Key Actions** | **Status** |
|------------------------|-----------------|------------|
| ------------------------ | ----------------- | ------------ |
| **0 days (Expired)** | Contract expires | Expired |
| **+1 day** | Limited access | Expired |
| **+60 days** | Data permanently deleted | Expired |
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,14 +23,33 @@ Unlicensed apps, running outside Mendix Cloud, have some restrictions. These res

¹ More information on the capabilities of different license options is available on [Mendix Platform Pricing](https://www.mendix.com/pricing).

² End-users of your app are classified as either internal or external. You will need to report this for licensing purposes using either the [`USAGE_METRICS_EMAIL_FIELDS` custom variable](/developerportal/deploy/environments-details/#custom-environment-variables) (if you are using email domain to distinguish between them) or by [populating the user type](/developerportal/deploy/populate-user-type/) for each end-user of your app. Only end-users whose Mendix accounts are marked as **Active** are counted towards the number of end-users of the app.
² End-users of your app are classified as either internal or external. You will need to report this for licensing purposes using either the [`USAGE_METRICS_EMAIL_FIELDS` custom variable](/developerportal/deploy/environments-details/#custom-environment-variables) (if you are using the email domain to distinguish between them) or by [Implementing User Metering](/developerportal/deploy/implementing-user-metering/) for each end-user of your app. Only end-users whose Mendix accounts are marked as **Active** are counted towards the number of end-users of the app.

³ Depending on the configuration of your chosen cloud, a container and runtime may be restarted if it appears unhealthy because the runtime has stopped.

For each environment for which you want to remove the restrictions placed on an unlicensed app, you need a license. The method for applying a license differs depending on where you are deploying your app.

The app checks for a license each time it is started. If the license expires while the app is running, it will continue to run until the next time it is started, when the license will be checked again.

## User Types and Definitions

Mendix licenses follow user-based pricing plans. This means customers pay based on how many users need access and what type of access they require for their Mendix applications.
Customers can purchase user licenses in the following categories:

### Multi-App Internal User

These are internal users (employee or contractor of the customer or affiliated company or group) who can access any number of applications and are licensed under the Multi-App Internal User Pack. Each internal user is counted as one unique user, regardless of how many apps they access.

### Single-App Internal User

An internal user (employee or contractor) licensed for only one specific application and counted as one user limited to a single designated app. They are licensed under the Single-App Internal User Pack.

### External User

A user who is not an employee or contractor of the customer or its affiliates, and is explicitly marked “External” within your Mendix application data. This is one unique user across all apps designated for external use and licensed under the External User Pack.

For more information on legal definitions, refer to [Order Form Definitions](https://www.mendix.com/legal/platform-usage/order-form-definitions/).

## Obtaining a Mendix License{#get-license}

{{% alert color="info" %}}
Expand Down Expand Up @@ -78,7 +97,7 @@ To license an Insights Hub app, you need to provide your **License ID** and **Li

To license a Mendix app on Mendix on Kubernetes, you need to supply a **Subscription Secret** or license credentials for your app. See below for how it can be added to either a Connected or Standalone cluster.

In addition to the licenses for your apps, you will also need to license the Mendix Operator which helps deploy your app to a Mendix on Kubernetes environment. For details on the Mendix Operator license, see [Licensing Mendix on Kubernetes](/developerportal/deploy/private-cloud/#licensing).
In addition to the licenses for your apps, you will also need to license the Mendix Operator, which helps deploy your app to a Mendix on Kubernetes environment. For details on the Mendix Operator license, see [Licensing Mendix on Kubernetes](/developerportal/deploy/private-cloud/#licensing).

#### Mendix on Kubernetes Connected

Expand All @@ -99,7 +118,7 @@ cf set-env <YOUR_APP> LICENSE_ID <LicenseId>
cf set-env <YOUR_APP> LICENSE_KEY <LicenseKey>
```

Then restart the app so that the environment variables are read and the license goes into effect.
Then restart the app so that the environment variables, are read and the license goes into effect.

### Docker

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,99 @@
---
title: "User Metering"
url: /developerportal/deploy/user-metering/
weight: 20
description: "This document describes how user metering works."
---

## Introduction

Mendix uses end user metering process to determine the number and type of users accessing applications in accordance with license agreements. Proper user classification ensures accurate reporting and optimal licensing costs for customers. <!-- *Proper user classification ensures accurate reporting, optimal licensing costs and transparency for both customers and Mendix. Customers can access Usage Report through the Control Center application on the Mendix Platform*. Link Usage Report from the Control Center doc -->

{{% alert color="info" %}}
End user metering is currently applied to applications deployed to Mendix Cloud and Mendix Cloud Dedicated environments.
{{% /alert %}}

Mendix licenses include user-based pricing plans. With user-based pricing, customers purchase licenses based on the number of users who need access to their Mendix applications. Customers can purchase user licenses in the following categories:

* Multi-App Internal User
* Single-App Internal User
* External User

For more information, refer to the [User Types and Definitions](/developerportal/deploy/licensing-apps-outside-mxcloud/#user-types-and-definitions) section of *Licensing apps*.

### Key Features

* Automatic tracking – User consumption is automatically tracked from the moment your app is deployed to production and becomes functional, ensuring real-time tracking.
* Prompt data processing – Usage data is collected, processed, and deduplicated regularly. <!-- Monthly reporting – Usage data is collected regularly, processed monthly, and is available in the Control Center. -->
* License type classification – Users are classified by license type as External, Multi-App Internal, or Single-App Internal. This classification yields accurate license tracking and helps optimize licensing costs.

## How User Metering Works

User metering in the Mendix cloud operates through a four-stage automated process, and it is enabled by default for apps deployed in Mendix Cloud environments.

### In-App User Classification

Your application logic plays an important role in creating and maintaining accurate user records. A key component of in-app user classification is maintaining a consistent user identifier. This becomes especially important when customers are using multi-app licenses. In the Mendix Multi-App License Pack, the same individual may access multiple apps under a single license agreement. A unique, persistent user identifier ensures accurate tracking and prevents duplication. The application logic is responsible for classifying users as `Internal` or `External`. For more detailed information, refer to the [User Classification](/developerportal/deploy/implementing-user-metering/#user-classification).

### Data Collection

All applications on the Mendix Cloud and Mendix Cloud Dedicated automatically send user data back to the Mendix platform. Data is collected from all environments throughout the month. However, only data from the production environment is considered for consumption numbers and billing purposes. PII information (username and other user identifiers) is hashed at source before transmission to ensure data privacy.

### Data Aggregation and Deduplication

At the end of each month, the Mendix Platform aggregates the collected data. Users are counted and rolled up to the app portfolio level. This process is detailed in the [User Classification and Deduplication](#classification-deduplication) section below.

### User Classification and Reporting

Users are thereafter automatically classified in the following user licensing buckets based on your user licenses:

1. External Users
2. Single-App Internal Users
3. Multi-App Internal Users (default)

<!-- End-of-month usage reports are generated at the beginning of each month and are made available via the Control Center dashboard. The reports are generally available on the 1st of each month and reflect the previous month's usage. -->

## How User Classification and Deduplication Work {#classification-deduplication}

The user classification and deduplication process determines which user pack is consumed when a user accesses one or more of your applications. The process evaluates users in a sequence so that each user is counted according to the correct license pack without duplication. The classification follows the steps below:

### User Identification (Deduplication)

Users are deduplicated based on common identifier values. A customer who has different identifier values in the aggregated data cannot be recognized as the same user, and will be counted as multiple users. The deduplication mechanism evaluates two user attributes. When different values persist, Mendix treats them as different users. For more information, refer to [Guidelines for Unique User Identification (Deduplication)](/developerportal/deploy/implementing-user-metering/#guidelines-for-unique-user-identification-deduplication).

### Classifying External Users

The next step is to determine whether a user is an external user:

* If the customer has a valid External User Pack subscription, and
* The user is explicitly marked as `External` within the application.

Then the user is classified as an external user.

Once classified, the user is licensed under the External User Pack and excluded from further classification steps. For more information, see the [User classification](/developerportal/deploy/implementing-user-metering/#user-classification) section of *Implementing User Metering*.

All remaining users are classified as `Internal` Users and further classified as described in the sections below.

{{% alert color="info" %}}
A multi-app user who is marked as `Internal` in one app and `External` in another will be counted as an internal user.
{{% /alert %}}

### Classifying Single-App Internal Users

After `External` users are classified, the classification process further classifies the single-app internal users.

If the application is associated with a Single-App Internal User Pack, the user of the app will be classified as a single-app internal user. This user will be counted against the Single-App Internal User Pack for that application.
<!-- *For more details on how to assign Single-App Internal User Pack to your apps, refer to the Assigning Single-App Internal User Packs section of the Control Center.* Link from the Control Center doc -->

{{% alert color="info" %}}
An internal user accessing multiple apps, one of which is covered under a Single-App Internal User Pack, will be counted as a single-app internal user for that app and will also be counted separately for any other apps they use.
{{% /alert %}}

### Classifying Multi-App Internal Users

After external users and single-app internal users have been identified, any remaining internal users are classified as multi-app internal users.
These users are licensed under the Multi-App Internal User Pack, and no further action is required from your side.

## Read More

* [Licensing Apps](/developerportal/deploy/licensing-apps-outside-mxcloud/)
Loading