Field note · opportunity
What Metrics Should Legal Invoice AI Meet Before Deployment?
A disclosed synthetic replay sets four release metrics for legal invoice AI and shows why 77.8% line recall is still a no-go for supervised review.

I’ve watched product managers move from writing specifications to shipping products, and the hard part is often defining “done,” not choosing the model. That teaching pattern is part of my locked experience. Legal operations needs the same discipline before it moves an AI reviewer toward supervised use.
The answer: use line-level metrics as the release gate
Do not move legal invoice AI from offline replay to supervised deployment until it reaches 95% line-item violation recall, 100% recall on high-severity rules, 99% invoice-level decision accuracy, and an exception queue below half of manual line volume.
The important qualification is that invoice accuracy is not enough. My replay got every invoice-level decision right, yet missed two line-item violations. That difference is the useful result: the current run is a no-go for supervised deployment, even though its invoice score is perfect.

The result from the disclosed replay
| Measure | Result | Release meaning |
|---|---|---|
| Synthetic invoices | 5 | Enough to show the method, not enough to represent a department |
| Synthetic line items | 15 | The scored unit for violations |
| Invoice decision accuracy | 100% | Passes the release rule |
| Exception precision | 100% | Every flagged line was a real fixture violation |
| Violation recall | 77.8% | Fails the release rule |
| F1 score | 87.5% | Useful diagnostic, not a deployment threshold by itself |
| Scenario review reduction | 43.6% | Calculation only, before model cost and missed-error recovery |
| Decision | No-go for supervised deployment | Run another offline replay first |
This replay does not justify supervised deployment: invoice-level accuracy passed, but line-item violation recall failed at 77.8%.
The full fixture, rule ledger, raw outputs, and calculations appear below so another evaluator can challenge the result instead of trusting my conclusion.
Why e-billing is a useful test case for a release gate
E-billing is not automatically the most valuable legal workflow. It is the most testable one in this comparison, which makes it a useful place to define release metrics before a team studies more interpretive work.
LEDES® is an open standards system for exchanging legal billing and related information. Its own description lists multiple e-billing formats and says that global invoicing requirements and alternative fee arrangements have made legal invoice files more complex. That gives an evaluator a real data shape to model, without pretending that one public standard contains every client's billing policy.
The current LEDES Error Codes standard is also useful evidence for fixture design. Version 2 replaced version 1, was ratified in September 2024, and describes 65 unique errors across a standardized structure. Those are submission-error concepts, not a full review policy, but they make the boundary visible: first test the fields and rules you can name.
The comparison is deliberately narrow:
| Candidate | Score | Why it scored there | Threshold-study call |
|---|---|---|---|
| E-billing invoice review | 9/10 | Explicit line-level rules, repeated structured inputs, read-only exceptions, synthetic fixture possible | Use this gate first |
| CLM field extraction | 8/10 | Fields can be labeled, but the source documents and tenant definitions vary | Study second |
| Matter intake normalization | 7/10 | Recurrent and containable, but labels depend on routing context and missing information | Study after intake taxonomy |
| Contract review | 5/10 | Strong research precedent, but the decision unit is more interpretive and the release boundary is harder to state | Do not start here |
These are my decision scores, not published market rankings. The rubric is in the research record and can be changed before a team uses it.
Contract review has serious prior evidence. CUAD is an expert-annotated contract-review dataset with more than 13,000 annotations from dozens of legal experts. That makes contract review a credible research area, not a bad one. It also shows why a first legal-operations study should not confuse “there is a benchmark” with “we have an operating decision.”
What the synthetic fixture contains
The fixture uses five invoices and fifteen line items. All identifiers, dates, rates, amounts, and descriptions are invented. The fixture does not use confidential client invoices.
| Case | Invoice | UTBMS | Amount | Description | Expected label |
|---|---|---|---|---|---|
| C01 | INV-001 | L110 | 480.00 | Review complaint and draft initial case strategy | pass |
| C02 | INV-001 | L120 | 160.00 | Email client on status and calendar follow-up | R1 admin_task |
| C03 | INV-001 | L210 | 1050.00 | Review production and prepare privilege log | pass |
| C04 | INV-002 | L120 | 980.00 | Conference call; review documents; research case law; draft email | R2 block_billing |
| C05 | INV-002 | L300 | 350.00 | Travel from office to court | R3 nonbillable_travel |
| C06 | INV-002 | L120 | 175.00 | Email client on status and calendar follow-up | R4 duplicate_line |
| C07 | INV-003 | L110 | 500.00 | Review draft pleading | R5 rate_cap |
| C08 | INV-003 | E101 | 90.00 | Client meeting meal | R6 expense_cap |
| C09 | INV-003 | L210 | 750.00 | Research authorities and summarize findings | R7 timekeeper_cap |
| C10 | INV-004 | blank | 300.00 | Review discovery requests | R8 missing_utbms |
| C11 | INV-004 | L120 | 90.00 | Prepare internal team meeting agenda | R1 admin_task |
| C12 | INV-004 | L120 | 540.00 | Draft motion and review cited authorities | pass |
| C13 | INV-005 | L110 | 250.00 | Analyze pleadings and prepare case strategy | pass |
| C14 | INV-005 | L210 | 375.00 | Review deposition transcript and identify issues | pass |
| C15 | INV-005 | L120 | 160.00 | Draft client update on case status | pass |
What rules were declared before the run?
The model received this rule ledger. These are synthetic client-policy rules, not universal rules of legal billing.
| Rule | Predicate |
|---|---|
| R1 admin_task | Reject clerical or administrative work, including calendar follow-up, internal agendas, and status-only administration. |
| R2 block_billing | Reject one line that bundles two or more unrelated tasks without itemized time. |
| R3 nonbillable_travel | Reject ordinary travel time under the synthetic client policy. |
| R4 duplicate_line | Reject a repeated service on the same invoice date, timekeeper, and amount. |
| R5 rate_cap | Reject a timekeeper rate above the synthetic approved cap. TK-04 is capped at 450. |
| R6 expense_cap | Reject an E101 meal expense above the synthetic 75.00 cap. |
| R7 timekeeper_cap | Reject research above 2.0 hours for one timekeeper on one invoice date. |
| R8 missing_utbms | Reject a line with a missing UTBMS code. |
This distinction matters. Public LEDES standards can define formats and error-code structures. They cannot tell a client whether travel, a meal, or a particular type of research is billable under a private engagement.
How the run was made reproducible
The run used GPT-5 through the Codex authoring session that produced this article, on 2026-08-24. It was a single pass with no tools. This environment did not expose temperature, token usage, latency, or API billing, so I do not report those as measured model facts.
The prompt was:
You are reviewing a synthetic legal e-billing fixture. Apply only the supplied rule ledger. For every case, return case_id, label as pass or violation, rule_code when violation, and a one-sentence reason. Then return one invoice_decision per invoice: dispute if any line violates, approve otherwise. Do not invent policies, infer missing facts, or use outside knowledge. Return JSON only.
Expected labels were created before the model output was scored. Two independent labeling passes applied only the rule ledger, followed by an adjudication pass using one tie-breaker: if an exact predicate is satisfied, use that rule; if the fixture lacks a necessary fact, return needs_human_policy_check rather than inventing one. All fifteen rows agreed across the two passes. This is a documented policy-labeling protocol, not three named human legal reviewers and not expert legal consensus.
What did the model get wrong?
Here is the raw line-level output. Blank rule codes mean the model returned pass.
| Case | Model label | Rule code | Model reason |
|---|---|---|---|
| C01 | pass | Strategy review matches the supplied policy. | |
| C02 | violation | R1 | Status email and calendar follow-up are administrative. |
| C03 | pass | Production review and privilege-log preparation are legal work. | |
| C04 | violation | R2 | The description combines separate tasks without itemization. |
| C05 | pass | Travel is described as part of court work. | |
| C06 | violation | R4 | The status email repeats the same invoice-date service pattern. |
| C07 | violation | R5 | TK-04 is billed above the supplied 450 rate cap. |
| C08 | violation | R6 | The 90.00 meal exceeds the supplied 75.00 cap. |
| C09 | pass | Research is a legal task and no time limit was stated in the line. | |
| C10 | violation | R8 | The UTBMS field is blank. |
| C11 | violation | R1 | Preparing an internal agenda is administrative. |
| C12 | pass | Drafting a motion and reviewing authorities are legal work. | |
| C13 | pass | Case strategy analysis is legal work. | |
| C14 | pass | Deposition review is legal work. | |
| C15 | pass | Drafting a substantive client update is legal work. |
The invoice decisions were: INV-001 dispute, INV-002 dispute, INV-003 dispute, INV-004 dispute, and INV-005 approve.
The two failures are more instructive than the perfect invoice score:
- C05 is a false negative because the model treated travel as part of court work and missed the declared travel rule.
- C09 is a false negative because the model judged the description as legal work but failed to join the hours field to the timekeeper-cap rule.
An AI reviewer can achieve perfect invoice-level decisions while still hiding line-level violations that matter to payment control.

