Last updated

Commissions and monetizing your platform

Flex provides configurable options for monetizing your platform. You can collect commissions from providers, customers, or both. This article provides you with basic information on the mechanisms supported by Flex for monetizing your platform.

Table of Contents

Introduction

If you have already defined a pricing model for your marketplace, this article will provide you with basic information on the options Flex provides and how to take them into use.

If you need more information on how to decide the pricing, our Marketplace Academy has an article describing different pricing models and the tradeoffs behind different options.

As background, familiarizing yourself with the transaction process, transaction process actions, and the tutorial for editing the process with flex-cli gives you a good understanding of the concepts discussed in this article. In addition, the article that describes how to solve payout problems provides valuable information about how the payment flow in Flex works.

Percentage-based commissions

Sharetribe Flex offers two actions for setting percentage-based commissions. These actions are called calculate-tx-provider-commission and calculate-tx-customer-commission. These actions will calculate a commission for your marketplace and charge them subsequently from either provider or customer.

The percentage-based commission actions calculate the commissions from the total price of the transaction and therefore these actions should be last in the chain of actions calculating the price. The customer commission is counted as an additional cost for the customer, i.e. it is added to the payin. Consequently, the provider commission is deducted from the set price, i.e. it reduces the payout.

You can use both actions at the same time. This means that you can charge a part of the marketplace fees from the customer and a part from the provider.

Example

A marketplace that charges 10 % from the customer and 12 % from the provider would configure the actions like this:

:actions
[{:name :action/calculate-tx-nightly-total-price}
 {:name :action/calculate-tx-customer-commission :config {:commission 0.10M}}
 {:name :action/calculate-tx-provider-commission :config {:commission 0.12M}}]

For a 100 EUR listing, this would result 110 EUR payin for the customer and a 88 EUR payout for the provider. The marketplace would receive 22 EUR minus Stripe fees.

Limiting commissions

In addition to setting a percentage based commission, you can limit the minimum and maximum amount for the commissions. For both of the customer and provider actions, you can set a minimum and a maximum commission fee with config options min and max.

Example

:actions
[{:name :action/calculate-tx-nightly-total-price}
 {:name :action/calculate-tx-customer-commission :config {:commission 0.10M
                                                          :min {:amount 2M :currency "EUR"}
                                                          :max {:amount 8M :currency "EUR"}}
 {:name :action/calculate-tx-provider-commission :config {:commission 0.02M
                                                          :min {:amount 5M :currency "EUR"}
                                                          :max {:amount 10M :currency "EUR"}}}]

For a 100 EUR listing, this would result 108 EUR payin for the customer and a 98 EUR payout for the provider. The marketplace would receive 10 EUR minus Stripe fees.

Since the min and max configuration options introduce the dependency to money, they also bring certain preconditions. All the currencies of the transaction need to match and you need to make sure that the transaction total price will be above the minimum amount for provider commissions since the payout can't be negative.

Fixed commissions

Besides the percentage-based actions, Flex provides two actions for setting a fixed commission. You can use calculate-tx-provider-fixed-commission and calculate-tx-customer-fixed-commission to set a fixed commission for both, customer and provider.

Example

:actions
[{:name :action/calculate-tx-nightly-total-price}
 {:name :action/calculate-tx-customer-commission :config {:commission {:amount 10.5M :currency "EUR"}}
 {:name :action/calculate-tx-provider-commission :config {:commission {:amount 15M :currency "EUR"}}]

For a 100 EUR listing, this would result 110.5 EUR payin for the customer and a 85 EUR payout for the provider. The marketplace would receive 25.5 EUR minus Stripe fees.

The currency and negative payout preconditions apply here as well. All the currencies of the transaction need to match and you need to make sure that the transaction total price will be above the minimum amount for provider commissions since the payout can't be negative.

Subscription-based model

The commission actions are the most straightforward way of monetizing your marketplace and are directly supported by Flex. However, you might want to experiment with other monetization models depending on your business idea. For example, subscriptions might be a good way of monetizing your marketplace. With the Integration API, you can integrate a third-party service such as Chargebee or Stripe billing to process subscription payments from users who want access to your marketplace.