If you're building IoT solutions on top of Ubidots and reselling them to your customers, the Billing module gives you a native way to monetize those apps. Connect your Stripe account, define pricing plans (flat-rate, usage-based, or a mix of both), assign them to your customer organizations, and let Ubidots handle the rest — from invoicing to payment tracking.
Requirements
An Ubidots account on the Professional, Industrial, or Enterprise plan.
A Stripe account (free to create). Stripe handles all payment processing, invoicing, and payouts.
1. What Is the Billing Module?
The Billing module is a native Ubidots feature that lets you create subscription plans and charge the organizations you manage through your apps. It integrates directly with Stripe, so you don't need to set up any external billing infrastructure.
With it, you can:
Define flat-rate plans (e.g., $29.99/month per organization).
Define usage-based plans that charge based on actual consumption — devices connected, data points sent, users, dashboards, and more.
Combine flat-rate and usage-based items in the same plan.
Assign plans to specific customer organizations as subscriptions.
Monitor all payments and export transaction history.
2. Where to Find It
Go to Apps in the left sidebar, then select Billing. You'll land on the Settings page, where you can connect your Stripe account.
3. Connect Your Stripe Account
Before creating plans or subscriptions, you need to connect a Stripe account. This only needs to be done once.
Go to Apps → Billing
On the onboarding screen, Stripe is presented as the payment partner with a summary of what the integration enables: create billing plans, track usage metrics, manage subscriptions, and automate payments. Click Connect.
You'll be redirected to Stripe's onboarding flow. Fill in the required sections: Business type, personal details, business details, bank details, public details, climate contributions, and tax calculation.
Once the Stripe form is submitted, you are redirected back to Ubidots, where a summary of the submitted information is displayed. Fields can still be edited from this view. Stripe verifies the data in the background; once verified, the account status changes to Connected.
Once the Stripe account is Connected, three new views become available in the Billing sidebar: Plans, Subscriptions, and Payments.
4. Create a Plan
In the plans view, click + to create a plan. Plans define the pricing structure your customer organizations will subscribe to. Plans can be:
Flat rate — a fixed amount charged per billing cycle
Usage-based — priced per Users, Devices, Variables, Dashboards, Dots in, Dots out, Events, Emails, SMS, Voice call, or WebHook, with an included free tier before billing starts
Plans can mix both types.
Fill in the following fields:
Plan name: e.g., "Starter Plan"
Description: Shown on customer invoices (e.g., "Up to 10 devices and 5 users")
Scope: The organization this plan is available to (or leave blank to make it available to all organizations)
Billing cycle: Monthly or yearly
Currency: The currency for all charges on this plan
Base price: A flat fee charged every billing cycle, regardless of usage
Under Billing Items, click + ADD BILLING ITEM to define what gets charged. For each billing item, choose a Type:
Flat rate: A fixed amount per billing cycle. Set a Nickname (shown on invoices) and a Price per billing cycle.
Usage based: Charged according to actual usage. Set a Nickname, Usage metric (Users, Devices, Variables, Dashboards, Dots in, Dots out, Events, Emails, SMS, Voice call, or WebHook), Price per unit, and Included units (free tier before billing starts).
You can mix flat rate and usage-based items on the same plan. Click Save when done.
5. Available Usage Metrics
When using usage-based billing items, you can track the following metrics:
Metric | Description | Example use case |
Users | Number of user accounts in the organization | Charge per user seat |
Devices | Number of connected devices | IoT device billing |
Variables | Number of variables across all devices | Data point billing |
Dashboards | Number of dashboards created | Charge per dashboard |
Dots in | Number of data points sent to Ubidots | Inbound data metering |
Dots out | Number of data points read from Ubidots | Outbound data metering |
Events | Number of event rules configured | Charge per automation rule |
Emails | Number of email notifications sent | Notification billing |
SMS | Number of SMS notifications sent | SMS alert billing |
Voice call | Number of voice call notifications made | Voice alert billing |
WebHook | Number of webhook calls triggered | Integration billing |
6. Assign Subscriptions
In the Subscriptions view, click + to assign a plan to an organization. Select the Organization and Plan, then save. The customer will be billed starting on the next billing cycle.
Important: The target organization must have a valid payment method registered. Without one, the subscription cannot be created, changed, or canceled. |
7. Track payments
The Payments view shows all transactions with Date, Status, customer email, and Amount. You can filter by Amount, Email, Date, Status, or Payment method, and click Export to download a CSV of your payment records.
Payment statuses:
Succeeded: Payment collected successfully
Canceled: Payment was initiated but not completed (e.g., Stripe could not charge the payment method)
Pending: Payment is being processed
8. Assign Billing Permissions to End Users
In Roles, two new permissions are now available:
Permission to view Billing settings
Permission to change existing Billing settings
When assigned to a user inside a customer organization, that user gets a new item in their Account Settings called "Plans and billing". From there, they can choose a plan available for their app, add or modify payment methods, and cancel subscriptions.
Best practices
Describe clearly: Your plan description appears on customer invoices — be specific (e.g., "Up to 100 devices, 10M data points/month").
Scope always: Always select at least one app in the Scope field when creating a plan, otherwise the plan won't be available to any organization.
Duplicate plans: Use the ⋮ menu on any plan to Duplicate it — great for creating tiered plans (Starter/Pro/Enterprise) quickly.
Monitor payments regularly: Check the Payments section monthly to spot any canceled or failed transactions.






