Skip to content

Claude Opus 5.5 (effort default (no --effort flag) · thinking on) on Extract 8 fields from 24 invoices in 4 formats (EU numbers, credit notes, MM/DD dates)

AClaude Opus 5.5default · thinking on · Claude Code 2.1.299 (headless -p) · cloud · 2026-10-16 · by @bobsiopener

Trust 80%Fully autonomoussuccess · first try
Estimated cost
$0.17
Wall time
26s
Human step-ins
0
Outcome
Pass

Compare with other models on this task →

Summary

Exact prompt

# Task: extract structured data from mixed-format invoices `invoices/` has 24 files (txt, html, eml, kv). For each, extract: vendor, invoice_number, date (YYYY-MM-DD), currency (ISO code), net, vat, total, is_credit_note. Rules: credit notes have NEGATIVE net/vat/total. European number formats (1.234,56) must be parsed correctly. Ignore reference/previous-balance amounts that are not part of this document's totals. If a currency symbol is used, map € EUR, £ GBP, $ USD. Write `extracted.json`: {"inv01": {...}, ..., "inv24": {...}} (key = filename stem). No network.

Extract eight fields from 24 invoices in four formats (text, HTML, email and key-value). Traps include European number formats, US versus European date order, credit notes that need negative amounts, and 'previous balance' figures that are not part of the invoice. The bar is near-perfect field accuracy. Original benchmark task written for usecaserank.com (not based on a specific public post). Headless, offline run on a reproducible fixture. Each run's notes say how its cost was measured (estimates are marked).

Success criteria: 1. 24 invoices × 8 fields compared to the key: numeric fields within 0.011, other fields exact (case-insensitive, trimmed); overall field accuracy must be >= 98%. 2. Both credit notes must have every field correct (including negative net/vat/total and is_credit_note=true).

Setup notes: Use Case Scout batch 3 case c05-invoice-extraction (offline fixture). Prepared with batch3/prepare.sh; hidden key/tests kept outside the agent's work dir. Prompt = TASK.md verbatim. Scored with the scout's scorer: `python score.py WORKDIR/extracted.json KEYDIR/key.json`. Tools: Read/Write/Edit/Glob/Grep/Bash, web disabled. Single run, no retries. Claude Code's own reported cost for claude-opus-5.5: $0.174554. Score: 1/1 checks. Cost is an ESTIMATE: measured tokens x pricing.json list price (Claude Pro subscription, nothing billed); input_tokens include cache reads and writes. Single run.

Estimated cost List-price estimate; not actually billed.

Metrics

Estimated cost
$0.17
Wall time
26s
Human step-ins
0
Turns
4
Model usage
ModelInput tokOutput tokCost
AClaude Opus 5.5anthropic/claude-opus-5.5effort default (no --effort flag) · thinking on87,9772,753$0.17

Reproduce this run

  1. Use the use case prompt on the use case page.
  2. Same setup: Claude Opus 5.5 (anthropic/claude-opus-5.5, effort default (no --effort flag) · thinking on) via Claude Code 2.1.299 (headless -p), cloud.
  3. It counts as a success only if it meets every success criterion: 1. 24 invoices × 8 fields compared to the key: numeric fields within 0.011, other fields exact (case-insensitive, trimmed); overall field accuracy must be >= 98%. 2. Both credit notes must have every field correct (including negative net/vat/total and is_credit_note=true).
  4. Log model, tokens, wall time, human step-ins and the evidence log, then submit it as a reproduction. A different model? Submit a head-to-head rerun.

How runs are scored: Methodology.

Was this useful?

⇄ Rerun on another model

Automated checks

Trust 80% comes from these checks (how Trust % works).

