# PR#24: the dashboard counts the billed OpenRouter calls from before the service > **WARNING:** This document describes only the change applied in this PR. > It may already be outdated once the next PR is merged. > Historic PR documentation is not maintained along with new PRs; treat it as a snapshot. ## The Problem The statistics service of werkrevisor 0.18.0 stores the usage record of each run since 2026-10-06T09:13:41Z. The reviews and trial runs before that cost about 10 USD at OpenRouter, but the dashboard does not show them. So the costs of the first days and the token ratio of models such as GPT-6 Astra and DeepSeek V4 Pro are missing. OpenRouter exports each call as one CSV row, with an id, the time in UTC, the model, the billed amount and the tokens. Such a row has no pull request: the review that caused it cannot be found again. ## Non-Goals - No pull requests, reviews or verdicts for billed calls: the CSV does not tell them. - No calls from the time that the service already records: they would count twice. - No regular comparison with the bill; this import fills the time before the service once. ## The Scenarios ### Feature: billed calls fill the time before the service #### Scenario#24.01: a billed call counts in the costs and tokens, not in the reviews So that the dashboard shows what werkrevisor cost since its first run. - **Given** OpenRouter billed a call of Claude Sonnet 5.5 for 0.07 USD, with 31000 input and 850 output tokens, before the first usage record - **When** the operator imports the call - **and** someone opens the dashboard with a read token - **Then** the card of its period shows "Billed earlier: 1 call = 0.0700 USD" below the total - **and** the table per model holds its tokens in the line of Claude Sonnet 5.5 - **and** the numbers of reviews and pull requests do not change ##### Verified by - [UsageApiIntegrationTest: a billed call counts in costs and tokens, not in reviews](../../server/src/test/kotlin/de/hoennig/werkrevisor/server/UsageApiIntegrationTest.kt) - manual check in a browser, see [Measurement](#measurement) #### Scenario#24.02: a call from the time of the service is not imported So that no call counts twice. - **Given** the first usage record is from 2026-10-06T09:13:41Z - **and** a run writes its usage record at its end - **When** the operator imports a call from `