Skip to main content
Skip table of contents

Platform Overview

Cloudmore is a Commerce Control Plane that enables the resale and management of cloud services through a multi-tier distribution model.

The platform provides end-to-end subscription lifecycle management, billing automation, and white-label self-service capabilities.

Core Value Proposition:

  • Unified commercial architecture across multiple vendors and cloud services

  • Automated subscription lifecycle management (provisioning, upgrades, renewals, cancellation)

  • Multi-model monetization (subscription, usage, consumption, hybrid)

  • White-label self-service portal for end customers

  • API-first architecture for system integration

Role Hierarchy

The platform operates on a three-tier distribution model:

  1. Seller (aka service owner or vendor, like Microsoft or Adobe) publishes services to Marketplace.

  2. Broker (aka reseller or distributor) makes services available via E-Store.

  3. Organization (company consuming services) purchases subscriptions from the E-Store via self-service.

Entity Relationships

image-20260220-131749.png

Entity

Description

Key Actions

Seller

Original service owner/vendor

Creates services, publishes to Marketplace, sets cost prices

Broker

Reseller/distributor

Adds services from Marketplace, sets sales prices, manages organizations

Organization

End consumer

Adds services from E-Store, creates subscriptions, manages users

Key Terminology

Term

Definition

Commerce Control Plane

Official name of the platform.

CSP

Cloud Solution Provider (Microsoft partner program)

NCE

