How to calculate MRR from Paddle: yearly, weekly, discounts and tax

By Kayabyte

Paddle shows subscription metrics, but its Subscriptions report has no MRR column, and sooner or later you need the number per customer: in HubSpot, a spreadsheet or your own report. This guide gives the rules, with worked examples, and says where the choices are yours. Paddle facts last checked 11 November 2026.

What Paddle says MRR is

Paddle’s metrics documentation defines MRR as “the monthly revenue from all active subscriptions” and says Paddle converts monthly, quarterly and annual periods into monthly values (Paddle: ProfitWell Metrics). The page does not say how it treats discounts, tax or currencies. The Subscriptions report gives you the pieces: the billing interval and frequency, the status, the last billed cycle amount (without tax and net of discounts), the currency and the discounts in force (Paddle: subscriptions report). The report says the last billed amount excludes proration and one-off charges, can be negative and may be stale if items changed since the last cycle, so use it as a check, not as the source.

Step 1: price times quantity, per cycle

A Paddle subscription has one or more recurring items. Each item has a price with a billing cycle and a quantity. The amount per cycle is the sum of unit price times quantity (Paddle: subscription object).

Step 2: turn the cycle into a month

The billing cycle interval is day, week, month or year, with a frequency of 1 or more. Divide by the frequency and convert the interval:

Cycle Monthly amount
Every month amount
Every 3 months amount / 3
Every year amount / 12
Every 2 years amount / 24
Every week amount x 52 / 12
Every day amount x 365 / 12

Examples: a yearly plan of 1,200 is MRR 100 and ARR 1,200. A weekly plan of 10 with 3 seats is 30 per week, so 30 x 52 / 12 = 130 per month. A plan billed every 3 months at 59 is MRR 19.67.

Weeks and days are conventions: other teams use 4 weeks or 30 days per month. Pick one and keep it.

Step 3: subtract discounts

A subscription can carry a discount. Paddle returns the discount with its start and end, and a type: recurring, or one-off, which applies to a single billing period and is removed on renewal (Paddle: subscription object). A 25 percent recurring discount on a monthly 100 gives MRR 75. A one-off discount in a trial should not lower MRR. When a recurring discount has an end date, the MRR rises again after the last discounted period. Remember to refresh the number then.

Step 4: leave tax out

MRR is normally reported without tax, because tax is not your revenue. Depending on how a price is set up in Paddle, the amount a customer sees may include tax. Paddle’s subscription object can preview the recurring transaction with subtotal, discount, tax and total (Paddle: subscription object, the recurring_transaction_details option). Use the subtotal minus the discount. In a sandbox test of ours, a gross price of 100.00 for a Norwegian buyer came back as a subtotal of 80.00 and tax of 20.00. If you work from the report instead, its amounts already exclude tax.

Step 5: decide which statuses count

Paddle subscription statuses are active, trialing, past_due, paused and canceled. Past due means an automatic payment failed or an invoice was not paid 24 hours after its due date (Paddle: subscription object). A subscription scheduled to cancel stays active until the change takes effect, so check the scheduled change too. Reasonable rules:

Paddle’s own definition says “active subscriptions”, so a stricter team might exclude past due. State your choice next to the number.

Step 6: keep currencies apart

If you bill in USD, EUR and GBP, adding the raw numbers is meaningless. Either report MRR per currency, or convert with a rate you choose and document. HubSpot’s own record currency setting only changes how an amount is displayed and does not convert it; its calculation properties can apply an exchange_rate function if you want a converted figure (HubSpot: calculation properties). That article covers deal properties with the currency format, and calculation properties need HubSpot Professional or Enterprise.

Step 7: ARR

ARR is MRR times 12, calculated from the exact amount before rounding, so a yearly 1,200 stays 1,200.

Rounding

Work in the smallest currency unit and round once, at the end. Rounding at every step makes totals drift.

Full disclosure: we built an app that does this

Paddle Sync: Subscriptions & MRR applies these rules to every subscription and writes the result to HubSpot as MRR and ARR properties. It counts active and past due subscriptions, shows trialing, paused and canceled as 0, subtracts recurring discounts, leaves tax out (it asks Paddle for the pre-tax amount when a price may include tax), keeps each currency apart with no conversion, uses 52/12 for weeks and 365/12 for days, and rounds once. A discount that ends between renewals changes MRR at the next renewal. Free up to 50 active subscriptions; Growth USD 29 per month; Scale USD 79 per month; 14-day Scale trial without a card. Paddle Billing only.

More detail

FAQ

Does Paddle have an MRR column in its export? The Subscriptions report has no MRR column; it has the billing interval, frequency, last billed amount and status you need to work it out. Paddle’s metrics dashboards show MRR.

How do I get MRR from a yearly plan? Divide the yearly amount, after discounts and without tax, by 12.

Should MRR include tax? Normally not. Tax is collected for the authorities, not revenue.

Should trials count in MRR? Usually not until the first payment; a trial has not generated revenue yet.

Why does my MRR differ from Paddle’s dashboard? Rules differ on discounts, past due subscriptions, currencies and rounding, and Paddle’s dashboards refresh every 3 to 6 hours. Compare one subscription at a time.

Questions or corrections: support@kayabyte.dev. HubSpot is a registered trademark of HubSpot, Inc. Paddle is a trademark of Paddle.com, used here only to say which service is meant. Kayabyte is an independent developer and is not affiliated with HubSpot or Paddle.com.