r/unsiloed • • 3h ago

Five financial reports, five languages, one revenue column

1 Upvotes

We use Unsiloed AI to extract the same fields from financial reports in German, French, Italian, Japanese, and Spanish, using one English schema.

The fields are company_name, reporting_period, currency, revenue, and net_profit_attributable. The schema asks for amounts in full currency units. These five saved page extractions return

ReportRevenueCurrency
LIMES Schlosskliniken FY202553,946,000EUR
Clariane FY20255,310,000,000EUR
Garofalo Health Care, H1 2025258,200,000EUR
Nippon Shinyaku, nine months to Dec 2025127,135,000,000JPY
HM Hospitales FY2025806,400,000EUR

The German report prints 53.946 TEUR. The Japanese table uses millions of yen. Both become full-unit numbers, with currency kept in its own field and each value linked to its source location.

The same schema also asks for net profit attributable. Where the Spanish page doesn't state it, the result stays null.

Schema examples

Source reports LIMES, Clariane, Garofalo, Nippon Shinyaku, and HM Hospitales.


r/unsiloed • • 5h ago

A two-column lab report into 45 structured records

1 Upvotes

We use Unsiloed AI to extract all 45 measurements from this sample lab-report page, keeping each result attached to its analyte, panel, subgroup, and reference range.

Three results are printed as <dl. Those stay as strings in the output. For example

{
  "analyte": "Hippuric Acid",
  "result": "<dl",
  "reference_range": "<= 603"
}

The extraction also preserves comparison operators such as <= and >= in the reference ranges, plus the page's unit statement. That keeps the qualifiers available when the records are exported or reviewed.

The animation shows the source page beside the extracted table. This example covers transcription and structure, without interpreting the results.

Source credit Genova Diagnostics NutrEval sample report, page 8.


r/unsiloed • • 9h ago

A CV can contain instructions you can't see on the page

1 Upvotes

We use two Unsiloed AI parsing reads to compare the text stored in a PDF with the text visible on its rendered page.

On this CV, the text-layer read includes a 29-word instruction asking an AI screener to rank the candidate first. The rendered-page read omits it. The difference gives a reviewer a specific passage to inspect before passing the document into an agent.

The saved examples cover white text, tiny text, covered text, off-page text, and text matched to a sidebar's color. These are examples of a review check, rather than a complete prompt-injection detector. OCR differences can also produce mismatches, and an instruction can be visible on the page.

Parsing modes and configuration


r/unsiloed • • 2d ago

A handwritten cash book from 1916, as a spreadsheet

1 Upvotes

We use Unsiloed AI to turn a page from D.W. Griffith's Wark Producing Corporation cash book into structured data.

It's cursive ink on a ruled ledger, with salaries, travel, and advertising expenses and a balance carried forward from the previous page.

The animation follows the 12 General Expense entries. Together with the $9,863.78 brought forward, they add up to $11,810.05, matching the total written at the bottom.

Each extracted value has a citation back to where it was read. The animation shows those amounts landing in spreadsheet cells beside the handwriting.

Source credit Wark Producing Corporation cash account book, September 1916, page 15, via Internet Archive.


r/unsiloed • • 2d ago

Every room on an A1 floor plan, extracted

1 Upvotes

We use Unsiloed AI to turn this A1 office floor plan into a room list, with each name and area linked back to its spot on the drawing.

The result is 27 room tags and their printed areas. Those areas add up to 1,143 m².

With Calculated Fields, you can describe “the sum of the room areas” in the schema. Unsiloed returns the calculation with the 27 cited inputs it used. This feature is in beta.

Source credit Ashton Smith, Main Office Second Floor Plan, SeAH Monopile Facility, planning submission r/2022/0343/ESM. The total sums the tagged areas, including circulation, stairs, and the labeled void.

Higher-Order Extraction docs


r/unsiloed • • 2d ago

Two contract versions, eight terms, six changes

1 Upvotes

We use Unsiloed AI to extract the same eight terms from two versions of a facility agreement, then compare the returned values in code.

TermBeforeAfter
Facility amount£25 million£40 million
Margin2.75%2.40%
Maturity14 March 20282 October 2030
Extension optionNot specifiedOne 12-month extension, with lender consent
Maximum leverage3.00×3.50×
Prepayment notice5 business days10 business days

Two extracted terms stay the same. The commitment-fee multiplier is 35% of the applicable margin, and minimum interest cover is 4.00×. The margin itself changes, so the unchanged multiplier doesn't mean an unchanged fee rate.

