Quick answer
Disagreements usually come from scope, fields, or timing. One tool counts a session, the other a billing period; one includes cached and reasoning tokens, the other does not; one updates instantly, the other hourly. Read both definitions before treating the gap as an error.
The six causes
| Cause | Example | Fix |
|---|---|---|
| Scope | One project vs whole account | Match the period and filter |
| Fields | Cached tokens included or not | Separate the fields |
| Timing | Instant vs hourly refresh | Wait, then re-check |
| Retries | Failed calls counted once | Log attempts |
| Rounding | Thousands abbreviated | Use raw counts |
| Plans | Allowance vs raw tokens | Do not compare directly |
Which to trust
- For whether you can continue: the provider's reported figure.
- For what a task consumed: the local session record.
- For the invoice: the billing statement.
- For trends: whichever source you used last month, consistently.
Consistency beats precision. A series with a stable method is more useful than a perfectly accurate point that cannot be compared with anything.
Reconcile in four steps
- Align the period and the scope.
- List which token fields each side includes.
- Account for other machines and web usage.
- Write down the remaining difference as a known gap.
UsageAtlas shows the fields separately for that reason. See local vs provider data and how usage is measured.
Questions, answered
Why does my tracker show fewer tokens than the provider?
The provider includes other machines, web and desktop sessions, and fields your local logs may not record.
Can two trackers disagree?
Yes, if they treat cached or reasoning tokens differently or use different periods. Check definitions before assuming a bug.
Which number should I report?
Use the provider figure for limits and billing, and local figures for task and project attribution. State which you used.