AI Demos Research — the structured-intelligence platform. Every verdict on these pages opens to the execution behind it.
Graded 9 November 2026

Can Nanonets repair a record by adding one member and removing one?

Nanonets let a user add one line item and remove another while preserving the other two rows. Both corrections persisted after a full page reload and appeared in the JSON export.

1 of 1 test case passed

Every test case in this scenario has a result.

Pass rate100%1 of 1 gradable
Coverage1 of 1test case with a result
1PassDid everything it was expected to do.
0FailNo test case failed.
0Not gradableEvery result here could be graded.
0UntestedEvery test case in this scenario has a result.
The pass rate is a summary. The evidence is the test case below: what we sent, what we checked, what the tool returned, and the proof.

The test case

Each test case is judged on its own: Pass, Fail, Not gradable, or Untested. The scenario result above is based on this test case.

Add one member and remove onePassEvidence
What we sent

We requested the invoice’s line items, deleted the site fencing row, and added a concrete mixer with quantity 1, unit price £95.00 and amount £95.00 in the review table. We saved without re-running extraction, then fully reloaded the page.

InputDocument (PDF)
Input PDF: the two-page invoice and its three original line items
Open the PDF ↗
What the tool returned

Only the tool's reply to input 1 is copied here; its replies to inputs 2 and 3 were not copied as text. The rest of what the tool returned is shown in the evidence under Proof.

The extraction is complete. Return this JSON: {"line_items":[{"description":"Telehandler, 4-tonne, weekly hire","quantity":1,"unit_price":"£850.00","amount":"£850.00"},{"description":"Generator, 20kVA, weekly hire","quantity":2,"unit_price":"£210.00","amount":"£420.00"},{"description":"Site fencing, per 10m panel, weekly","quantity":8,"unit_price":"£24.00","amount":"£192.00"}]}

Transcribed from Proof 3 · Screenshot

Output file (JSON)
JSON export: the saved concrete mixer, telehandler and generator rows
JSON
[
  {
    "description": "Telehandler, 4-tonne, weekly hire",
    "quantity": 1,
    "unit_price": "£850.00",
    "amount": "£850.00"
  },
  {
    "description": "Generator, 20kVA, weekly hire",
    "quantity": 2,
    "unit_price": "£210.00",
    "amount": "£420.00"
  },
  {
    "description": "Concrete mixer, 150L, weekly hire",
    "quantity": "1",
    "unit_price": "£95.00",
    "amount": "£95.00"
  }
]
Open the JSON file ↗
Expected vs. Found
✓Expected: Keep the added item, remove the deleted item, and leave every other item’s values unchanged.Found: After reload, the concrete mixer remained, site fencing was absent, and the two retained rows kept their original quantities, unit prices and amounts.
Supporting proof
Proof 1Screenshot
Screenshot before editing: telehandler, generator and site fencing, with the button for adding rows
Open original ↗
Proof 2Screenshot
Screenshot during editing: concrete mixer added, site fencing absent, changes awaiting Save
Open original ↗
Proof 3Screenshot
Screenshot after reload: the saved rows and unchanged original chat reply
Open original ↗
Why this result

A repair had to change the saved set, not just the on-screen table. The full reload and export confirmed both edits with the other rows untouched. The chat reply still contained the original extraction.

Tested by Rugved Nichite · evidence dated 26 October 2026

Configuration and setup

How this tool was set up for the run and what the test needed in place. Each row is a fact from the run's records; a fact the records do not hold is left out, not guessed.

Software that produced the output
Nanonets
Build or version
Nanonets Agents web app; Default Agent v1, extraction model nanonets-flash
Plan or tier
Free plan (50 lifetime credits)
Surface
Web app
Set up before the run
The plant-hire invoice’s line items had to be extracted with descriptions, quantities, unit prices and amounts. The review screen had to support adding a concrete mixer, removing site fencing and reading the saved set back.
Extraction prompt
Extract the following field from this document and return the result as JSON: line_items, an array of the line-item rows, each with description, quantity, unit_price and amount.
Tested
26 October 2026 · Rugved Nichite

How this scenario is graded

How we decide Pass, Fail and Not gradable. The same rules apply to every tool tested on this scenario.

How results are decided

Each test case gets one result per tool: Pass, Fail or Not gradable. A test case we haven't run yet shows Untested. There are no partial results.

The rules
  • Pass: the tool did everything the test expected, and nothing it said contradicts the correct answer.
  • Fail: at least one expected behaviour clearly didn't happen; the test case's result says which one and quotes the tool.
  • Not gradable: our evidence couldn't settle the outcome (for example a record we needed is missing). It is never counted as a fail, and the test case's result says what's missing.

Where this sits in the benchmark

This page is one cell of a larger study: one tool, one scenario. Only this benchmark's frame appears here.

LevelNameScope
BenchmarkStructured Document Extraction →19 scenarios · 10 tools
CapabilityReview and Correction →
ScenarioRepair a record →
ToolNanonets →

History of this result

What has happened to this result since it was first published. Runs and grades are never overwritten: a retest or a re-grade publishes a new result and keeps the earlier one readable.

from the publication record
10 November 2026First publishedStructured Document Extraction v1

Act on this result

Nothing filed here edits the run or the grade. A challenge opens a review, and a review can produce a new run or a re-grade — which becomes the current result and leaves this one in the history.

This matches what I see

You run the same kind of test against your own setup and get the same behaviour.

Agree →
This does not match

Yours behaves differently. Tell us what you got, with a screenshot if you have one.

Disagree →
Point out an issue

Something here is wrong — a reference value, a transcription, a grade.

Report an issue →
Request a retest

On a newer build, a larger dataset, or your own setup.

Request a retest →
We have fixed this

Tell us what changed and we schedule a rerun of the failing test case. The old result stays as history.

Vendor notice →
Filed against this evidenceNothing yet. Challenges, counter-evidence and fix notices appear here with their outcome, and stay on the page after they are resolved.
Cite this result
aidemos.com/benchmarks/structured-document-extraction/results/nanonets/repair-a-record · 1 pass · 0 fail · coverage 1/1 · graded 2026-11-09

The same record is available as structured data through the AI Demos MCP server, with the counts, the coverage and every per-test-case reason carried as fields.

Verify the proof files

These files support this result. Open a file to inspect the original evidence.

Input · Document (PDF) ↗application/pdf · 78 KB
Output file (JSON) ↗text/plain; charset=utf-8 · 0 KB
Proof 1 · Screenshot ↗image/png · 150 KB
Proof 2 · Screenshot ↗image/png · 157 KB
Proof 3 · Screenshot ↗image/png · 185 KB
File fingerprints (SHA-256)

A fingerprint identifies the exact file used for this result.

Input · Document (PDF)fdcf03ac5ee53b083da58166f17fd41e7c72de79a9f3a3f6b67daa1360ddbca9
Output file (JSON)a9e5031904e2089022c315be9185cc6ef56f735a1d87964682019664d0b2a702
Proof 1 · Screenshotad1cc764c9803655cac9fca824edf6c9c519288e4c0d7ed4a455e2882cba4111
Proof 2 · Screenshot906c3b4639d64457fd9fe07d1035c6cc22237f8e82f82c55d6767cf424aede76
Proof 3 · Screenshot98b67dbd94e56062039ddf4fbd180f35be332ce5092f241cc64922e116b1ef1a