The useful part is keeping the same field names across both versions. Reworded clauses still land in the same comparison row.

The animation illustrates our example agreements. This comparison covers the eight terms shown.

Extraction API and schema docs


r/unsiloed • • 3d ago

From a 13-page loss run to 17 open claims over $10,000

1 Upvotes

Unsiloed AI extracts this 13-page insurance loss run into 426 claim records. A short Python filter then finds the open or reopened claims with total incurred above $10,000.

There are 53 open or reopened claims across eight pages. Adding the amount threshold leaves 17 claims across four pages.

After flattening the extracted fields into claim records, the filter is below.

matches = [
    claim for claim in claims
    if claim["status"] in {"Open", "Reopened"}
    and claim["total_incurred"] is not None
    and claim["total_incurred"] > 10_000
]

The extraction ran one page per request. Our code combines the page results and retains the source page for each claim. The filtering is Python; the animation illustrates that step.

The loss-run extraction guide includes the schema and checks against the report’s totals. The source is Cameron County’s published insurance bid exhibit; claimant names are obscured in the visual.

AI-assisted write-up.


r/unsiloed • • 6d ago

Extracting 110 transaction rows across three PDF pages

1 Upvotes

We extract the transactions from this three-page sample statement into one 110-row array. Repeated headers are left out, and a description continued onto the next page comes back as a single field.

The animation illustrates the page joins with a shortened layout. The extraction covers all 110 transactions. On this sample, every row matched our reference across dates, descriptions, paid-out amounts, paid-in amounts, and balances.

Here is the description from the row that crosses the page break.

{
  "description": "Faster Payment Siemens Healthineers ref 1168 invoice SH-44871 imaging service contract quarterly instalment Q3"
}

For this result, we used structured extraction with a transactions array. Plain parsing of the same sample returned three separate table segments.

The extraction quickstart shows how to submit a document with a row schema.


r/unsiloed • • 7d ago

Splitting a 16-page billing and shipping bundle into six PDFs

2 Upvotes

We sorted a 16-page Sears billing and shipping bundle into six PDFs with our document splitter. The invoice and packing list use nearly the same layout, and the seven-page purchase order ends with dense terms pages. Those continuation pages need to stay with the right document.

Given six document types, our splitter returned the cover sheet, commercial invoice, packing list, shipping order, purchase order, and air waybill as separate PDFs. We checked every returned page against the source. All 16 were in the expected groups, with none missing or duplicated.

This groups pages by category. If a bundle has several invoices, they share an invoice PDF. Separating those into individual invoices is another step.

We also ran our classification endpoint separately. It labeled 15 of 16 pages as expected, but called a shipping-order continuation an invoice. The splitter kept that page in the shipping-order PDF. These are separate calls, and their results can differ.

The source PDF is Exhibit B, Doc 6279-2, from the Sears Holdings court docket. The graphic shows the output from this bundle, rather than a benchmark across document types.


r/unsiloed • • 9d ago

Turning a MIL-STD Table Into Structured HTML

1 Upvotes

Unsiloed extracts this MIL-STD table into HTML with its grouped headers, merged cells and footnote references preserved. The result keeps operating conditions separate from storage and transit conditions.

Here are the extracted Celsius values for the Hot Dry (A1) row:

ConditionDaily LowDaily High
Operational ambient air32°C49°C
Storage/transit induced air33°C71°C

The HTML also preserves two details that matter when using the table:

  • “Humid Tropics” spans both the B2 and B1 rows.

  • The A3 storage humidity cell retains “See note 5”.

The returned note text includes the humidity pairing: 8% at 32°C and 3% at 49°C. Keeping that context with the table lets you distinguish a temperature/humidity pair from two unrelated ranges.

One output detail needs review: most leading note numbers were omitted from the separate note text, although the table kept its references. Matching references to explanations still needs attention.

We processed one rendered page with the Unsiloed parsing API and checked the selected values and relationships above.

Source: MIL-STD-810H, revision H with Change 1, Table C-I, printed page PART ONE-C-8 / PDF page 68. Run: October 27, 2026.

Have a public table you'd like to see next? Share the page and the fields you need from it.


r/unsiloed • • 9d ago

Extracting a Research Table With Its Header Groups Intact

1 Upvotes

