Method note · verified 2026-07-21
How ManageSubs calculates subscription spending
This page explains the calculation rules in the live ManageSubs 1.11 source revision 959498f. Totals are planning estimates based on the prices, currencies, billing cycles, and dates you record. They are not bank statements, merchant invoices, tax advice, or proof that a charge was avoided.
1. Billing-cycle normalization
Dashboard spending compares recurring plans as a monthly estimate. The app multiplies each recorded price by a fixed monthly factor, then sums active records in one display currency. It does not rewrite the renewal date or claim that your card will be charged monthly.
| Recorded cycle | Monthly factor | Example |
|---|---|---|
| Weekly | 4.33 | 10 per week → 43.30 monthly estimate |
| Monthly | 1 | 10 per month → 10 monthly estimate |
| Quarterly | 1 ÷ 3 | 30 every three months → 10 monthly estimate |
| Semi-annual | 1 ÷ 6 | 60 every six months → 10 monthly estimate |
| Annual | 1 ÷ 12 | 120 each year → 10 monthly estimate |
Weekly uses the app’s 4.33-week average. This makes unlike billing intervals comparable, but it is an estimate; keep the next renewal date and the actual billed amount in view for cash-flow decisions.
2. Currency conversion and rate freshness
Each subscription keeps its own ISO currency code. Before dashboard totals are added, ManageSubs converts amounts to the display currency using a USD-based exchange-rate table. The calculation converts through USD: it divides by the source currency’s USD rate, then multiplies by the display currency’s USD rate.
The app starts with the latest saved rate table when one is available. If none is saved, it uses an approximate rate snapshot bundled with the app, so conversion can still work before a network refresh or while offline. On launch, a refresh is attempted when the loaded table is older than 24 hours. The Settings refresh control is throttled for 60 seconds, and a rate request times out after 15 seconds.
open.er-api.com. The request contains no subscription record, price, or currency selection. If it fails, the app keeps the last good cached table; otherwise it uses the bundled fallback. Rates are approximate market data, not a quoted bank or card rate.3. Conversion fallback
If the source or display currency is missing from the available rate table, ManageSubs returns the recorded normalized amount instead of silently dropping that subscription from a total. That preserves visibility, but it can make a mixed-currency total unsuitable for comparison. Check the record’s currency and refresh rates before relying on a total that includes an unavailable conversion.
4. Pauses and deferred spending
Only active subscriptions count toward spending totals. A paused subscription stays visible but is excluded from active spending, widgets, and reminders. When it resumes, ManageSubs stores deferred spending using the price captured when the pause began and the same monthly normalization factor.
The implementation counts only completed 30.44-day months, so a pause shorter than that adds no deferred-spending amount and a partial final month is not included. This is a local planning metric, not confirmation that a provider paused or forgave a charge.
5. Estimated cancellation savings
A cancellation-savings figure is available only when a local record is marked cancelled and has both a cancellation date and a saved price at cancellation. It begins at zero on the cancellation date, normalizes that saved price to a monthly rate, converts it to a daily estimate, and accrues for completed elapsed days.
This estimate does not verify cancellation with Apple, a merchant, a bank, or a card issuer. It does not determine refunds, account access, taxes, price changes after cancellation, or whether a provider actually stopped billing. Use the relevant billing owner to cancel; ManageSubs only records your local tracking state.
Read the number in context
Correct inputs matter more than precision in the display. Review the subscription price, cycle, currency, status, and next renewal date whenever a total looks unexpected. For the product boundaries around manual entry, reminders, price history, cancellation tracking, and data storage, see current ManageSubs features. For a personal inventory outside the app, use the subscription spending guide.