Evidence log
[
 {
  "duration_api_ms": 24563,
  "stop_reason": "end_turn",
  "session_id": "[REDACTED]",
  "total_cost_usd": 0.1745538,
  "usage": {
   "input_tokens": 8,
   "cache_creation_input_tokens": 13060,
   "cache_read_input_tokens": 74909,
   "output_tokens": 2753,
   "output_tokens_details": {
    "thinking_tokens": 136
   },
   "server_tool_use": {
    "web_search_requests": 0,
    "web_fetch_requests": 0
   },
   "service_tier": "standard",
   "cache_creation": {
    "ephemeral_1h_input_tokens": 13060,
    "ephemeral_5m_input_tokens": 0
   },
   "inference_geo": "global",
   "iterations": [
    {
     "input_tokens": 2,
     "output_tokens": 522,
     "cache_read_input_tokens": 23553,
     "cache_creation_input_tokens": 1653,
     "cache_creation": {
      "ephemeral_5m_input_tokens": 0,
      "ephemeral_1h_input_tokens": 1653
     },
     "type": "message"
    }
   ],
   "speed": "standard",
   "fallback_credit": null
  },
  "modelUsage": {
   "claude-opus-5-5": {
    "inputTokens": 8,
    "outputTokens": 2753,
    "cacheReadInputTokens": 74909,
    "cacheCreationInputTokens": 13060,
    "webSearchRequests": 0,
    "costUSD": 0.1745538,
    "contextWindow": 1000000,
    "maxOutputTokens": 128000,
    "thinkingTokens": 136,
    "canonicalModel": "claude-opus-5-5",
    "provider": "firstParty",
    "costBasis": "list"
   }
  },
  "permission_denials": [],
  "terminal_reason": "completed",
  "fast_mode_state": "off",
  "fast_mode_disabled_reason": "sdk_opt_in_required",
  "subagent_stats": {
   "spawned": 0,
   "requested": {
    "background": 0,
    "foreground": 0,
    "unset": 0
   },
   "started_in_background": 0,
   "max_depth": 0,
   "spawned_by_subagents": 0,
   "completed": 0,
   "failed": 0,
   "killed": {
    "parent": 0,
    "user": 0,
    "system": 0
   },
   "refused": {
    "depth_limit": 0,
    "concurrency_limit": 0,
    "budget": 0
   },
   "by_type": {}
  },
  "safety_stops": 0,
  "is_error": false,
  "num_turns": 4,
  "subtype": "success",
  "api_error_status": null,
  "result": "I've written `extracted.json` with all 24 invoices, keyed `inv01` to `inv24`. Every invoice passes the check that net + VAT equals total exactly. I also read through all 24 results against the source files and they match.\n\n- **Dates:** each format is read its own way: `MM/DD/YYYY` in the html files, `DD.MM.YYYY` in the txt files, `YYYYMMDD` in the kv files and ISO dates in the eml files. All come out as `YYYY-MM-DD`.\n- **Number formats:** European amounts like `1.277,81` are read as 1277.81, and US amounts like `2,426.01` as 2426.01. A number is treated as European when it ends in a comma plus two digits.\n- **Currency:** the html files use symbols, mapped as \u20ac EUR, \u00a3 GBP and $ USD. The other formats state the ISO code directly.\n- **Credit notes:** there are two, `inv07` (Pixelworks Inc.) and `inv19` (Tidewater LLC). Their net and total are negative, but VAT shows as `0.0` rather than negative because there is no VAT on them.\n- **Ignored amounts:** the \"previous balance \u2026 not included\" amounts in the txt files are left out. Only the Net, VAT and Total due lines are used.\n\nThe extraction script is at `/tmp/xs/extract.py`, outside the work folder. It isn't part of the deliverable, but you can re-run it with `python3 -I /tmp/xs/extract.py invoices extracted.json`.",
  "ttft_ms": 2520,
  "type": "result",
  "duration_ms": 25022,
  "uuid": "[REDACTED]",
  "ttft_stream_ms": 1200,
  "time_to_request_ms": 234,
  "first_content_frame_ms": 1201,
  "queued_turn_count": 0,
  "result_index": 0
 }
]

Get new runs and ranking changes weekly