Skip to main content
After processing a document — whether through the API or the web UI — Vantage returns structured data containing extracted field values, confidence scores, and verification flags. This page explains how to read that output.

Result structure at a glance

Every result follows the same hierarchy:
ExtractedDataTransaction
├── SkillName, SkillId
├── Documents[]
│   ├── ExtractedData
│   │   ├── DocumentDefinition    ← field schema (what can be extracted)
│   │   └── RootObject            ← field values (what was extracted)
│   │       └── Fields[]
│   │           ├── Name
│   │           └── List[]
│   │               ├── Value
│   │               ├── Annotation (Confidence, RawValue, ...)
│   │               ├── NeedVerification
│   │               └── isVerified
│   └── ClassificationResult      ← document type (if classification was applied)
└── SourceFiles[]
For most use cases, you only need to navigate to Documents[0].ExtractedData.RootObject.Fields to access the extracted values.

Reading extracted fields

Here is a simplified example from an invoice processed with the ABBYY Invoice skill:
{
  "SkillName": "ABBYY Invoice",
  "SkillId": "a1b2c3d4-...",
  "Documents": [
    {
      "ExtractedData": {
        "RootObject": {
          "Fields": [
            {
              "Name": "InvoiceNumber",
              "List": [
                {
                  "Value": "INV-2024-0042",
                  "Annotation": {
                    "Confidence": 97,
                    "RawValue": "INV-2024-0042",
                    "Source": "Text"
                  },
                  "NeedVerification": false,
                  "isVerified": false
                }
              ]
            },
            {
              "Name": "InvoiceDate",
              "List": [
                {
                  "Value": "2024-03-15",
                  "Annotation": {
                    "Confidence": 94,
                    "RawValue": "March 15, 2024",
                    "Source": "Text"
                  },
                  "NeedVerification": false,
                  "isVerified": false
                }
              ]
            },
            {
              "Name": "TotalAmount",
              "List": [
                {
                  "Value": "1,250.00",
                  "Annotation": {
                    "Confidence": 62,
                    "RawValue": "1.250,00",
                    "Source": "Image"
                  },
                  "NeedVerification": true,
                  "isVerified": false
                }
              ]
            }
          ]
        }
      }
    }
  ]
}
Each field contains:
PropertyWhat it means
NameThe field name defined by the skill (e.g., “InvoiceNumber”, “VendorName”)
ValueThe extracted value after normalization — dates become ISO format, numbers get standardized
Annotation.ConfidenceAn integer from 0 to 100 indicating how certain Vantage is about the extraction
Annotation.RawValueThe original text as recognized by OCR, before any normalization
Annotation.SourceWhether the value came from the document’s Text layer or was read from the Image
NeedVerificationtrue if the field was flagged for human review (e.g., low confidence or failed a validation rule)
isVerifiedtrue if a human operator has already confirmed the value in Manual Review
Notice how TotalAmount above has Confidence: 62 and NeedVerification: true. The raw value 1.250,00 (European format) was normalized to 1,250.00, but the low confidence suggests Vantage wasn’t fully certain about the OCR result. This is exactly the kind of field a human reviewer would check.

Table fields (line items)

Skills that extract tables — like invoice line items — represent them as fields containing repeating groups. Each row appears as an ExtractedObject within the field’s List array, with its own sub-fields:
{
  "Name": "LineItems",
  "List": [
    {
      "Fields": [
        { "Name": "Description", "List": [{ "Value": "Consulting services", ... }] },
        { "Name": "Quantity",    "List": [{ "Value": "10", ... }] },
        { "Name": "UnitPrice",   "List": [{ "Value": "100.00", ... }] },
        { "Name": "Amount",      "List": [{ "Value": "1,000.00", ... }] }
      ]
    },
    {
      "Fields": [
        { "Name": "Description", "List": [{ "Value": "Travel expenses", ... }] },
        { "Name": "Quantity",    "List": [{ "Value": "1", ... }] },
        { "Name": "UnitPrice",   "List": [{ "Value": "250.00", ... }] },
        { "Name": "Amount",      "List": [{ "Value": "250.00", ... }] }
      ]
    }
  ]
}
Each row has the same field structure, making it straightforward to iterate in code.

Confidence scores in practice

Confidence scores reflect how certain Vantage is about an extracted value. Several factors affect confidence:
  • Document quality — blurry scans, low-resolution images, or handwritten text produce lower scores
  • Layout complexity — unusual table layouts or overlapping fields can reduce accuracy
  • Training data match — values that closely match patterns the skill was trained on score higher
How to use confidence programmatically:
  • High confidence (90–100) — accept the value automatically
  • Medium confidence (70–89) — accept with caution, or route to review for critical fields
  • Low confidence (below 70) — route to Manual Review for human verification
Fields with NeedVerification: true have already been flagged by Vantage based on confidence thresholds and validation rules configured in the skill.

Common field names by skill

Each skill defines its own set of field names. Here are the most common fields for frequently used skills:
SkillKey fields
InvoiceInvoiceNumber, InvoiceDate, VendorName, TotalAmount, TaxAmount, LineItems
ReceiptReceiptNumber, Date, VendorName, Total, Tax, PaymentMethod, LineItems
Purchase OrderPONumber, OrderDate, BuyerName, SupplierName, TotalAmount, LineItems
ID DocumentFirstName, LastName, DateOfBirth, DocumentNumber, ExpirationDate, Nationality
These are the most common fields. Each skill may include additional fields. Browse the Skill Catalog to see the full field list for any skill.

Next steps

Full JSON schema

Complete reference for all objects and properties in the JSON output.

XML output

Alternative output format with the same extracted data in XML structure.

Manual Review

Configure human-in-the-loop verification for extracted fields.

What to Learn Next

Choose your path through the Vantage documentation based on your goals.