Monetization

If you have an app on the marketplace or are looking to build one, this guide is for you!

Apps monetization is a feature that allows your monday app to accept payments from users directly through monday.com instead of leaving the platform. For developers, it's a seamless way to get payments without a third-party system.

If your app uses monday monetization, our platform will handle the entire payment and billing process, including VAT and currency conversions. Monetization takes the hassle out of billing users and processing payments, giving you more time to focus on building and improving your app.

Setting up monetization truly is as simple as 1, 2, 3! All you need to do is become a monday vendor, create a payment account, define your plans, and implement logic in your app to check users' subscription status. After that, you can submit your app for marketplace approval! Please keep in mind that the process outlined in this doc only works for apps that are new to the marketplace.

If you previously built a free app but want to implement monetization, have no fear! We've developed a process that allows you to seamlessly transition to monetization by migrating existing accounts. If you're interested in making the switch, reach out to our Developer Success team ([email protected]) so we can walk you through the process and make your transition as smooth as possible!

Please note: Developers take full responsibility to check and enforce monetization for their app. Failing to do so may lead to customers using your app for free!

Requirements

Your app must support the following flows to use the monetization feature:

  • Check the status of the user's subscription when they use your app
  • Enable or disable features based on the user's subscription level
  • Prompt the user for payment using our SDK
  • Migrate any users from an external billing system to monday billing without double payment

Plan tiers and pricing

Your app can support a maximum of ten plans. As part of the monetization process, you'll need to determine how many plans you want to offer and how much they cost. You'll also need to define a trial plan and an optional free plan. To learn more about defining plans, check out this FAQ: How to define your plan tiers

We support two different pricing models: feature-based and seat-based pricing. Our apps framework UI intuitively displays pricing information in different formats based on your app's pricing model.

Feature-based

You should use this model if your app will offer more features as the plan tier increases. For example, you may offer 1 or 2 features on the basic plan, 3 or 4 on the advanced plan, and 5 or 6 on the premium plan.

1041

Seat-based

Seat-based pricing allows you to create plan tiers based on the permitted number of users. For example, the basic plan may permit up to 5 users per account, 10 on the advanced plan, and 20 on the premium plan. Your app can use our GraphQL API to check how many users an account has and block or allow access accordingly.

2582

A note on per-user pricing: Since you can define a maximum of 10 pricing tiers, you cannot charge users per seat on their account. Instead, you must group each account into a user bucket. For example, a "20-50 seat plan" for all accounts with more than 20 and less than 50 users.

After creating the tiers, you must decide how much each level costs. If you don't effectively price your plans, you may not make enough revenue to sustain development.

You must also decide if your app will follow a monthly or annual billing schedule. We present the monthly prices on the app but bill once a year for annual prices. Since we display the monthly price to users, the annual fee must be a round number when divided by 12. Let's say you want your annual price to be $75. That comes to $6.25/month and is not a round number. You would need to adjust your annual fee to $72, which comes to $6/month.

🚧

Plan pricing

Price your plans carefully because you cannot change the prices once they go live!

Subscriptions

The monetization framework revolves around the concept of subscriptions. Each subscription serves as a billing contract between the user and your app.

Every account can only have one subscription per app. Each subscription contains three parameters:

  • Plan ID: The unique identifier of the subscription tier
  • Renewal date: The date the current subscription ends and will renew
  • Is Trial: Whether or not the user is currently in a trial period

App and subscription life cycle

After monetization, most apps go through the same life cycle:

  1. App installation and trial: An admin installs the app and starts a trial. You will specify a default plan tier to which each trial account temporarily has access. For example, you may want all trial users to have the Pro plan.

  2. Trial end: The app will be disabled or revert to the free plan (if your app supports one) after the trial period.

  3. Payment: An admin pays for the app annually or monthly. monday will handle the payment page, billing, currency conversions, tax, etc. Your app will see the updated subscription object with the correct plan_id they purchased.

  4. Usage: You should enable the relevant features based on the subscription information.

Each step of the life cycle can have different outcomes. Check out our diagram to see the various stages that a user goes through.

How to monetize your app

For developers, monetizing your app is relatively fast and straightforward!

  1. You must first become a monday vendor by completing this form . Our finance team has a list of approved vendors they can pay monthly, so you must join the list to receive a payment from monday. We recommend completing the form as early as possible to avoid delays. If you're already a monday vendor, you can skip to step 3!

  2. Create a Payoneer account to receive your payment each month. If you already have a Payoneer account, you can register it using these instructions .

  3. Set up your plans and pricing. Once you finalize them, submit the details through this form.

  4. If your app is new to the marketplace, you must submit it to our app review team for approval.


What’s Next