Quickstart
- Create your workspace. Sign up with email or Google. A workspace is your business; invite teammates later from Team.
- Connect a billing platform. Go to Connections → Add source and paste the credentials below. You can connect several platforms, and more than one account of each.
- Let it import. The first import starts right away and usually takes under a minute per year of history. After that, OneMRR checks each source for changes every 10 minutes and runs a full sync every night.
- Check the numbers. Open Overview for MRR, ARR and this month's revenue movements. Click any month or movement to see the customers behind it.
Connect billing
OneMRR checks credentials with a read-only call, encrypts them, and never shows them again.
Stripe
Create a restricted key (Developers → API keys → Create restricted key) with Read access to Customers, Subscriptions, Invoices, Products, Prices, Coupons, Charges, Balance and Events, and paste the rk_live_… key. After the import, untick any products that aren't subscriptions under Products counted as MRR.
Shopify App Store
In the Partner Dashboard, create a Partner API client with View financials and Manage apps. You'll need your Partner organization ID, the API token and your app's ID. Shopify's fees are tracked separately from gross MRR.
Wix App Market
Add a Wix source and upload your app's payout export (CSV) from the Wix developer center, then upload each new export as it arrives. Wix doesn't share live subscription state, so Wix MRR is estimated from payouts and labelled as such. To keep it current between exports, send billing records from your app through the API.
Paddle and Lemon Squeezy Beta
Paste a read-only API key. Paddle reports its fee on every transaction; for Lemon Squeezy, set your fee rate in Settings.
Your own billing
Add a Custom (API) source and send customers, payments and subscription events from your server. See API and SDK.
How the numbers work
- MRR is the monthly value of active subscriptions. Annual plans count as one-twelfth a month.
- Standard MRR is before marketplace commissions. Switch to after commissions to see revenue net of Wix's revenue share and Shopify's and Paddle's fees.
- Revenue movements split each month's change into new, expansion, reactivation, contraction and churn.
- Reconciliation, on Connections, compares each source's MRR with what the platform billed recently and explains every difference by customer: annual plans, refunds, prorations, discounts or subscriptions that exist on only one side.
Churn Signals
Churn Signals flags paying customers whose product activity drops well below their own normal. It needs a few events from your server.
npm install @onemrr/node
import { OneMRR } from "@onemrr/node";
const onemrr = new OneMRR({ apiKey: process.env.ONEMRR_API_KEY });
// Once per account: link your account ID to its billing customer.
await onemrr.identify({
accountId: "merchant_123",
email: "merchant@example.com", // optional; used for follow-up emails
source: "shopify",
externalCustomerId: "merchant-123.myshopify.com",
});
// Whenever something meaningful happens.
onemrr.track({ accountId: "merchant_123", event: "event_published" }); Create the key under Settings → API keys; a key can be limited to tracking. Then, under Churn → Settings:
- Mark which events are key (the value customers pay for), engagement, or ignored.
- Choose how your product is used: daily, weekly, monthly, seasonal, or every few days.
- Turn on detection. Starter rules flag activity that drops by 60% or more, or stops for twice a customer's usual gap. Adjust any threshold.
- Under Automations, choose what each rule does: notify you, prepare an email for review, or email automatically.
Automatic emails need a published retention email and a verified reply-to address, and stay off until you turn them on. Signals are a priority list based on each customer's own history, not a churn probability.
Cancellation feedback
Under Churn → Settings → Cancellation survey, set your brand (name, logo, color, sender), your survey question and three to eight reasons, and the email copy. Preview it, send yourself a test, and publish. Then turn on automation under Automations.
Automatic emails need a confirmed cancellation and the customer's email. Stripe provides both. For Shopify, send customer emails from your app through the API's customer endpoint. Wix cancellations are estimated, so copy the survey link from a cancellation and send it yourself.
API and SDK
@onemrr/nodeon npm: activity tracking for Churn Signals.- OpenAPI specification: customers, billing records, subscription events, identify and track.