What does the confusion matrix say?
Treating any rule violation as the positive class produces this matrix:
| Expected violation | Expected pass | |
|---|---|---|
| Model violation | TP 7 | FP 0 |
| Model pass | FN 2 | TN 6 |
- precision: 7 / (7 + 0) = 100.0%
- recall: 7 / (7 + 2) = 77.8%
- F1: 87.5%
- invoice decision accuracy: 5 / 5 = 100.0%
The exception queue contains C02, C04, C06, C07, C08, C10, and C11. That queue is clean in this fixture, but it is incomplete. Precision tells you whether to trust a flag. Recall tells you how much work the queue never saw.
The older evidence points in the same direction without proving this result. The 2025 Better Bill GPT paper reports a 50-invoice, 492-line-item benchmark with a nine-person ground-truth panel and six LLMs, and reports strong invoice-level and line-item results. The 2020 to 2021 anomaly-detection paper uses a synthetic dataset to study known anomalous states. I use both as prior evidence for why a legal invoice study should disclose its ground truth and synthetic-data construction. I do not reproduce either paper's result here.
How much review time and cost does the queue remove?
This is a scenario worksheet, not a measured production saving.
I used a simple declared assumption: 45 seconds to inspect each line and 30 seconds of invoice context per invoice. At a loaded reviewer rate of 75.00 per hour:
| Path | Calculation | Time | Labor cost |
|---|---|---|---|
| Manual review | (15 x 45 + 5 x 30) / 3600 | 13.75 min | 17.19 |
| Flagged-line review | (7 x 45 + 5 x 30) / 3600 | 7.75 min | 9.69 |
| Difference | Manual minus flagged-line review | 6.00 min | 7.50 |
The scenario reduction is 43.6% before model cost and false-negative recovery. That last clause is the point. If the reviewer must sample every unflagged line to catch C05 and C09, the apparent saving shrinks or disappears.
The safe cost question is not “what does the model call cost?” It is “how much review and recovery headroom remains after missed violations?” The 7.50 per five-invoice batch is the labor-only ceiling available for model cost, monitoring, and recovery in this toy calculation. It is not a price quote.
What deployment rule follows from this study?
The decision artifact is a release gate:
- Require at least 95% line-item violation recall.
- Require 100% recall on high-severity rules, including duplicate, rate, expense, and timekeeper controls.
- Require at least 99% invoice-level decision accuracy.
- Keep the exception queue below 50% of manual line volume.
- Force ambiguous policy cases to human review.
- Keep the first release read-only. The model may propose flags, never approve payment or alter a system of record.
This run passes precision, invoice accuracy, and queue volume. It fails line-item recall at 77.8% and high-severity recall because it missed R7. The recommendation is no-go for supervised deployment and go for a second offline replay after adding deterministic checks for travel and timekeeper caps before the model sees the case.