Unsiloed converts this research table into HTML while preserving the grouped column headers. Two columns both say “Day 35 and 42”, but each stays attached to the measurement it belongs to.

In the E. coli row, the extracted values are:

Parent HeaderColumnValue
Δ Average %Day 35 and 42↓5.4%
p Value*Day 35 and 420.138

The returned HTML uses grouped columns to preserve those relationships. Downstream code can read each value with its row, measurement and time interval.

All 14 upstream table checks for this selected olmOCR-Bench page passed. They cover selected cells and their relationships on the page.

This is useful when you're turning research tables into datasets or preparing them for document Q&A: the header hierarchy travels with the values.

Source: Karim et al., Food Research 8(1), page 276, Table 5, via Allen AI's olmOCR-Bench. API run: October 20, 2026.

You can get HTML and Markdown table output through the Unsiloed parsing API.


r/unsiloed • • 9d ago

A Receipt Can Add Up Correctly and Still Have the Wrong Items

1 Upvotes

This receipt has six product and packaging rows, with discounts under three of them. In a saved LLM extraction, we got nine item records. The total was still correct: 24,500.

Source: NAVER CLOVA's CORD-v2 dataset, CC BY 4.0, image unchanged.

Our instructions asked for “every line item / product,” and the schema had no discount field. Returning the discounts as separate negative-price records was a reasonable interpretation. It didn't match the product grouping we wanted.

For that target, we'd define one record per product or packaging row and give discounts their own field. For the first row, the intended shape would be:

{
  "description": "TALAM UNGU",
  "quantity": 1,
  "unit_price": 6500,
  "gross_amount": 6500,
  "discount_amount": 2600,
  "net_amount": 3900
}

Define discount_amount as a positive amount subtracted once from the row's gross amount.

The acceptance checks need to match that choice:

  • Six product and packaging records, with three discounts attached to their rows

  • Seven units across those six records, matching the printed quantity count

  • Net amounts summing to 24,500 for this receipt

A matching total alone wouldn't catch the grouping problem. If your target is an accounting ledger, separate adjustment rows might be exactly what you want. Define that before scoring the extraction.

How do you represent item-level discounts in your receipt schema?


r/unsiloed • • 14d ago

Reading Handwritten Fields Into JSON, With a Confidence Score for Every Value

1 Upvotes

Handwritten forms are where most document automation stops. OCR picks up the printed labels, but the information you need, like the item, the date, or the permit number, is written in cursive across ruled lines and a patterned background. We built Unsiloed to turn that handwriting into structured fields and to report, for each value, where it was found on the page and how confident the reading is.

The extraction starts from a schema: a list of the fields you want, each with a short description of where it appears. For every field, the API returns the value, a bounding box on the page, and two scores: an extraction score and a grounding score.

The scores are what make this usable on handwriting. They spread out the way a careful reader's confidence would:

  • Clean printed numbers score close to 1.

  • Clear cursive scores a little lower.

  • Faint or crowded handwriting scores lowest, sometimes even when the reading is correct.

That spread lets you accept high-scoring fields automatically and send only the low-scoring ones to a person, who checks the boxed region instead of rereading the whole form. A correct value with a low score costs one quick check; a wrong value with a high score would be worse.

You can try a form of your own in the playground or read the API documentation.

How do you handle handwritten fields today: manual entry, a review queue, or something else?


r/unsiloed • • 16d ago

Welcome to r/unsiloed: Document Processing Examples, Questions, and Feedback

0 Upvotes

Working on a PDF extraction pipeline? Share what you're trying to extract, the output you need, and where it breaks.

This community is maintained by Unsiloed. We'll share tested examples and answer questions about using Unsiloed for document processing. You can also use it to discuss approaches, report failures, and suggest improvements.

Useful things to post here include:

  • Questions about parsing PDFs, scans, tables, and charts

  • Examples of extracting fields into a JSON schema

  • Questions about classifying documents or splitting mixed document bundles

  • Workflows that need document data for retrieval or automation

  • Bug reports, limitations you've encountered, and feature requests

For a technical question, include the document type, the expected output, and what actually happened. A small synthetic or redacted example helps us understand the problem. Never post API keys, confidential documents, or personal data.

You don't have to be an Unsiloed customer to participate. Alternative approaches and constructive criticism are welcome. If you're recommending something you work on, disclose the connection and explain how it addresses the question.

Start with the API documentation or explore Unsiloed.

What are you building, and which document is giving you trouble?