---
rank: 1
kind: ranking
id: rk_84e08eafc23f9838
title: Tools for extracting fields from scanned invoices
subject: tool
question: Which tool should my agent call to extract fields from scanned invoices?
status: draft
as_of: 2026-10-24T18:00:00Z
fresh_for: 24h
method: weighted_sum
normalize: minmax
ties: competition
missing: worst
decide: min_lead=0.1 min_confidence=0.7 on_close=explore top_k=3
snapshot: rs_1e6e9188a1d4e26e
---

# Tools for extracting fields from scanned invoices

Which tool should my agent call to extract fields from scanned invoices?

## Criteria

| id | label | weight | better | unit | normalize | half_life | max_age | must | how |
|---|---|---|---|---|---|---|---|---|---|
| task_success | Task success rate | 0.35 | higher | ratio | none | 3d | 30d | >= 0.5 | Share of calls in your own run logs or evals that finished the task. |
| latency_p95 | p95 latency | 0.15 | lower | ms | log | 1d | 7d | | 95th percentile of call time, from your own run logs. |
| cost_per_call | Cost per call | 0.15 | lower | usd | minmax | 7d | 90d | | What one call cost you, from your own invoices or usage records. |
| error_rate | Error rate | 0.15 | lower | ratio | none | 1d | 7d | | Share of your calls that returned an error, from your own logs. |
| schema_breaks | Schema breaks | 0.1 | lower | count | minmax | 7d | 90d | | Times the input or output shape changed under you in the last 90 days, from your own logs. |
| setup_steps | Setup steps | 0.1 | lower | count | minmax | 30d | 180d | | Steps it took you to get a first working call. |

## Items

| rank | id | label | score | low | high | move | uri | group | task_success | latency_p95 | cost_per_call | error_rate | schema_breaks | setup_steps |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | it_e7567efc82a32053 | Rules engine | 0.8005 | | | 0 | | | 0.72 | 85 | 0.001 | 0.01 | 0 | 6 |
| 2 | it_6792ccf2de3e88c5 | Table extractor | 0.787943 | | | new | | | 0.88 | 450 | 0.006 | 0.03 | 0 | 4 |
| 3 | it_3c2349db14c0d212 | Layout parser | 0.772492 | | | -1 | | | 0.95 | 820 | 0.012 | 0.02 | 0 | 3 |
| 4 | it_c3c9e33d47b2f564 | OCR service | 0.691755 | | | -1 | | | 0.9 | 720 | 0.009 | 0.06 | 2 | 2 |
| 5 | it_f3122d1f95fba4c3 | Vision model | 0.6675 | | | -1 | | | 0.92 | 2100 | 0.028 | 0.03 | 0 | 1 |

## Sources

| id | kind | trust | label | uri |
|---|---|---|---|---|
| run_logs | own | 1 | Your agent's run logs | |
| own_evals | own | 1 | Your eval set of 200 invoices | |
| invoices | own | 1 | Your invoices | |

## History

| as_of | snapshot | ranks |
|---|---|---|
| 2026-10-24T12:00:00Z | rs_03230e90c304f8b7 | it_e7567efc82a32053=1@0.797 it_3c2349db14c0d212=2@0.770842 it_c3c9e33d47b2f564=3@0.729695 it_f3122d1f95fba4c3=4@0.659 |

## Changes

| at | id | type | item | other | from | to | detail |
|---|---|---|---|---|---|---|---|
| 2026-10-24T18:00:00Z | rc_9d34c003dede2ec9 | entered | it_6792ccf2de3e88c5 | | - | 2 | Table extractor entered at 2. |
| 2026-10-24T18:00:00Z | rc_072d5d21de1227b8 | moved | it_3c2349db14c0d212 | | 2 | 3 | Layout parser down 1 (2 to 3). |
| 2026-10-24T18:00:00Z | rc_f99518ee938a9679 | moved | it_c3c9e33d47b2f564 | | 3 | 4 | OCR service down 1 (3 to 4). |
| 2026-10-24T18:00:00Z | rc_7fe32f765882ffa9 | moved | it_f3122d1f95fba4c3 | | 4 | 5 | Vision model down 1 (4 to 5). |

## Notes

Example data. Replace every value with your own.

When to use: Pick the tool an agent calls for one task from its own run logs, with history and change events from an earlier build.