New Commerce Experience (Microsoft's updated commerce platform)

Tenant

Microsoft-specific term for an organization

Custom Service

Any non-Microsoft service (seller-created)

Host Admin

Cloudmore internal super-admin layer

ISV

Independent Software Vendors are service owners who create digital services and publish them to Cloudmore's Marketplace

ERP

Enterprise Resource Planning is an external financial system where Brokers export Cloudmore's billing data via API or Excel for invoice generation, payment processing, and financial reporting

Core Concepts

Services

A Service represents a cloud offering made available through the platform. Services contain metadata and configuration:

  • Billing date (1-28 of month)

  • Provisioning type (Email or REST API)

  • User assignment (Y/N)

  • License keys (Y/N)

  • Custom properties

  • Marketing information

Service Categories:

Type

Description

Examples

Custom Services

Third-party integrations

Dropbox, Kaspersky, WatchGuard. A custom service can be added by a broker manually, without direct integration to a seller.

Microsoft CSP

Microsoft Cloud Solution Provider services

Office 365, Azure

Read more about services

Marketplace vs E-Store

Concept

Audience

Purpose

Marketplace

Brokers

Catalog of services available for the broker to add

E-Store

Organizations

Catalog of services the broker has made available

Both function as service catalogs (analogous to App Store/Play Store) but are scoped to different role levels.

Product Types

Products exist within Services and define the purchasable SKUs. The platform supports two primary billing categories:

One-Time Billing (Products)

  • Single payment at purchase

  • Used for hardware or perpetual licenses

  • ~5% of platform subscriptions

Recurring Billing (Service Plans)

~95% of subscriptions fall into this category, subdivided into:

1. License-Based (Product-Based) Plans

Billing model: Pay upfront for a defined quantity

CODE
Subscription Created → Quantity Selected → Immediate Billing
                       (e.g., 10 seats)    (quantity × price)
  • User defines quantity at subscription creation

  • Billed for the upcoming period

  • Example: 10 Dropbox licenses × €15/month = €150

2. Consumption-Based (Metered) Plans

Billing model: Pay retroactively based on actual usage

CODE
Subscription Created → Usage Period → Consumption Submitted → Billing Generated
                       (1 month)      (at period end)         (usage × price)
  • No payment at subscription creation

  • Consumption reported at end of billing cycle

  • Billed in arrears for actual usage

  • Example: 9.5 GB used × €10/GB = €95

Key API for Metered Billing:

CODE
POST /api/consumption  # Submit consumption data
GET  /api/consumption/{taskId}  # Check submission status

Billing Logic Options

Setting

Behavior

Billing Day Only

Generate billing only on service billing date for full cycle

Pro-rate Billing

Proportional billing for mid-period changes

First Partial Cycle

Configurable handling of initial incomplete period

Read more about products

Subscriptions

Subscriptions are created from Products and represent active service consumption.

Subscription Lifecycle

CODE
Created → (Trial →) Active → Cancelled → Deleted
                       ↑         │
                       └ Renewed ┘

State

Description

Trial

Optional trial period (pushes start date forward). Seller sets trial duration, auto-conversion to paid, and product change allowed.

Active

Generating billing, service accessible

Cancelled

Marked for non-renewal, still usable until deletion

Deleted

No billing, access revoked

Subscription Configuration

Products define subscription behavior through settings:

  • Subscription period

  • Payment frequency (billing interval)

  • Minimum/Maximum quantity

  • Cancellation policy

  • Renewal policy

  • Auto-renew (Y/N)

Add-ons

Optional extras attached to subscriptions with independent pricing:

  • Pricing models: Subscription, Quantity, Selected (one-time), Metered

  • Grouping: Add-ons can be organized into logical groups

  • Configured by Seller, optional for Organization

Read more about subscription management

Service Agreements

Cloudmore supports agreement acceptance workflows that gate access to services. Three agreement types exist:

Agreement Type

Configured By

Triggered When

Blocks

Custom Service

Seller

Adding service from E-Store

Service subscription

MCA

Organization in E-Store or Broker accepts on behalf of the organization

First Microsoft CSP purchase

Microsoft subscriptions

Broker-Level

Broker

User login

Platform access (after 30 days)

Read more about agreements

Pricing Architecture

Price Flow

CODE
Seller Cost Price → Broker Cost → Broker Sales Price → Organization
                                  (set in Price List)

Price Type

Set By

Description

Cost Price

Seller

What the seller charges the broker

Recommended Price

Seller

Suggested end-customer price

Sales Price

Broker

What the broker charges the organization

Price List

Brokers maintain a Price List to control margins:

CODE
Example:
- Seller Cost: €10/license
- Broker Sales Price: €15/license
- Margin: 50%

Price determination hierarchy:

  1. Subscription-specific price (if set)

  2. Organization-specific price (if set)

  3. Global price list entry

  4. Seller recommended price (fallback)

Read more about price management

Multi-Currency Support

  • Organizations can operate in different currencies

  • Billing reports aggregate across currencies

  • Currency exchange service available for reporting

  • ISO 4217 currency codes required

Read more about currency support

Billing System

Billing Generation

The billing job runs on configured billing dates (1-28 of month):

CODE
Billing Job → For each active subscription:
              1. Check quantity (license-based) or consumption (metered)
              2. Look up price from Price List
              3. Calculate: quantity × price
              4. Generate billing line

Billing Reports

Available at all role levels (Seller, Broker, Organization):

Report Type

Content

Total Billing Report

All services, all organizations, date range filter

Monthly Billing Per Organization

Per-org breakdown by service/subscription/product

Azure Billing

Microsoft Azure-specific with margin support

NCE Billing

New Commerce Experience Microsoft subscriptions

Export formats: UI display, Excel (.xlsx), API (JSON)

Read more about billing and reconciliation

Additional Charges

Manual billing line insertion for adjustments outside regular billing cycles:

CODE
{
  "billingDate": "2025-06-17T00:00:00Z",
  "serviceId": "uuid",
  "subscriptionId": "string",
  "quantity": 1.0,
  "costPrice": 10.00,
  "salesPrice": 15.00,
  "currencyCode": "EUR",
  "note": "One-time adjustment"
}

Read more about manual billing lines

Billing Scope

What Cloudmore handles:

  • Billing data generation

  • Subscription management

  • Pricing and price lists

  • Consumption tracking

What Cloudmore does NOT handle:

  • Payment processing

  • Invoice generation

  • Payment collection

Brokers export billing data via API/Excel and integrate with their ERP/financial systems for invoicing.

White-Label & Branding

Customization Options

Brokers can fully white-label the platform:

Element

Customization

Logo

280×54 pixels (expanded menu)

Icon

54×54 pixels (collapsed menu)

Colors

Theme colors throughout UI

Banner

Header banner image

Login Page

Custom background, logo

Domain

Custom URL (e.g., broker.cloudmore.net)

Start Page

Custom HTML content

Email Domain

Send from broker's domain

Self-Service Portal

Organizations access a white-labeled portal to:

  • Create/manage subscriptions

  • Assign subscriptions to users

  • View billing information

  • Manage user accounts

This reduces broker support overhead by enabling customer self-service.

Read more about branding and white labelling

User Management

Cloudmore uses role-based access control (RBAC) across three tiers. Each tier has distinct roles with granular permissions.

Full permissions matrix: See https://docs.google.com/spreadsheets/d/1H7rpuLsOlCp1oou-zQkPeYDuGkZL25LUE3ViGnppz90/edit?gid=0#gid=0 for detailed page-level access.

Read more about user management

Authentication Methods

  1. Username/Password - Standard Cloudmore credentials

  2. Microsoft SSO - Azure AD integration

  3. SAML SSO - Enterprise identity providers

Microsoft Integration

Microsoft CSP (Cloud Solution Provider)

Two primary Microsoft services with custom integrations:

Service

Description

Microsoft 365 CSP Direct

Office 365, Enterprise solutions

Microsoft Azure

Virtual machines, cloud storage, infrastructure

Microsoft Azure exists in two distinct billing models on the platform: Azure Plan and Azure Legacy (deprecated - no new subscriptions can be created). These are architecturally separate with different pricing, margin calculation, and API behavior.

Tenant Linking

Microsoft customers (tenants) must be linked to Cloudmore organizations:

CODE
Microsoft Partner Center ←→ Cloudmore Organization
      (Tenant ID)             (Organization ID)

Linking methods:

  1. Automatic: Organization adds Microsoft service from E-Store → Tenant created and linked

  2. Manual: Broker links existing tenant to existing organization

  3. Bulk: "Auto create and link" all tenants at once

Critical: Unlinked tenants do not appear in billing reports.

Read more about Microsoft tenant linking

Microsoft Authentication

Brokers must configure MFA token for Partner Center API integration:

CODE
My Services → Microsoft 365 CSP Direct → Microsoft CSP Authentication

Prerequisites:

  • Privileged Role Administrator account with MFA enabled

  • Admin Agent role in Partner Center

  • Token auto-refreshes nightly

Read more about Microsoft authentication

API Reference

URL Structure

Seller level:

CODE
https://api.cloudmore.com/api/sellers/{sellerId}

Broker level:

CODE
https://api.cloudmore.com/api/resellers/{resellerId}

Full documentation: https://api.cloudmore.com/swagger/

Common API Identifiers & Endpoints

Entity

ID Format

Example

Organization

UUID

570e8410-e29b-41d4-a716-766653550000

Service

UUID

9ba7b811-6dad-11d1-70b4-00c04fd430c4

Subscription

UUID

4ba7b811-6dad-11d1-70b4-00c04fd430c4

Product

UUID

3ba7b811-6dad-11d1-70b4-00c04fd430c4

User

UUID

6ba7b813-9dad-21d1-90b3-00c04fd530c7

Customer Number

String

CUST-12345 (business identifier)

Item Code

String

PROD-SKU-001 (alphanumeric + hyphens)

Organization Management:

CODE
GET    /api/resellers/{resellerId}/organizations
POST   /api/resellers/{resellerId}/organizations
PUT    /api/resellers/{resellerId}/organizations/{organizationId}
DELETE /api/resellers/{resellerId}/organizations/{organizationId}

Read more about Organization Management APIs

Subscription Management:

CODE
GET    /api/resellers/{resellerId}/organizations/{orgId}/services/{serviceId}/subscriptions
POST   /api/resellers/{resellerId}/organizations/{orgId}/services/{serviceId}/subscriptions
PUT    /api/resellers/{resellerId}/organizations/{orgId}/services/{serviceId}/subscriptions/{subId}
DELETE /api/resellers/{resellerId}/organizations/{orgId}/services/{serviceId}/subscriptions/{subId}

Read more about Subscription Management APIs

Billing Data:

CODE
GET /api/resellers/{resellerId}/billing/monthly
GET /api/resellers/{resellerId}/billing/organizations/{orgId}

Read more about Billing APIs

Consumption Submission (Metered):

CODE
POST /api/consumption/bulk  # Returns taskId
GET  /api/consumption/{taskId}  # Check status

Read more about Consumption APIs

Service Integrations

Provisioning Types

When services are added or subscriptions created, Cloudmore can trigger external provisioning:

Type

Mechanism

Email

Notification sent to configured address

Service Connector

Webhook call to predefined endpoint

Service Connector

For REST provisioning, a Cloudmore Service Connector acts as middleware:

CODE
Cloudmore → Service Connector → External Service
            (webhook)           (API translation)

Read more about service integrations

Provisioning Log

All provisioning events are logged under Logs → Provisioning Log with:

  • Event type (create, update, cancel)

  • Timestamp

  • Status (pending, done)

  • Manual completion option

Read more about logging and audit trails

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.