← Back to Blog
Comparisons

Unsiloed AI vs Snowflake Document Extraction: Why Accuracy Beats Native Convenience

Snowflake makes it convenient to extract structured data from documents, but convenience does not catch silently missing totals or incorrect digits. We tested Snowflake's document extractor against Unsiloed. Both handled clean files, but Unsiloed stayed complete on complex tables and scored 100% on a degraded scan where Snowflake scored 82%.

Aman Mishra
6 min read
Unsiloed AI vs Snowflake Document Extraction: Why Accuracy Beats Native Convenience

Snowflake makes document extraction convenient: point SQL at a staged PDF, provide a schema, and get structured fields back. Its document extraction function handles the processing inside Snowflake. But it's not always the most accurate.

We tested Snowflake's extractor and Unsiloed on the same documents with equivalent schemas. Both tools handled clean, born-digital files. The difference appeared when the documents became complex or degraded: Snowflake omitted sections without warning and scored 82.1% on a financial table scan. Unsiloed returned the complete complex tables and scored 100% on the scan.

If document data feeds reconciliations, financial analysis, or production workflows, use Unsiloed. You can also call it from inside Snowflake, so switching extractors doesn't mean rebuilding your data platform.

The results at a glance:

Test Snowflake document extraction Unsiloed
Eleven vendor invoices and a modern earnings summary ✓ All tested values correct ✓ All tested values correct
Complex consolidated balance sheet ✗ Omitted a subsection and the grand total ✓ Returned the complete table
Grouped long/short fund schedule ✗ Omitted two sector subtotals ✓ Returned the complete table
Degraded 1917 financial table (84 numeric cells) ✗ 69 correct (82.1%) ✓ 84 correct (100%)
Measured extraction charge per page ✗ 1.62¢ before warehouse compute ✓ 1.2¢ (at least 26% lower)

Unsiloed also returns per-field confidence and citations and can run from within your Snowflake workflow. The lower bill is a bonus. Across seven matched benchmark calls, Snowflake's AI charge averaged 1.62¢ per page before warehouse compute. Unsiloed's Standard rate is 1.2¢ per page, at least 26% lower. Switching extractors can reduce Snowflake AI credit usage while improving accuracy.

How We Compared the Extractors

We gave both tools the same documents and equivalent schemas. Snowflake expects repeated rows in a columnar schema, while Unsiloed accepts an array of objects, so we adapted the schema shape for each tool without changing the fields.

We also avoided using another model to judge the results. For the hardest table, the printed subtotals establish the ground truth: the rows must add up. That makes a wrong digit provably wrong, not a matter of model preference.

Clean, Born-Digital Documents: No Accuracy Tradeoff

First, we tested eleven real vendor invoices from AWS, Azure, Coolblue, Flipkart, and others. The AWS invoice below is representative of these clean, consistently structured documents.

AWS invoice with the invoice number, total amount, and service charge summary
visible

Both extractors returned the correct invoice number and $4.11 total from this AWS invoice.

To test a modern financial table, we also used the "Fiscal 2026 Summary" from an NVIDIA quarterly press release.

NVIDIA Fiscal 2026 Summary table with GAAP and non-GAAP
results

Snowflake and Unsiloed agreed on all seven figures selected from this earnings summary.

Both tools returned identical, correct values on every field. On the NVIDIA summary, the two extractors agreed on all seven distinctive figures with zero disagreements. The only differences anywhere were cosmetic: Snowflake returns amounts with the currency symbol and locale formatting ($4.11, € 717,97), while Unsiloed returns clean numerics.

There is no accuracy penalty for choosing Unsiloed on clean files. The question is what happens when a less cooperative document enters the same pipeline.

Complex Tables: Snowflake Silently Drops Data

Clean doesn't mean simple. We gave both tools a consolidated balance sheet: born-digital and high-resolution, but dense with nested line items, subtotals, and grouped sections.

Berkshire Hathaway consolidated balance sheet with Insurance and Other and
Railroad, Utilities and Energy
sections

Snowflake omitted the Railroad, Utilities & Energy subsection and the $1,069,978 million grand total; Unsiloed returned both.

Both tools read their returned values correctly, but Snowflake's extractor did not return the whole table. Unsiloed returned every Snowflake result plus the "Railroad, Utilities & Energy" subsection and the grand total that Snowflake omitted. There was no error or low-confidence flag. The result simply looked complete.

We repeated the test with a long/short fund schedule containing grouped positions and sector subtotals.

Long-short fund schedule showing Industrials, Information Technology, and
Other sector groups with
subtotals

The grouped hierarchy matters here: subtotals turn individual option positions into usable sector-level data.

Snowflake quietly dropped two sector subtotals that Unsiloed kept.

That is a dangerous failure mode for automated workflows. A malformed response can trigger an error handler. A plausible but incomplete table can pass into a query, reconciliation, or report unnoticed.

Degraded Scans: Unsiloed Scores 100%

For the hardest test, we used page 129 of Moody's Analyses of Railroad Investments (1917). The Atchison, Topeka & Santa Fe "Comparative Income Account" contains 84 numeric cells: six years of figures across fourteen line items, printed in small type on yellowed paper.

Comparative Income Account table from a degraded 1917 Atchison, Topeka and
Santa Fe railroad scan

This crop contains the 84 cells used for the digit-exact accuracy test.

The table's arithmetic verifies the values. Net operating revenue equals gross revenue minus the three expense lines, the balance equals surplus minus dividends and appropriations, and the other subtotals follow the same pattern.

Tool Digit-exact cells Accuracy
Unsiloed /v2/extract 84 / 84 100%
Snowflake document extraction 69 / 84 82.1%

Snowflake's extractor made fifteen quiet, plausible errors. Three examples can be checked against the surrounding column:

  • Balance, 1913 returned 47,831. The column requires 471,831 (surplus 22,153,735 minus dividends 16,107,470 minus appropriations 5,574,434).
  • Surplus over charges, 1913 returned 22,158,733. Must be 22,153,735 (balance for charges 37,107,189 minus fixed charges 14,953,454).
  • Fixed charges, 1912 returned 16,182,490. Must be 15,182,430 (balance for charges 34,842,671 minus surplus 19,660,241).

Unsiloed got all fifteen of those cells right. It also returns a confidence score and citation for each field, giving reviewers the source location when a value needs inspection. Confidence is useful, but correct extraction leaves less to review in the first place.

Keep Snowflake and Switch the Extractor

Unsiloed fits into the Snowflake architecture you already have. A Python UDF over an External Access Integration extracts staged documents in SQL, returning per-field confidence scores and citations, with the API key held in a Snowflake-managed secret. A Snowflake Cortex Agent can then run that same UDF through Snowflake's Managed MCP server, so you extract staged documents in natural language from Snowflake CoWork while Snowflake keeps governing access. See how to use Unsiloed inside Snowflake.

Use Unsiloed as the Production Default

Snowflake's built-in extractor is reasonable for a prototype with uniformly clean PDFs and low-cost errors. That is a narrow case. Production document collections accumulate scans, faxes, dense tables, and layout variations, and you often don't know which file is difficult until extraction fails.

Routing only the "hard" documents to a specialist also requires you to detect them reliably. The complex balance sheet shows why that is risky: Snowflake returned a plausible result without signaling that sections were missing.

Use Unsiloed as the default extractor for production workflows. It matches Snowflake on clean documents, preserves more data in complex tables, and remains accurate on degraded scans. Native convenience saves one integration; higher accuracy protects every row that follows.

Continue reading