Skip to main content

User management

Cost centers

Why use cost centers?

Cost centers were introduced to meet the needs of customers who wanted to generate statistics on object utilization at the group level. This allows them to see how many objects each user group has booked over time. Such statistics can be useful for creating a usage-based cost distribution between departments, ensuring fair allocation of costs based on resource utilization.


The Problem with user groups

To achieve an accurate cost-based comparison between two departments, a clean organizational structure is essential. This means users in Department A should only be members of the group DEP_A, and users in Department B should only be members of the group DEP_B. However, in practice, things don't always work this way. In daily operations, groups often get mixed up, and users may belong to multiple groups simultaneously. Groups are also used to manage access to various objects, leading to a more flexible and sometimes inconsistent group management system. Users may be added to one group and removed from another (or not), creating potential overlap or confusion.

Now, let's imagine the following situation:

Overlapping groups

If we want to compare the number of reservations between Group A, Group B, and Group C, we run into a challenge with users who are members of multiple groups. These users would need to be identified, and a decision made about which department (group) should be responsible for their office usage costs.

This process becomes even more complex due to several factors:

  • Group memberships can change at any time.
  • Users may leave the organization, and their profiles could be deleted.
  • Many customers also use the anonymization feature, which further complicates tracking and associating past reservations with specific users or groups.

To manage this complexity, it’s important to have clear rules in place for handling users in multiple groups and to take into account changes in group membership or anonymization policies when calculating usage-based costs.


Solution with cost centers

As outlined above, a clear association between a user and a department or cost center is essential. To ensure that each user is tied to only one department or cost center, we introduced the Cost Center Module. You can create cost centers and assign users to them. How you define a cost center is flexible—it can represent a department or any other grouping. You can also change a user's cost center at any time.

When a user makes a reservation, it is associated with their profile, and reservations are anonymized after a set number of days, as per your admin settings. To prevent the anonymization of the cost center (which is a user-specific field), we copy the user's current cost center from their profile to the reservation. This happens when the reservation starts, effectively marking the cost center as the "buyer" of the reservation. This process can be seen as a buying transaction, where the cost center purchases the reservation for tracking purposes.

Anonymization workflow

Also, the anonymization feature is not a problem, since the cost center will be copied from the user profile to the reservation. The anonymization will detach the user profiles from the reservations.


Cost center statistics


Export reservations in CSV/XLSX

You can find an overview of all bookings in the admin area by navigating to Dashboard > Bookings > All Bookings. Here, you can use the filter icon to filter by cost center and other options. To download the current booking list for further evaluation, simply click on the download icon and choose between XLSX or CSV format.

Filter reservations based on cost centers

Pre-calculated statistics

Since the cost center is copied directly to each reservation, generating statistics becomes straightforward once enough data is collected. As an administrator, you can export the reservations by navigating to Dashboard > All Bookings or by using the REST API. With this data, you can create the statistics of your choice to analyze usage and cost distribution across cost centers.

💡
Note! We are also planning to provide pre-calculated statistics about the cost centers in the building analytics, however this is not yet implemented.

Configuration manual

The cost center user attribute can be configured and managed in multiple ways. You can create and manage them manually, or you can connect them with a SAML2 or SCIM attribute and let them synchronize from your identity provider.


Cost centers

As an administrator in Flexopus, navigate to Dashboard > Users > Cost Centers. Here, you will find a list of all the cost centers.

List for cost centers

By default, all users are associated with a cost center called default. This cost center cannot be edited.

💡
Note! Each user can only be associated with one cost center!

Create cost center manually

You can manually add cost centers in the admin dashboard. Each cost center must have a unique name, which is required. After creating a cost center, you can associate users with it.

Alternatively, you can open user profiles in the admin dashboard, search for a specific user, and manually change their cost center within their profile.

💡
Note: If a user already has a cost center and you assign a new one, the old cost center will be overwritten. The new cost center will apply to all upcoming reservations.

SAML2 attribute

If you're using SAML2 for single sign-on (SSO), you can manage cost centers externally through your identity provider. To do this, create a new attribute mapping with the attribute cost center, which expects a string.

  • Sending a new cost center: If a new cost center is sent via this attribute, the system will automatically create the new cost center. There's no need to manually create it.
  • Sending an existing cost center: If an existing cost center is sent via this attribute, the system will match the cost center based on the provided name. If a match is found, the user will be added to the existing cost center.


SCIM attribute

The cost center can also be configured and sent via the SCIM API. To do this, connect the costcenter attribute in the attribute mapping with the corresponding field in your identity provider. In fact, we recommend setting up SCIM synchronization if your identity provider supports it.

This is because changes to the cost center will be processed faster with SCIM. In contrast, the SAML2 attribute synchronization only occurs when the user initiates an authentication process, which could introduce delays depending on how the session time is configured in Flexopus.