What you’re expecting is logical, but the behavior you’re seeing usually comes from how proration is actually applied in plan switches (monthly → yearly):
- Proration credit is calculated on the unused portion of the current billing period
- But during an interval change (monthly → yearly), Dodo doesn’t simply “refund” the full unused amount
- Instead, it:
- Computes unused time value on the monthly plan
- Applies it as a discount against the yearly price
- Often normalizes across billing intervals (not 1:1 dollar carryover)
Why you see ~$0.04 instead of ~$1.01:
- The system prorates based on time fraction within the billing cycle, not “time since purchase”
- Even a few seconds can round into a minimal fraction depending on:
- Time granularity (seconds vs minutes vs billing ticks)
- Rounding rules
- Then it applies that fractional value against a much larger yearly cycle, which can shrink the visible credit
In short:
- It’s time-based, not payment-based
- It’s interval-normalized + rounded, not a full refund of the last charge
If you want exact numbers for your case, you’ll need to check:
- The precise timestamps used for period start/end
- The rounding precision applied internally
If this looks off beyond rounding (~$1 → $0.04 is quite a drop), it’s worth raising with support—could be plan configuration or proration settings.