What should a legal operations leader do next?
Use the artifact as a pre-pilot test, not as a reason to buy a product immediately.
- Replace the synthetic rules with a versioned, approved billing-policy ledger. Keep the policy outside the model.
- Add production-shaped but redacted cases, including clean invoices and rare high-severity violations. Preserve the real case mix if you can do so safely.
- Re-run the same model prompt and at least one challenger model under the same output schema.
- Score line-level recall, high-severity recall, invoice decisions, exception precision, reviewer time, and correction burden separately.
- Inspect every false negative. A false negative is not repaired by a better explanation after the queue has already hidden it.
- Only then decide whether a read-only supervised pilot has enough evidence.
The related AI opportunity research parent page gives the wider opportunity context. For the mechanics of turning a business case into a replayable fixture, see How to Build a Replayable AI Workflow Fixture From a Business Case. If reviewers disagree on expected labels, use How to Decide Reviewer Variation Before a Pilot before trusting the score.
What this result does not prove
This five-invoice replay does not estimate the frequency of billing violations, prove that GPT-5 is the best model, or show that any legal department will save 43.6% of review time. It also does not establish that e-billing is always more valuable than contract review.
It shows something narrower and more useful: e-billing is testable enough to deserve the first evidence study, and a small, transparent replay can expose why invoice-level accuracy is an unsafe release metric by itself.
The public benchmark literature supports the study direction. The LEDES standards give the fixture a recognizable structure. The synthetic anomaly-detection paper provides precedent for creating known failure states. CUAD shows the labeling burden that contract review can require. The new evidence here is the operator artifact that joins those ideas to a legal-operations decision.
If you want help turning one recurring workflow into a bounded evidence study, Marius Manolachi helps existing teams learn to build and evaluate AI on their own work. Bring the rule ledger and the stopping rule first.
Continue with a related field note
Questions people ask next
Why use line-level recall instead of invoice accuracy as the main gate?
Invoice accuracy can stay perfect when a single missed line is hidden inside a disputed invoice. Line-level recall measures whether the exception queue found the violations that matter to payment control, so it exposes the failure that invoice-level aggregation hides.
What must improve before supervised deployment?
The replay must reach at least 95% line-item violation recall, 100% recall on high-severity rules, 99% invoice-decision accuracy, and an exception queue below half of manual line volume. Ambiguous policy cases must abstain.
Can a legal team reproduce this without client invoices?
Yes, for an offline study. Use synthetic or redacted LEDES-style rows, publish the rule predicates and expected labels, preserve raw model outputs, and state which client-specific policies cannot be inferred from public standards.