Invoices OCR API

Send any invoice, get structured JSON — line items, vendor, tax, totals, line items, scores & bounding boxes. Veryfi also flags the copies that were altered, duplicated, or never really paid, so AP and procure-to-pay run on bills you can post.

Get Started for Free Free Demo
Invoices OCR API

POST /api/v8/partner/documents · Live

Invoice in. JSON out.

Veryfi’s Invoice OCR API reads a supplier invoice and returns the vendor, invoice number, line items, tax, and total as JSON via POST /api/v8/partner/documents. Accounts payable, bill pay, and three-way match use that payload instead of keying each bill by hand. See supported invoice fields and the Process a Document docs.

0 fields snapping into JSON

What is an invoice?

An invoice is the supplier’s bill for goods or services. It names the vendor, invoice number, invoice date, due date, line items, tax, and the amount due.

Accounts payable matches those fields to a purchase order, posts the bill, and schedules payment. The API above returns that same bill as JSON.

Did you know

The oldest name in writing is not a king. It is Kushim, a warehouse clerk in Uruk, who around 3200 BC signed a clay tablet for 28,086 measures of barley — about 135,000 liters — over 37 months. The earliest writing we still have is the bill.

Unlock a Wealth of Data in Invoices

What is Invoices OCR API?
Invoices OCR API is an API (Application Programming Interface) that turns your invoice into data in seconds using AI. You can send invoices to the API in any format (pdf, image, etc) and receive the response in a structured (key/value) JSON irrespective of invoice structure, geography or language. Veryfi’s AI runs proprietary foundational models trained on hundreds of millions of invoices so it can understand all possible data (see supported fields) on your invoice and even those pesky taxes and handwriting in various geographies.

What is Invoices OCR?
Invoices OCR (optical character recognition or optical character reader) is the electronic or mechanical conversion of invoice images, invoice paper, and handwritten or printed text into machine-encoded text using software. This work traditionally required manual human labor but that was inefficient and ripe for mistakes. Veryfi Invoices OCR API will also return the OCR text in every JSON response for you to further customize the application of this data in your application for various purposes like automating bill pay with level 3 data, 2/3 way matching in AP, fraud detection, inventory management and more.

Let’s Veryfi It

Interactive sample for service illustration. Test drive Veryfi — 14-day free trial, or speak to a Veryfi Expert.

United Airlines
Fly the Friendly Skies
united.com · E-ticket receipt
INV-UA-55218 14 Sep 2026
Booking UA7N4P
SFOSan Francisco
UA 87014h 50m · Non-stop
SYDSydney
Passenger
Bart Simpson
Cabin
Economy Flex
Date of issue
2 Sep 2026
Depart
22:40, 14 Sep
Arrive
06:30+1, 16 Sep
Paid via
Visa ••4418
DescriptionAmount (USD)
Airfare — UA870 Economy SFO–SYD Adult fare, Economy Flex 1,249.00
Taxes, fees & carrier charges US / AU government & airport charges 186.40
Extra checked bag (23kg) Prepaid at united.com 189.00 +$100
Subtotal
1,624.40
Total paid
1,624.40 +$100

Altered copy of the receipt issued at united.com. Baggage and total inflated by $100.00.

United Airlines
Fly the Friendly Skies
united.com · E-ticket receipt
INV-UA-55218 14 Sep 2026
Booking UA7N4P
SFOSan Francisco
UA 87014h 50m · Non-stop
SYDSydney
Passenger
Bart Simpson
Cabin
Economy Flex
Date of issue
2 Sep 2026
Depart
22:40, 14 Sep
Arrive
06:30+1, 16 Sep
Paid via
Visa ••4418
DescriptionAmount (USD)
Airfare — UA870 Economy SFO–SYD Adult fare, Economy Flex 1,249.00
Taxes, fees & carrier charges US / AU government & airport charges 186.40
Extra checked bag (23kg) Prepaid at united.com 89.00 +$100
Subtotal
1,524.40
Total paid
1,524.40 +$100

Paid in full on 2 Sep 2026 via united.com. This is the original receipt.

Request: Invoice Data Extraction
import requests
url = "https://api.veryfi.com/api/v8/partner/documents"
headers = {
'CLIENT-ID': '<API_KEY_VALUE>',
'AUTHORIZATION': 'apikey <USERNAME_VALUE>:<API_KEY_VALUE>'
}
payload = {'file_url': 'https://cdn...'}
response = requests.post(url, headers=headers, data=payload)
print(response.json())
Response: Structured JSON
{
"vendor": {
"name": "Rumpke Waste & Recycling",
"address": "3800 Struble Road, Cincinnati, Ohio 45251, United States",
"phone_number": "(800) 828-8171"
},
"bill_to": {
"name": "JOHN DOE",
"address": "1234 CUSTOMER AVE\nCLEVELAND OH 44114"
},
"invoice_number": "0998811",
"date": "2023-03-28 00:00:00",
"due_date": "2023-04-28",
"line_items": [
{
"description": "2YD FL/MONTH-MSW",
"quantity": 1,
"price": 116.32,
"total": 116.32
}
],
"subtotal": 306.27,
"tax": 23.47,
"total": 329.74,
"currency_code": "USD"
}
Support for over 150 fields 🤟

Developer Friendly API

The only API you will ever need to accurately extract key/value data in a standardized format you can trust across any geography, language, or format — enabling seamless international business expansion without lifting a finger.

Day-1 Ready Pre-Trained Invoices AI Model
SDKs & code samples in Python, Node.js, PHP, C#, Java, Go and more
Detailed API Docs + FAQs that make sense
Human support from experts at HQ in Silicon Valley

No bullshit. No months of training. No "contact sales" gatekeeping. Start impressing your customers today.

Fight Invoice Fraud

Fight Invoice Fraud!

STOP the $12.5 billion fraud epidemic from devastating your AP operations – with fraud losses skyrocketing 25% in 2024 and 89% of AP teams already targeted by scam invoices, Veryfis Fraud Detection obliterates phantom vendors, intercepts payment redirections, and eliminates duplicate schemes before they steal hundreds of thousands from your bottom line.

Deploy Veryfis Fraud Detective and transform your vulnerable accounts payable into an impenetrable AI-powered fortress that saves money, accelerates legitimate payments, and preserves critical vendor relationships.

Multi-Modal Powerhouse: Veryfi APIs

Multi-Modal Powerhouse
  • Stage 1: Image Intelligence

    ○ Blur Detection
    ○ Image Quality Analysis
    ○ Document/Non-Document Classification
    ○ Auto De-skewing
    ○ Smart Cropping
    ○ Linearization
    ○ Product Image Detection

  • Stage 2: Content Detection

    ○ Logo Detection
    ○ Logo Classification
    ○ Barcode/QR Detection
    ○ Barcode Transcription
    ○ Bleed-through Removal
    ○ Map Detection

  • Stage 3: Advanced Text Processing

    ○ Multi-Language OCR
    ○ Handwriting Detection
    ○ Handwriting OCR
    ○ Text Confidence Scoring
    ○ Character Enhancement

  • Stage 4: Document Intelligence

    ○ Data Extraction Engine
    ○ Document Classification
    ○ Product Intelligence
    ○ Line Item Analysis
    ○ Tax Calculation
    ○ Currency Detection

  • Stage 5: Fraud & Quality Assurance

    ○ AI-Generated Image Detection
    ○ LCD Screen Detection
    ○ Screenshot Detection
    ○ Digital Tampering Analysis
    ○ Velocity Fraud Check
    ○ PDF Layer Analysis
    ○ Duplicate Detection

  • Stage 6: YOU WINNING

    ○ Happy Customers
    ○ Faster Time to Market
    ○ Reduced Development Costs
    ○ Enterprise-Grade Accuracy
    ○ Global Scalability
    ○ Zero Maintenance
    ○ Competitive Advantage

Supported Fields

Invoices extracted as JSON from POST /api/v8/partner/documents, including the supplier, line items, tax, and payment.

  • Vendor/Merchant
    • Name
      vendor.name
      The supplier name is the company that issued the invoice. Accounts payable matches this string to a vendor record.What it is
      • The cleaned business name, not the all-caps line as printed
      • Who issued the invoice
      Where to find it
      • At the top of the invoice, usually above the address
      • On the Whole Foods sample: Whole Foods Market
      Read it with
      • Raw Name, the printed line before cleanup
      • Store Number, when several locations share the brand
      Whole Foods Market
    • Raw Name
      vendor.raw_name
      Raw name is the supplier line as the OCR read it, before Veryfi normalizes spelling and case.What it is
      • Keeps the printed capitalization and punctuation
      • Useful when the cleaned name and the printed line disagree
      Where to find it
      • The first supplier line on the invoice
      • On the Whole Foods sample: WHOLE FOODS MARKET
      Read it with
      • Name, the normalized merchant
      • Logo name, the brand key used to match a logo
      WHOLE FOODS MARKET
    • Address
      vendor.address
      The vendor address is the supplier location printed on the invoice. It separates two branches of the same company.What it is
      • Street, city, region, and postal code as one string
      • The seller's address, not the buyer's billing address
      Where to find it
      • Under the merchant name
      • On the Whole Foods sample: 210 S B St, San Mateo, CA 94401
      Read it with
      • Raw Address, the line before parsing
      • Latitude and Longitude, filled from that address
      210 S B St, San Mateo, CA 94401
    • Raw Address
      vendor.raw_address
      Raw address is the location line as printed, before it is parsed into street, city, and postcode.What it is
      • Preserves the invoice's own line breaks and case
      • The source string behind vendor.address
      Where to find it
      • Directly under the supplier name
      • On this sample the printed line is the all-caps form of the San Mateo address
      Read it with
      • Address, the cleaned location
      210 S B ST, SAN MATEO, CA 94401
    • Logo
      vendor.logo
      Logo is a URL for the supplier mark Veryfi matched to the invoice. It is not text read off the page.What it is
      • An image URL for the brand
      • Filled when the invoice layout matches a known supplier
      Where it lives
      • Not a line of text on the invoice
      • The Whole Foods sample matches the Whole Foods Market logo
      Read it with
      • Logo name, the brand key for that image
      • Name, the words on the invoice
      https://cdn.veryfi.com/.../logo.png
    • Phone
      vendor.phone_number
      The supplier phone number printed on the invoice. Support and remittance both use it.What it is
      • The supplier's phone, not the buyer's
      • Kept as printed, including punctuation
      Where to find it
      • In the header or footer of the invoice
      • On the Whole Foods sample: (650) 358-9600
      Read it with
      • Address, to confirm which supplier location
      • Fax, a separate number when the invoice prints one
      (650) 358-9600
    • Fax
      vendor.fax_number
      Fax is the supplier fax number when the document prints one. The Whole Foods sample does not.What it is
      • A phone line labeled Fax
      • Separate from the supplier voice number
      Where to find it
      • Header or footer, labeled Fax
      • The sample value is a reserved 555 number, because this sample invoice has no fax
      Read it with
      • Phone, the voice number on the same header
      (650) 555-0148
    • Email
      vendor.email
      Vendor email is the supplier address printed on the document. A retail receipt often leaves it blank. Supplier invoices usually print it.What it is
      • The seller's email, not the buyer's
      • Common on supplier invoices and emailed bills
      Where to find it
      • Header, footer, or a contact block
      • The Whole Foods sample has no email, so the example uses example.com
      Read it with
      • Website, the merchant URL
      • Phone
      store10418@example.com
    • Latitude
      vendor.lat
      Latitude is the supplier's north-south coordinate. Veryfi fills it from the address, not from a GPS line on the invoice.What it is
      • A decimal degree for the supplier location
      • Paired with longitude
      Where it lives
      • Not printed on the invoice
      • Whole Foods San Mateo resolves to 37.56630
      Read it with
      • Longitude
      • Address
      37.56630
    • Longitude
      vendor.lng
      Longitude is the supplier's east-west coordinate, enriched from the vendor address.What it is
      • A decimal degree. West of Greenwich is negative
      • Paired with latitude
      Where it lives
      • Not printed on the invoice
      • The San Mateo address resolves to -122.32390
      Read it with
      • Latitude
      • Address
      -122.32390
    • Website Url
      vendor.web
      The supplier website printed on the invoice, or the site Veryfi associates with that vendor.What it is
      • A URL, not the supplier's street address
      • Used to confirm the brand
      Where to find it
      • Footer of the invoice when the supplier prints it
      • The Whole Foods sample uses wholefoodsmarket.com
      Read it with
      • Name
      • Email
      https://www.wholefoodsmarket.com
    • Logo
      vendor.logo_name
      This second logo value is the brand key Veryfi matched, not the image file. The response calls it logo name.What it is
      • A short slug such as wholefoodsmarket
      • How the logo image was chosen
      Where it lives
      • Not printed as a word on the invoice
      • The Whole Foods sample key is wholefoodsmarket
      Read it with
      • Logo, the image URL for that key
      • Name, the words on the invoice
      wholefoodsmarket
    • Vendor Category
      vendor.type
      Vendor category is the supplier type Veryfi assigns, such as grocery, restaurant, or fuel. The current key is vendor.type. vendor.category is the deprecated alias and still matches this sample.What it is
      • A classification of the seller, not of one product
      • On this sample: Grocery Stores
      Where it lives
      • Not a heading printed on the invoice
      • Derived from the merchant and the items
      Read it with
      • Category under Meta, the expense category for the whole document
      • Type on a line item, such as food
      Grocery Stores
    • Vendor Account currency
      vendor.account_currency
      Account currency is the currency of the vendor's bank account when the document prints one. It supports paying the same vendor in more than one currency.What it is
      • An ISO 4217 code for the vendor's account
      • Different from the currency of this invoice when the bank account uses another currency
      Where to find it
      • Remittance or bank block on the invoice
      • The Whole Foods sample is USD, so the example matches that
      Read it with
      • Currency Code, the money on this document
      • IBAN and SWIFT in Bank Information
      USD
    • VAT Number (Value-Added Tax)
      vendor.vat_number
      The vendor VAT number identifies the seller for value-added tax. European and UK invoices print it. A US retail receipt usually omits it.What it is
      • The seller's VAT ID, not the tax amount
      • On US invoices the payer EIN can land on the bill-to VAT field instead
      Where to find it
      • Near the merchant legal name or tax registration
      • GB999999973 is an HMRC test number. This sample has no VAT ID
      Read it with
      • Tax, the amount charged
      • ABN Number, the Australian equivalent
      GB999999973
    • ABN Number (Australian Business Number)
      vendor.abn_number
      An ABN is the 11-digit Australian business identifier. Veryfi reads it from the document and can check GST registration.What it is
      • 11 digits identifying the seller to the Australian Business Register
      • Not a US employer identification number
      Where to find it
      • Header or tax block on Australian invoices
      • This sample has none. 51824753556 is only an 11-digit example
      Read it with
      • VAT Number
      • Vendor Registration Number
      51824753556
    • Vendor Registration Number
      vendor.reg_number
      The vendor registration number is a local business ID printed by the seller, other than VAT or ABN.What it is
      • A company, seller's-permit, or tax registration on the merchant side
      • Separate from the buyer's account number
      Where to find it
      • Header or footer, often labeled Reg, BRN, or Company No
      • This sample does not print one
      Read it with
      • VAT Number
      • ABN Number
      • Business Registration Number on Bill To, which is the payer
      BN123456789
    • Store Number Name (enriched)
      vendor.store_number
      Store number is the branch id Veryfi pulls out of the header. On this sample the line reads Store #10418.What it is
      • The location number, not the street address
      • Enriched from text such as Store #10418
      Where to find it
      • Header, next to the city
      • Whole Foods sample: 10418 in San Mateo
      Read it with
      • Address
      • Name
      10418
    • Learn more …
  • Dates
    • Invoice Date
      date
      On an invoice this is the invoice date. The same key is the sale date when the document is a receipt.What it is
      • ISO 8601 date and time
      • The moment of the transaction, not when Veryfi processed the file
      Where to find it
      • Near the top of the invoice, beside the invoice number
      • Whole Foods sample: 2023-03-28 13:10:00
      Read it with
      • Created Date, the processing timestamp
      • Due Date, when payment is due
      2023-03-28 13:10:00
    • Due Date
      due_date
      Due date is when the billed amount must be paid. Supplier invoices print it. A paid retail receipt usually leaves it empty.What it is
      • The payment deadline, not the sale date
      • ISO 8601 date
      Where to find it
      • Labeled Due, Pay by, or Payment due
      • 2023-04-27 is a net-30 example. The Whole Foods sample leaves due date empty
      Read it with
      • Invoice Date
      • Payment Terms
      2023-04-27
    • Order Date
      order_date
      Order date is when the goods were ordered. Supplier invoices and delivery notes print it. A walk-in retail sale usually does not.What it is
      • The order, not the day it was delivered
      • ISO 8601
      Where to find it
      • Order header, labeled Order date
      • Also returned under Ship To when that block prints the same date
      Read it with
      • Ship Date
      • Delivery Date
      2023-03-27
    • Ship Date
      ship_date
      Ship date is when the order left the seller. Packing slips and supplier invoices print it.What it is
      • The dispatch date
      • ISO 8601
      Where to find it
      • Shipping block, labeled Ship date or Shipped
      • The same key is listed again under Ship To
      Read it with
      • Delivery Date
      • Tracking Number
      2023-03-28
    • Delivery Date
      delivery_date
      Delivery date is when the order arrived or is scheduled to arrive.What it is
      • Arrival, not the day the order was placed
      • ISO 8601, and it can include a time
      Where to find it
      • Shipping block, labeled Delivered or Delivery
      • A retail counter receipt usually has none
      Read it with
      • Ship Date
      • Order Date
      2023-03-28
    • Start Date (or arrival in hotel folio)
      start_date
      Start date is the beginning of a stay or service. On a hotel folio it is the arrival date.What it is
      • Arrival, check-in, or the first day of a service period
      • Not the day the invoice was printed
      Where to find it
      • Hotel folio header, labeled Arrival or Check-in
      • 2023-03-28 is the shape of the value. This sample has no stay
      Read it with
      • End Date
      • Service Start Date
      2023-03-28
    • End Date (or departure in hotel folio)
      end_date
      End date closes the stay or service. On a hotel folio it is the departure date.What it is
      • Check-out or the last day covered
      • Paired with start date
      Where to find it
      • Folio header, labeled Departure or Check-out
      • This sample has no stay
      Read it with
      • Start Date
      • Service End Date
      2023-03-29
    • Service Start Date
      service_start_date
      Service start is the first day a billed service was provided, such as a utility or a rental period.What it is
      • The start of the service window
      • Separate from the invoice date, which is when the bill was issued
      Where to find it
      • Near the service description or a billing period
      • Line items can also carry their own start date
      Read it with
      • Service End Date
      • Line Item Start Date
      2023-03-28
    • Service End Date
      service_end_date
      Service end is the last day of the billed service period.What it is
      • The close of the service window
      • Paired with service start
      Where to find it
      • Next to the billing period on the document
      • Often blank when the invoice is a single delivery
      Read it with
      • Service Start Date
      • Line Item End Date
      2023-03-29
    • Created Date
      created_date
      Created date is when Veryfi stored the document. It is not printed on the invoice.What it is
      • A processing timestamp
      • Set once, when the document is first saved
      Where it lives
      • Only in the API response
      • The example is a few seconds after the sample invoice time
      Read it with
      • Updated Date
      • Invoice Date
      2023-03-28 13:10:08
    • Updated Date
      updated_date
      Updated date is the last time the stored document changed. It is not printed on the invoice.What it is
      • A processing timestamp
      • Moves when the document is edited or reprocessed
      Where it lives
      • Only in the API response
      Read it with
      • Created Date
      • Invoice Date
      2023-03-28 13:10:12
    • Line Item Start Date (service provided dates)
      line_items[].start_date
      Each line can have its own start date when the row is a service period rather than a single product.What it is
      • The first day that line item covers
      • ISO 8601, on that line object
      Where to find it
      • On the line, often a hotel night or a rental row
      • A simple product line usually has none
      Read it with
      • Line Item End Date
      • Service Start Date, which is the document-level period
      2023-03-28
    • Line Item End Date (service provided dates)
      line_items[].end_date
      Each line can have its own end date for the service that row covers.What it is
      • The last day that line item covers
      • ISO 8601, on that line object
      Where to find it
      • On the same row as the line start date
      Read it with
      • Line Item Start Date
      • Start/End Date under Line-Items
      2023-03-29
    • Learn more …
  • Line-Items
    • Date
      line_items[].date
      A line-item date is the date printed on that row, when the row is not the same day as the invoice header.What it is
      • ISO 8601 date on one line object
      • Common on hotel folios and multi-day invoices
      Where to find it
      • At the start of the line
      • The Whole Foods product rows do not print a per-line date
      Read it with
      • Invoice Date, the document date
      • Description
      2023-03-28
    • SKU (Stock keeping unit)
      line_items[].sku
      SKU is the seller's own item code for that line. On the Whole Foods sample the banana row carries a PLU.What it is
      • The merchant's stock code, not a global barcode
      • Returned on each line item
      Where to find it
      • On the item row, often next to the description
      • Bananas: PLU 4011 · 1.12 lb
      Read it with
      • UPC, a global product code
      • Description
      PLU 4011 · 1.12 lb
    • UPC (Universal Product Code)
      line_items[].upc
      UPC is the barcode number for the product. The same field also holds an EAN or GTIN when that is what the line prints.What it is
      • A global item code
      • On this invoice the sparkling water line prints UPC 09948245427
      Where to find it
      • On the item row or under the description
      Read it with
      • SKU
      • EAN under Barcodes, which is a code drawn on the page rather than a line-item number
      09948245427
    • HSN (Harmonized System Code/Number)
      line_items[].hsn
      HSN is the customs classification for the goods. Trade and logistics invoices print it.What it is
      • A harmonized tariff code
      • Used for duties and cross-border tax
      Where to find it
      • Its own column on commercial invoices
      • 0803.90 is the typical heading for bananas. It is not printed on the Whole Foods sample
      Read it with
      • Country of Origin
      • Description
      0803.90
    • Category
      line_items[].category
      Line category is the product class for that row, such as Produce or Beverages. It can be enriched when line-item expansion is on.What it is
      • A classification of the item, not of the whole invoice
      • Can be a list of category names
      Where it lives
      • Not always printed. Veryfi can assign it from the description
      • Bananas map to Produce
      Read it with
      • Section, a heading printed on the invoice
      • Vendor Category, the supplier category
      Produce
    • Section
      line_items[].section
      Section is the heading on the invoice that groups this line, such as Parts, Labor, or Freight.What it is
      • The printed department, not a predicted category
      • Shared by every line under that heading
      Where to find it
      • A heading above a block of items
      Read it with
      • Category
      • Description
      Produce
    • Description
      line_items[].description
      Description is the item name with the date and the price stripped off.What it is
      • The product or service words
      • One value per line
      Where to find it
      • The text of the row
      • First Whole Foods line: ORGANIC BANANAS
      Read it with
      • Full Description
      • Total
      ORGANIC BANANAS
    • Full Description
      line_items[].full_description
      Full description keeps the extra text on the row, including weight, dates, and codes that the short description drops.What it is
      • The longer item text
      • Still excludes the price column when that is separate
      Where to find it
      • The same row as Description
      • Bananas plus the PLU and weight
      Read it with
      • Description
      • Normalized Description
      ORGANIC BANANAS PLU 4011 1.12 lb
    • Normalized Description
      line_items[].normalized_description
      Normalized description expands abbreviations and smooths the item name so matching does not depend on the invoice's shorthand.What it is
      • A cleaned form of the item name
      • Not a second product
      Where it lives
      • Derived from the printed description
      • ORGANIC BANANAS becomes Organic bananas
      Read it with
      • Description
      • Product Info
      Organic bananas
    • Quantity
      line_items[].quantity
      Quantity is how many of that item the line charges for. Every Whole Foods sample line has quantity 1.What it is
      • A count, or a weight when the line is sold by the pound and quantity is 1
      • On the line object
      Where to find it
      • The qty column
      Read it with
      • Unit of Measure
      • Price
      • Total
      1
    • Reference
      line_items[].reference
      Reference is an extra code on the line that is not the SKU, such as a PLU or a work-order id.What it is
      • A line-level reference
      • Separate from the document reference number
      Where to find it
      • On the item row
      • Bananas: PLU 4011
      Read it with
      • SKU
      • Reference Number under Identifiers
      PLU 4011
    • Unit of Measure
      line_items[].unit_of_measure
      Unit of measure is how the quantity is counted: each, lb, kg, hour.What it is
      • The unit next to the quantity
      • On weighed produce this is often lb or kg
      Where to find it
      • Beside the quantity or inside the description
      • Bananas are weighed in lb
      Read it with
      • Quantity
      • Weight
      lb
    • Price
      line_items[].price
      Price is the unit price for the line. On the first Whole Foods row the extended total is also 1.89 because quantity is 1.What it is
      • Price per unit, before the line is extended
      • A number, in the document currency
      Where to find it
      • The price column on that row
      Read it with
      • Quantity
      • Total
      1.89
    • Tax
      line_items[].tax
      Line tax is the tax amount on that row when the invoice breaks tax out per item. Many invoices also print one tax total at the bottom.What it is
      • Tax for this line, not the invoice tax
      • 0 when the line is not taxed on its own
      Where to find it
      • A tax column on the row, when the layout has one
      • The Whole Foods sample puts 1.93 of tax in the totals, not on each line
      Read it with
      • Tax under Financials
      • Tax Rate
      0
    • Tax Rate
      line_items[].tax_rate
      Line tax rate is the percentage applied to that row.What it is
      • A percent, not a currency amount
      • 0 when the line does not carry its own rate
      Where to find it
      • Next to the line tax, or implied by a tax code
      • This sample's sales tax rate is on the tax line, 5.133, not on each product
      Read it with
      • Tax Lines Breakdown
      • Tax
      0
    • Tax Code
      line_items[].tax_code
      Tax code is the short label for which tax rule hit the line, such as A for standard rated or Z for zero rated.What it is
      • A code, not the tax amount
      • Lets a ledger post the line to the right tax account
      Where to find it
      • A small letter or code at the end of the row
      • This sample does not print per-line codes. A is a typical standard-rated mark
      Read it with
      • Tax Rate
      • Tax name in the tax breakdown
      A
    • Discount
      line_items[].discount
      Line discount is the amount taken off that row. The Whole Foods sample lines are undiscounted, so the value is 0.What it is
      • A currency amount for this line
      • Separate from an invoice-level discount
      Where to find it
      • On the row, often as a negative or a savings line
      Read it with
      • Discount under Financials
      • Discount Rate
      0
    • Discount Rate
      line_items[].discount_rate
      Discount rate is the percentage taken off the line.What it is
      • A percent
      • 0 when the row is not discounted
      Where to find it
      • On the row or in a promo note under it
      Read it with
      • Discount
      • Discount Price
      0
    • Discount Price
      line_items[].discount_price
      Discount price is the unit price after the line discount. With no discount it matches the price. The first sample line stays 1.89.What it is
      • The lower price after a line discount
      • Null when the document does not print a discounted price
      Where to find it
      • The sale price column, when there is one
      Read it with
      • Price
      • Discount
      1.89
    • Total
      line_items[].total
      Line total is the extended amount for that row. The five Whole Foods lines total 1.89, 5.49, 4.99, 6.44, and 18.79.What it is
      • Quantity times price, after that line's discount
      • The first line is 1.89
      Where to find it
      • The rightmost amount on the row
      Read it with
      • Subtotal, the sum of the lines
      • Price
      1.89
    • Subtotal
      line_items[].subtotal
      Line subtotal is the row amount before tax is added on that line. On a simple row it matches the line total.What it is
      • The pre-tax amount for this item
      • Not the invoice subtotal
      Where to find it
      • On the row, when the layout splits pre-tax and tax
      Read it with
      • Total
      • Subtotal under Financials, which is the whole invoice
      1.89
    • Gross Total
      line_items[].gross_total
      Gross total is the line amount before deductions. On an undiscounted row it matches the line total.What it is
      • The line before discounts
      • A number on that line object
      Where to find it
      • Used when the row prints both a gross and a net figure
      • The banana line has no deduction, so gross is 1.89
      Read it with
      • Net Total
      • Discount
      1.89
    • Net Total
      line_items[].net_total
      Net total is the line amount after deductions.What it is
      • The line after discounts
      • What most ledgers post for the item
      Where to find it
      • The net column, when the invoice prints one
      • 1.89 on the first sample line
      Read it with
      • Gross Total
      • Total
      1.89
    • Type (food, product, alcohol,..)
      line_items[].type
      Type is Veryfi's class for the line: food, product, alcohol, fuel, fee, discount, and others.What it is
      • A predicted label, not a word printed on the line
      • Bananas are food
      Where it lives
      • Not printed as its own column
      • Allowed values include food, product, alcohol, tobacco, fuel, fee, and discount
      Read it with
      • Category
      • Description
      food
    • Weight (eg. kg/lb)
      line_items[].weight
      Weight is the measured weight on that line. The banana row on the sample is 1.12 lb.What it is
      • A weight with its unit when the invoice prints one
      • Common on produce and freight lines
      Where to find it
      • Inside the item text or a weight column
      Read it with
      • Unit of Measure
      • Total Weight under Financials
      1.12 lb
    • Start/End Date
      line_items[].start_date
      Start and end dates on a line mark the service window for that row. The end date is line_items[].end_date.What it is
      • Two dates on lines that cover a period
      • Hotel nights, rentals, and utilities
      Where to find it
      • On the line, often as a from-to range
      • A simple product line leaves both empty. The sample shows the shape
      Read it with
      • Line Item Start Date and Line Item End Date under Dates
      2023-03-28 / 2023-03-29
    • Country of Origin
      line_items[].country_of_origin
      Country of origin is where the goods were produced, when the line prints it. Trade invoices use it.What it is
      • A country name or code for that item
      • Not the country of the supplier's office
      Where to find it
      • A COO column on commercial invoices
      • Ecuador is a typical origin for bananas. The Whole Foods sample does not print it
      Read it with
      • HSN
      • Manufacturer
      Ecuador
    • Lot number
      line_items[].lot
      Lot number ties the line to a production batch. Recalls and regulated invoices print it.What it is
      • The batch id for that item
      • On the line object
      Where to find it
      • A lot or batch column
      • L24081 is an example. It is not on the Whole Foods sample
      Read it with
      • Manufacturer
      • SKU
      L24081
    • Manufacturer
      line_items[].manufacturer
      Manufacturer is who made the product, when the line names them. It is separate from the supplier who billed it.What it is
      • The maker, not the merchant
      • On this sample several items are the 365 house brand
      Where to find it
      • Inside the description or a manufacturer column
      Read it with
      • Product Info
      • Vendor Name
      365
    • Product Info (Brand, Category, Expanded Description)
      line_items[].product_info
      Product info is the enrichment object on a line: brand, category, and expanded description. It is returned when line-item expansion is enabled.What it is
      • brand, category, and expanded_description live on line_items[].product_info
      • Extra product detail beyond the printed row
      Where it lives
      • Not always its own column on the invoice
      • The banana line enriches to the Produce category
      Read it with
      • Normalized Description
      • Category
      Produce
    • Learn more …
  • Financials
    • Subtotal
      subtotal
      Subtotal is the sum of the lines before tax, tip, and other adjustments. The Whole Foods sample subtotal is 37.60.What it is
      • Pre-tax merchandise total
      • A document-level amount
      Where to find it
      • Above the tax line
      Read it with
      • Tax
      • Total
      37.60
    • Discount
      discount
      Discount is the amount taken off the whole invoice, as opposed to a discount on one line. This sample has none.What it is
      • A document-level reduction
      • 0 when nothing was taken off the total
      Where to find it
      • A savings or discount line above the total
      Read it with
      • Discount on a line item
      • Subtotal
      0
    • Cashback
      cashback
      Cashback is cash handed back at a register on top of a purchase. Invoices leave it empty. Some retail receipts print it.What it is
      • Money handed back, not a price reduction
      • The Whole Foods sample has no cashback
      Where to find it
      • Near the payment block, labeled Cash back
      Read it with
      • Total
      • Payment Method
      0.00
    • Shipping cost
      shipping
      Shipping is the delivery charge on the invoice. A document with no freight is 0.What it is
      • The freight or delivery fee
      • A document-level amount
      Where to find it
      • Its own line above the total, labeled Shipping or Delivery
      Read it with
      • Ship To
      • Total
      0
    • Tax (VAT, GST)
      tax
      Tax is the total tax on the invoice. On the Whole Foods sample that is 1.93 of California sales tax. VAT and GST use the same key.What it is
      • One number for all tax on the invoice
      • The breakdown, when printed, is in tax lines
      Where to find it
      • Between subtotal and total
      • Whole Foods sample: 1.93
      Read it with
      • Tax Lines Breakdown
      • Subtotal
      • Total
      1.93
    • Tax Lines
      tax_lines
      Tax lines are the array behind the tax table: each rate, name, base, and amount. The sample has one California sales-tax line.What it is
      • An array, not a single number
      • Use it when an invoice prints more than one tax
      Where to find it
      • The tax table above the total
      • See Tax Lines Breakdown for name, rate, total, and base
      Read it with
      • Tax, the single rolled-up amount
      CA sales tax 5.133% 1.93
    • Tip
      tip
      Tip is the gratuity on the document. Supplier invoices usually have none. Restaurant bills print it.What it is
      • A document-level gratuity
      • Separate from the food lines
      Where to find it
      • Near the total, labeled Tip or Gratuity
      Read it with
      • Total
      • Guest Count
      0
    • Total
      total
      Total is the amount due. On the Whole Foods sample, 37.60 plus 1.93 tax is 39.53.What it is
      • The grand total
      • What accounts payable should match to the amount due
      Where to find it
      • The last money line on the invoice
      Read it with
      • Subtotal
      • Tax
      • Payment Method
      39.53
    • Rounding
      rounding
      Rounding is the cash-rounding adjustment when the total is nudged to the nearest coin. Card invoices are often 0.What it is
      • A small plus or minus on the total
      • Common where the smallest coin is 5 cents
      Where to find it
      • A rounding line just above the total
      Read it with
      • Total
      • Currency Code
      0.00
    • Currency Code
      currency_code
      Currency code is the ISO 4217 code for the amounts on this document. The Whole Foods invoice is USD.What it is
      • Three letters, such as USD, EUR, or GBP
      • Applies to subtotal, tax, and total
      Where to find it
      • Next to the amounts, or inferred from the country and symbols
      Read it with
      • Currency Exchange Rate
      • Vendor Account currency
      USD
    • Currency Exchange Rate
      exch_rate
      The response key is exch_rate. It is filled when the document currency is not the account's default currency. A USD invoice on a USD account stays at 1.What it is
      • The rate used to convert this document
      • Enriched from the currency code, not read as a printed FX line unless the document has one
      Where it lives
      • Not usually printed on a domestic invoice
      Read it with
      • Currency Code
      1
    • Insurance
      insurance
      Insurance is a coverage charge printed on the document, often on a shipment. A goods invoice with no shipment cover leaves it empty.What it is
      • A document-level insurance amount
      • Also listed with the shipment
      Where to find it
      • Shipping or charges block
      Read it with
      • Shipping cost
      • Incoterms
      0.00
    • Incoterms
      incoterms
      Incoterms are the delivery terms on a commercial invoice, such as DAP or FOB. A store invoice does not print them.What it is
      • A short trade term for who pays freight and risk
      • Returned as text
      Where to find it
      • The shipping or commercial-terms block
      • DAP is a typical example. It is not on the Whole Foods tape
      Read it with
      • Ship To
      • Insurance
      DAP
    • Balance (current / previous)
      balance
      Balance is the amount still open on the document. A paid invoice is 0. A statement or invoice can show a running balance.What it is
      • What remains to pay
      • Distinct from the previous balance brought forward
      Where to find it
      • Near the total, labeled Balance or Amount due
      • The Whole Foods sale is paid, so the example is 0.00
      Read it with
      • Previous Balance
      • Final Balance
      • Total
      0.00
    • Previous Balance
      previous_balance
      Previous balance is the amount carried in from an earlier bill, before this document's charges.What it is
      • The opening balance
      • Common on utility bills and statements, and on invoices that carry a prior balance
      Where to find it
      • Top of the charges, labeled Previous balance
      Read it with
      • Balance
      • Final Balance
      0.00
    • Final Balance
      final_balance
      Final balance is the amount after this document's charges and payments. On a paid invoice it matches a zero balance.What it is
      • The closing amount
      • Not the merchandise subtotal
      Where to find it
      • The last balance line
      Read it with
      • Previous Balance
      • Total
      0.00
    • Accounting Entry Type (debit/credit)
      accounting_entry_type
      Accounting entry type says whether this document is a debit or a credit. A supplier invoice is a debit. A credit memo is a credit.What it is
      • debit or credit
      • How a ledger should post the document
      Where it lives
      • Not printed as the word debit on the invoice
      • The sample purchase is debit
      Read it with
      • Total
      • Is Money In
      debit
    • Total Quantity
      total_quantity
      Total quantity adds up the line quantities. The Whole Foods sample has five lines at quantity 1, so the total quantity is 5.What it is
      • A document-level count of units
      • Not the number of pages
      Where to find it
      • Sometimes printed as Items sold. Otherwise it is summed from the lines
      Read it with
      • Quantity on each line
      5
    • Total Weight
      total_weight
      Total weight is the shipment or order weight when the document prints one. On this grocery sample the only weighed line is 1.12 lb of bananas.What it is
      • A weight for the whole document
      • The per-line weights are also returned as an array
      Where to find it
      • A totals or shipping line labeled Weight
      Read it with
      • Weight on the line
      • Weights under Ship To
      1.12 lb
    • Learn more …
  • Invoice / Transaction Flags
    • Is Approved
      is_approved
      Is approved records whether someone has approved the document in Veryfi. It is not printed on the invoice.What it is
      • true or false
      • A workflow flag
      Where it lives
      • Set in the API or in Hub after processing
      Read it with
      • Status
      • Is Duplicate
      true
    • Is Duplicate
      is_duplicate
      Is duplicate is true when this file matches a document already in the account. The Whole Foods sample is not a duplicate.What it is
      • true or false
      • A fraud and expense-audit signal
      Where it lives
      • Not printed on the invoice
      • The sample result is false
      Read it with
      • Duplicate Of
      • Fraud Score
      false
    • Duplicate Of
      duplicate_of
      Duplicate of is the id of the earlier document this file matches. It stays null when is duplicate is false.What it is
      • An integer document id, or null
      • Points at the original, not a second copy of the total
      Where it lives
      • Only in the API response
      • The sample invoice matches nothing, so the value is null
      Read it with
      • Is Duplicate
      null
    • Is Document
      is_document
      Is document is true when the file is an invoice, a receipt, or another document Veryfi should extract. The sample invoice is a document.What it is
      • true or false
      • False for a photo that is not a document
      Where it lives
      • A classification result, not a printed label
      Read it with
      • Document Type
      • Is Transaction
      true
    • Is Transaction
      is_transaction
      Is transaction marks a file that represents a money movement, such as a completed sale.What it is
      • true or false
      • A purchase invoice is a transaction
      Where it lives
      • Derived from the document, not printed as a yes/no
      Read it with
      • Is Document
      • Is Money In
      true
    • Is Money In
      is_money_in
      Is money in is true when money is coming to the account, such as a refund paid back. A normal purchase is money out, so this sample is false.What it is
      • true when the document is incoming money
      • false for a purchase
      Where it lives
      • Derived from the document type and the amounts
      Read it with
      • Accounting Entry Type
      • Total
      false
    • Status
      status
      Status is where the document sits in Veryfi: processed, reviewed, or archived.What it is
      • A workflow state
      • processed means extraction finished
      Where it lives
      • Not printed on the invoice
      Read it with
      • Is Approved
      • Created Date
      processed
    • Notes
      notes
      Notes is a free-text field on the document. You can set it by API. The Whole Foods payment panel describes the tender as a chip read.What it is
      • Any extra sentence about the document
      • Not one of the extracted money fields
      Where it lives
      • You write it, or a client sends it
      • The sample echoes the demo payment note: Chip read
      Read it with
      • Tags
      • Custom Fields
      Chip read
    • External ID
      external_id
      External id is your own id for this document, so you can match it to a record in another system. It is not printed on the invoice.What it is
      • A string you set
      • The sample uses the invoice number 5821
      Where it lives
      • Sent on the request or updated later
      Read it with
      • Invoice Number
      • Custom Fields
      EXT-5821
    • Custom Fields
      custom_fields
      Custom fields is an object of extra keys you defined for the account. The sample invoice has none, so the object is empty.What it is
      • Your keys, returned alongside the extracted fields
      • An object, often empty
      Where it lives
      • Configured in Hub or by API, not read from a standard invoice label
      Read it with
      • Tags
      • External ID
      {}
    • Tags
      tags
      Tags are labels you attach to the document, such as a project or a cost center. The sample response has an empty list.What it is
      • A list of tag names
      • You create them. They are not OCR
      Where it lives
      • Applied in Hub or by API
      Read it with
      • Category
      • Custom Fields
      []
    • Warnings
      warnings
      Warnings are checks that fired on the document, such as a tax-rate mismatch or a totals mismatch. An empty list means none fired.What it is
      • An array of warning types and messages
      • Separate from the fraud decision
      Where it lives
      • Only in the API response
      • The sample list is empty
      Read it with
      • Fraud Score
      • Total
      []
  • Tax Lines Breakdown
    • Tax name
      tax_lines[].name
      Tax name is the label of one tax row. The Whole Foods sample has a single line named CA sales tax.What it is
      • The printed or assigned name of that tax
      • One entry in the tax_lines array
      Where to find it
      • The tax table
      Read it with
      • Tax rate
      • Tax total
      • Tax under Financials
      CA sales tax
    • Tax rate %
      tax_lines[].rate
      Tax rate is the percentage for that tax row. The sample California line is 5.133.What it is
      • A percent, not the dollars of tax
      • Required on each tax line
      Where to find it
      • Next to the tax name
      Read it with
      • Tax name
      • Tax base
      5.133
    • Tax total
      tax_lines[].total
      Tax total is the money charged for that tax row. The sample line totals 1.93, which is also the document tax.What it is
      • The tax amount for this row
      • Sum of these totals is the document tax when the table is complete
      Where to find it
      • The amount column of the tax table
      Read it with
      • Tax under Financials
      • Tax base
      1.93
    • Tax base
      tax_lines[].base
      Tax base is the amount the rate was applied to. On the sample that base is the 37.60 subtotal.What it is
      • The taxable amount for this row
      • Rate times base gives the tax total, allowing for rounding
      Where to find it
      • The tax table, sometimes unlabeled
      Read it with
      • Subtotal
      • Tax rate
      37.60
  • Meta
    • Document Type (invoice/receipt/check/purchase order)
      document_type
      Document type is Veryfi's class for the file. This page's sample is invoice. The same endpoint also returns invoice, purchase order, check, and others.What it is
      • A short classification
      • Null when the file cannot be classified
      Where it lives
      • Not a title printed in a header, though the header is evidence
      • Whole Foods sample: invoice
      Read it with
      • Document Title
      • Is Document
      invoice
    • Document Title
      document_title
      Document title is the heading Veryfi reads, often the supplier line or the word Invoice.What it is
      • The title text
      • Not the document type enum
      Where to find it
      • The most prominent heading
      • On this sample the heading is the merchant line
      Read it with
      • Name
      • Document Type
      WHOLE FOODS MARKET
    • Category
      category
      Category is the expense category for the whole document. The Whole Foods sample is Groceries.What it is
      • Predicted from your categories or the default list
      • One category for the invoice, not for each item
      Where it lives
      • Assigned after extraction
      • Sample: Groceries
      Read it with
      • Default Category
      • Vendor Category
      Groceries
    • Default Category
      default_category
      Default category is the match from Veryfi's built-in category list. Food and Groceries is the list entry for this sample.What it is
      • One of the account's predefined categories
      • Can differ from a custom category you send
      Where it lives
      • Assigned, not printed
      Read it with
      • Category
      Food and Groceries
    • Tag
      tags[].name
      A tag is one label on the document. The API returns them as a list of tag objects with an id and a name.What it is
      • tags[].name is the label
      • You create tags. OCR does not invent them
      Where it lives
      • Applied in Hub or by API
      • groceries is an example label. The demo payload's tag list is empty
      Read it with
      • Tags under Invoice / Transaction Flags
      • Category
      groceries
    • OCR Text
      ocr_text
      OCR text is the full machine-readable text of the page, in reading order, before it is split into fields.What it is
      • The raw transcript
      • Includes headers, items, and totals
      Where it lives
      • Not a single box on the invoice. It is the whole page as text
      • The sample starts with the Whole Foods header
      Read it with
      • Description lines, which are the items cut out of this text
      WHOLE FOODS MARKET 210 S B ST
    • Language
      meta.language
      Language is the predicted language of the document as a BCP-47 tag. The Whole Foods invoice is English.What it is
      • A list of language predictions on the document
      • The sample value is en
      Where it lives
      • Inferred from the text, not printed as a language code
      Read it with
      • OCR Score
      en
    • OCR Score
      meta.ocr_score
      OCR score is how confident the read of the whole document was, from 0 to 1. The Whole Foods sample is 0.99.What it is
      • An average confidence for the page
      • Not a fraud score
      Where it lives
      • Only in the response
      • 0.99 means 99 percent
      Read it with
      • Fraud Score
      • Is Blurry
      0.99 (99%)
    • Handwritten Fields
      handwritten_fields
      Handwritten fields lists the keys that were written by hand rather than printed. The Whole Foods sample has none.What it is
      • An array of field names
      • Empty when the invoice is fully printed
      Where it lives
      • Detected on the image, not printed as its own label
      Read it with
      • Fraud Types, which can include handwritten characters
      []
    • Processed Pages / Total Pages
      meta.processed_pages
      Processed pages is how many pages were read. Total pages is meta.total_pages, how many the file contains. A one-page invoice is 1 / 1.What it is
      • meta.processed_pages is the count actually extracted
      • meta.total_pages is the length of the file. The default processing cap is 15 pages
      Where it lives
      • Not printed as a page count on a one-page invoice
      Read it with
      • OCR Score
      1 / 1
    • Source
      device_data.source
      Source is how the file was submitted. An invoice posted to the API is often api. lens.receipt is the Veryfi Lens camera.What it is
      • An enum, including api, api.email, lens.web, and lens.receipt
      • It describes the channel, not the merchant
      Where it lives
      • Set by the client that uploaded the file
      • A Lens camera capture uses lens.receipt. An emailed invoice is often api.email
      Read it with
      • Model Version
      lens.receipt
    • Model Version
      model
      Model version is the extraction model that processed the document. It is a version string, not something printed on the invoice.What it is
      • The model id returned after processing
      • Use it when comparing results over time
      Where it lives
      • Only in the API response
      • v8 matches the partner documents API generation. The live string can be more specific
      Read it with
      • OCR Score
      • Source
      v8
  • Fraud & Image Quality
    • Fraud Decision (Not Fraud / Fraud)
      meta.fraud.decision
      Fraud decision is the detector's call on the document. The Whole Foods demo is a tampered document, so the decision is Fraud.What it is
      • Fraud or not fraud, from the detector
      • A red decision means the file should be reviewed
      Where it lives
      • Not printed on the invoice
      • This sample was built as a tampered Whole Foods document
      Read it with
      • Fraud Score
      • Fraud Types
      Fraud
    • Fraud Score
      meta.fraud.score
      Fraud score is the detector's confidence, from 0 to 1. The Whole Foods tamper demo scores 0.86.What it is
      • Higher means more confident the file is fraud
      • Read it with the decision and the color
      Where it lives
      • Only in the response
      • 0.86 on the tampered sample
      Read it with
      • Fraud Decision
      • Fraud Types
      0.86
    • Fraud Types
      meta.fraud.types
      Fraud types name what fired. The Whole Foods demo fires generated document and digital tampering.What it is
      • A list of attributions
      • Includes digital tampering, LCD photo, screenshot, duplicate, and others
      Where it lives
      • Only in the response
      Read it with
      • Digital Tampering Fields
      • Fraud Score
      generated document, digital tampering
    • Digital Tampering Fields
      digital_tampering_fields
      Digital tampering fields names the keys that were altered in the image. On the sample, the last line, the subtotal, and the total were changed.What it is
      • Field paths, such as line_items.4.total
      • The demo glues another strip over the last item and adds 10.00 to the total
      Where it lives
      • Detected from the image, not printed as a label
      Read it with
      • Fraud Types
      • Total
      line_items.4.total, subtotal, total
    • Fraudulent PDF Score
      meta.fraud.fraudulent_pdf
      Fraudulent PDF is an object of PDF-structure scores, including creator, text overlay, and font mismatch. A photo of a paper document scores low.What it is
      • Not one printed number. The object holds the PDF signals
      • The 0.12 example is a low paper-document score, not a value from the sample image itself
      Where it lives
      • Only present in a useful way for PDF uploads
      Read it with
      • Fraud Score
      • AI Generated Score
      0.12
    • Image Blur (img_blur)
      img_blur
      Image blur is a document-level flag that the capture is blurry. This sample is sharp, so it is false. The field is deprecated in favor of the per-page blur score.What it is
      • true or false for the file
      • Prefer the per-page Is Blurry score for new work
      Where it lives
      • Judged from the image
      Read it with
      • Is Blurry
      • OCR Score
      false
    • Is Blurry (per page score)
      meta.pages[].is_blurry.score
      Is blurry scores each page. The sample page scores 0.96 that it is not blurry, and the value is false.What it is
      • score is the confidence. value is true when the page is blurry
      • The sample value is false
      Where it lives
      • One result per page in meta.pages
      Read it with
      • Image Blur
      • OCR Score
      0.96
    • Is LCD (screen photo detection)
      meta.fraud.pages[].is_lcd.value
      Is LCD is true when the page is a photo of a screen. The Whole Foods sample is not an LCD photo.What it is
      • A boolean per fraud page, with its own score
      • Screen photos are a common fraud pattern
      Where it lives
      • Judged from the image
      • Sample: false
      Read it with
      • Screenshot Detection
      • Fraud Types
      false
    • AI Generated Score
      meta.pages[].ai_generated.score
      AI generated score is how confident the model is that the page was produced by a generator. A low score means it does not look synthetic.What it is
      • A score from 0 to 1 on meta.pages[].ai_generated
      • The boolean value sits beside the score
      Where it lives
      • Judged from the image
      • 0.04 is a low, not-generated example. The tampered demo's fraud types still include generated document for the altered file
      Read it with
      • Fraud Types
      • Screenshot Detection
      0.04
    • Screenshot Detection
      meta.pages[].screenshot.score
      Screenshot detection scores whether the page is a screen capture. The sample score is 0.06, and the type is null.What it is
      • score plus a type such as mobile screenshot or other screenshot
      • A low score means it does not look like a screenshot
      Where it lives
      • On each page
      • Sample score 0.06
      Read it with
      • Is LCD
      • AI Generated Score
      0.06
    • Image Dimensions (width/height)
      meta.pages[].width
      Each page reports a pixel width and height. Height is meta.pages[].height. The Whole Foods JSON demo does not include a pixel size, so 1200 x 1600 is a typical phone capture.What it is
      • meta.pages[].width and meta.pages[].height
      • Pixels of the processed page
      Where it lives
      • Taken from the image, not printed on the invoice
      Read it with
      • Is Blurry
      • OCR Score
      1200 x 1600
    • Learn more …
  • Ship To
    • Name
      ship_to.name
      Ship-to name is who receives the delivery. Supplier invoices and delivery orders print it.What it is
      • The recipient, not the merchant
      • Alex Kim is an example recipient. This sample has no ship-to block
      Where to find it
      • The Ship to block
      Read it with
      • Address
      • Vendor Name
      Alex Kim
    • Address
      ship_to.address
      Ship-to address is where the order is delivered. It is not the supplier address unless the order is a pickup.What it is
      • The delivery address as one string
      • Parsed into city and street when parse_address is true
      Where to find it
      • The Ship to block
      • 88 Elm St is an example. It is not the supplier address on this sample
      Read it with
      • Name
      • Vendor Address
      88 Elm St, San Mateo, CA 94401
    • Tracking Number
      tracking_number
      Tracking number is the shipment id. 1Z999AA10123456784 is a well-known UPS test number, not a number on this sample.What it is
      • One tracking id
      • When several are printed they also come back as an array
      Where to find it
      • The shipping block
      Read it with
      • Tracking Numbers
      • Ship Date
      1Z999AA10123456784
    • Tracking Numbers (array)
      tracking_numbers
      Tracking numbers is the array of every tracking id on the document. A single-package order has one entry.What it is
      • A list
      • Use it when an invoice lists more than one package
      Where to find it
      • The shipping block
      Read it with
      • Tracking Number
      1Z999AA10123456784
    • Ship Date
      ship_date
      Ship date in this group is the same document field as Ship Date under Dates: when the order was dispatched.What it is
      • ISO 8601
      • Repeated here because the shipping block is where people look for it
      Where to find it
      • Labeled Ship date
      Read it with
      • Delivery Date
      • Tracking Number
      2023-03-28
    • Delivery Date
      delivery_date
      Delivery date is the same document field as Delivery Date under Dates.What it is
      • When the order arrived or is due
      • ISO 8601
      Where to find it
      • The shipping block
      Read it with
      • Ship Date
      2023-03-28
    • Order Date
      order_date
      Order date is the same document field as Order Date under Dates.What it is
      • When the goods were ordered
      • ISO 8601
      Where to find it
      • The order or shipping header
      Read it with
      • Ship Date
      2023-03-27
    • Incoterms
      incoterms
      Incoterms in this group is the same document field as Incoterms under Financials.What it is
      • The trade term for the shipment
      • DAP is an example. This sample has none
      Where to find it
      • Commercial invoice shipping terms
      Read it with
      • Insurance
      • Shipping cost
      DAP
    • Insurance
      insurance
      Insurance in this group is the same document field as Insurance under Financials: a coverage charge on the shipment.What it is
      • A currency amount
      • 0.00 when the document does not charge for insurance
      Where to find it
      • The charges or shipping block
      Read it with
      • Shipping cost
      0.00
    • Weight + List
      total_weight
      Weight here is the document total weight, the same key as Total Weight under Financials. The list of individual weights is the next field.What it is
      • One weight for the order
      • The banana line is 1.12 lb
      Where to find it
      • A weight line in the totals or the shipping block
      Read it with
      • Weights
      • Weight on the line item
      1.12 lb
    • Weights (array)
      weights
      Weights is an array of every weight printed on the document, such as per package or per line.What it is
      • A list of weight strings
      • The sample has the banana weight
      Where to find it
      • Shipping or line detail
      Read it with
      • Weight + List
      • Weight on the line
      1.12 lb
  • Bank Information
    • Bank name
      vendor.bank_name
      Bank name is the supplier's bank when the invoice prints remittance details.What it is
      • The name of the vendor's bank
      • Part of the pay-to instructions
      Where to find it
      • The remittance or bank block
      • Example Bank is a placeholder. This sample has no bank block
      Read it with
      • Routing number
      • IBAN
      Example Bank
    • Bank number
      vendor.bank_number
      Bank number is the vendor bank routing number printed for remittance. The API describes this field as the routing number.What it is
      • The routing number on the vendor bank block
      • 021000021 is an example routing shape, not a Whole Foods account
      Where to find it
      • The remittance block
      Read it with
      • Routing number, the list of routing numbers when several are printed
      • Account number
      021000021
    • Routing number
      vendor.vendor_bank_numbers
      Routing numbers can also come back as a list when the vendor prints more than one. vendor.vendor_bank_numbers is that array.What it is
      • One or more ABA routing numbers
      • The single bank number field is the primary one
      Where to find it
      • The remittance block
      Read it with
      • Bank number
      • Account number
      021000021
    • Account number
      vendor.account_number
      This account number is the supplier's bank account for payment. It is not the buyer's card and not the customer account number under Identifiers.What it is
      • The merchant's account to pay
      • 000123456789 is a placeholder. It is not on this sample
      Where to find it
      • The remittance block, labeled Account
      Read it with
      • IBAN
      • Account Number under Identifiers, which is the customer account on the invoice
      000123456789
    • IBAN (International Bank Account Number)
      vendor.iban
      IBAN is the international form of the vendor's account. GB82WEST12345698765432 is the standard example IBAN, not a live account.What it is
      • An international account id
      • Printed on invoices that are paid across borders
      Where to find it
      • The bank block
      Read it with
      • SWIFT / BIC
      • Account number
      GB82WEST12345698765432
    • SWIFT / BIC
      vendor.bank_swift
      SWIFT, also called BIC, identifies the vendor's bank for an international transfer.What it is
      • An 8- or 11-character bank code
      • CHASUS33 is a well-known example code, not a value from this sample
      Where to find it
      • Next to the IBAN
      Read it with
      • IBAN
      • Bank name
      CHASUS33
    • Learn more …
  • Barcodes
    • QR + Barcodes
      barcodes
      Barcodes is the array of every code drawn on the page. Each entry has a type and the decoded data. The Whole Foods sample has one Code 128 whose data is 5821.What it is
      • An array of type plus data
      • 5821 is also the invoice number
      Where to find it
      • Anywhere a code is printed, often the footer
      Read it with
      • Invoice Number
      • The symbology rows below are values of barcodes[].type
      code128 5821
    • PDF417
      barcodes[].type
      PDF417 is one symbology the barcode reader returns in barcodes[].type. The decoded value is barcodes[].data.What it is
      • A stacked barcode, common on boarding passes and some IDs
      • This sample's code is Code 128, not PDF417
      Where to find it
      • A large rectangular barcode on the page
      Read it with
      • QR + Barcodes
      • Code128
      PDF417
    • EAN
      barcodes[].type
      EAN is a product barcode symbology. When a code of that type is found, barcodes[].type is EAN and barcodes[].data is the digits.What it is
      • European Article Number
      • A line-item UPC or EAN printed as text is also stored on the line
      Where to find it
      • On the product graphic or the invoice footer
      Read it with
      • UPC
      • UPC on the line item
      EAN
    • UPC
      barcodes[].type
      UPC here means a UPC barcode drawn on the page. The sparkling water line also prints UPC 09948245427 as item text.What it is
      • barcodes[].type is UPC when the graphic is a UPC
      • The digits are barcodes[].data
      Where to find it
      • A barcode graphic, not only the digits in the item row
      Read it with
      • UPC under Line-Items
      • EAN
      UPC
    • Code128
      barcodes[].type
      Code 128 is the symbology on the Whole Foods sample. The data is 5821, the same as the invoice number.What it is
      • barcodes[].type code128
      • barcodes[].data 5821
      Where to find it
      • Often the invoice barcode in the footer
      Read it with
      • Invoice Number
      • QR + Barcodes
      code128
    • Code39
      barcodes[].type
      Code 39 is another symbology returned on barcodes[].type. This sample does not use it.What it is
      • An older alphanumeric barcode
      • Data still comes back on barcodes[].data
      Where to find it
      • Wherever that graphic is printed
      Read it with
      • Code128
      • QR + Barcodes
      Code39
    • I25
      barcodes[].type
      I25 is Interleaved 2 of 5, a numeric barcode. It is one of the types the reader reports.What it is
      • barcodes[].type is I25 when that symbology is present
      • This sample does not include one
      Where to find it
      • A numeric barcode on the page
      Read it with
      • Code128
      • QR + Barcodes
      I25
    • Learn more …
  • Payment Method
    • Card Type (eg. visa, mastercard etc)
      payment.type
      Card type is the tender. The Whole Foods sample is Master Card, returned as master_card. Cash, visa, and the other network names use the same key.What it is
      • An enum: visa, master_card, american_express, cash, and others
      • The brand, not the last four digits
      Where to find it
      • The payment block
      • Sample: Master Card
      Read it with
      • Card Number
      • Display Name
      master_card
    • Card Number
      payment.card_number
      Card number is the last digits printed on the invoice, not a full primary account number. The Whole Foods sample last four are 8232.What it is
      • The visible last four, or however many the invoice shows
      • Never the full card number from the magstripe
      Where to find it
      • The payment block, often masked
      • Sample: 8232
      Read it with
      • Display Name
      • Card Type
      8232
    • Display Name
      payment.display_name
      Display name joins the card brand and the last four the way the invoice presents them.What it is
      • A single string for the tender
      • Master Card ***8232 on the sample
      Where to find it
      • The payment block
      Read it with
      • Card Type
      • Card Number
      Master Card ***8232
    • Terms
      payment.terms
      Terms describe when and how to pay. Supplier invoices print terms such as Net 30. Due on receipt means the bill was paid when it was issued.What it is
      • The payment terms text
      • The same key covers Bill To payment terms
      Where to find it
      • Under the total or in the payment block
      Read it with
      • Due Date
      • Payment Terms under Bill To
      Due on receipt
    • Payment Links
      payment_links
      Payment links are URLs in the document, including links hidden in a PDF, that point at a way to pay.What it is
      • An array of URLs
      • Empty when the invoice has no payment link
      Where it lives
      • Extracted from the file, including PDF annotations
      Read it with
      • Terms
      • Total
      []
  • Identifiers
    • Account Number
      account_number
      Account number on the invoice is the customer account printed on the bill. The Whole Foods sample account number is 0053. It is not the supplier's bank account.What it is
      • The account on this transaction
      • A short number on many invoices
      Where to find it
      • Header or payment block
      • Sample: 0053
      Read it with
      • Account number under Bank Information, which is the vendor's bank account
      • Card Number
      0053
    • Invoice Number
      invoice_number
      Invoice number is the bill id. On the Whole Foods sample it is 5821, and the Code 128 barcode repeats it. A retail receipt calls the same key a receipt number.What it is
      • The document number
      • The bill id printed beside Invoice No. A retail receipt calls the same value a receipt number
      Where to find it
      • Header or footer
      • Sample: 5821
      Read it with
      • Reference Number
      • Barcodes
      5821
    • PO (Purchase Order) Number
      purchase_order_number
      The purchase order number is the buyer's PO. Supplier invoices print it. A retail receipt usually omits it.What it is
      • The buyer's order id
      • PO-10418 is an example built from the store number. It is not printed on this sample
      Where to find it
      • Labeled PO or Purchase order
      Read it with
      • Invoice Number
      • Order Date
      PO-10418
    • Reference Number
      reference_number
      Reference number is a secondary id. The API marks this key deprecated and points clients at the document id. The sample still shows 5821.What it is
      • Deprecated. Prefer the document id
      • Kept here because invoice layouts still say Reference
      Where to find it
      • A reference line on the document
      Read it with
      • Invoice Number
      • Document Reference Number
      5821
    • Document Reference Number
      document_reference_number
      Document reference number is another printed reference for the file, when it is not the invoice number itself.What it is
      • A reference printed on the document
      • On a simple invoice it often matches the invoice number
      Where to find it
      • Header, labeled Reference or Doc no
      • Sample: 5821
      Read it with
      • Invoice Number
      • Reference Number
      5821
    • Delivery Note Number
      delivery_note_number
      Delivery note number identifies the packing slip or delivery note that the invoice refers to.What it is
      • The dispatch document id
      • DN-5821 is an example. It is not on this sample
      Where to find it
      • The delivery note header
      Read it with
      • Tracking Number
      • Invoice Number
      DN-5821
    • Store Number
      store_number
      Store number at the document level is the branch id. It matches the enriched vendor store number on this sample: 10418.What it is
      • The location number
      • Store #10418 on the sample
      Where to find it
      • The header
      Read it with
      • Store Number Name under Vendor
      • Address
      10418
    • External ID
      external_id
      External id is your id for the document, the same field as External ID under Invoice / Transaction Flags.What it is
      • A string you set
      • Not read from the invoice unless you sent it
      Where it lives
      • On the request or a later update
      • Sample: EXT-5821
      Read it with
      • Invoice Number
      EXT-5821
  • Bill To
    • Name
      bill_to.name
      Bill-to name is the person or company being charged. Supplier invoices print it.What it is
      • The payer, not the merchant
      • Alex Kim is an example payer
      Where to find it
      • The Bill to block
      Read it with
      • Vendor Name
      • Address
      Alex Kim
    • Address
      bill_to.address
      Bill-to address is the payer's address in the billing block.What it is
      • Where the bill is addressed
      • Not the supplier address
      Where to find it
      • The Bill to block
      • The example matches the sample ship-to street. This sample prints neither
      Read it with
      • Name
      • Ship To Address
      88 Elm St, San Mateo, CA 94401
    • Phone Number
      bill_to.phone_number
      Bill-to phone is the payer's phone in the billing block. The supplier phone stays on the vendor.What it is
      • The customer's number
      • (650) 555-0199 is a reserved example. The supplier phone on this sample is (650) 358-9600
      Where to find it
      • The Bill to block
      Read it with
      • Vendor Phone
      (650) 555-0199
    • Email
      bill_to.email
      Bill-to email is the payer's email in the billing section.What it is
      • The customer email
      • Not the merchant email
      Where to find it
      • The Bill to block
      • This sample prints neither
      Read it with
      • Vendor Email
      alex.kim@example.com
    • VAT Number
      bill_to.vat_number
      Bill-to VAT number is the payer's VAT ID. On US invoices this field can hold the payer's EIN instead.What it is
      • The buyer's tax id
      • The seller's VAT is vendor.vat_number
      Where to find it
      • The Bill to or tax block
      • GB999999973 is an HMRC test number
      Read it with
      • VAT Number under Vendor
      • Business Registration Number
      GB999999973
    • ABN Number
      A payer ABN printed in the bill-to block has no separate key on Process a Document. The seller's ABN is vendor.abn_number.What it is
      • 11 digits when the bill-to party is an Australian business
      • This row stays because bill-to layouts print an ABN
      Where to find it
      • The billing block, labeled ABN
      • 51824753556 is an 11-digit example. It is not a registered number from this sample
      Read it with
      • ABN Number under Vendor, key vendor.abn_number
      • Business Registration Number, key bill_to.reg_number
      51824753556
    • Bill to ABN Number
      Bill to ABN number is the same payer ABN as the previous row. Process a Document does not return a distinct bill_to.abn_number.What it is
      • The billing-block label for the payer ABN
      • Use vendor.abn_number for the seller, and bill_to.reg_number for a payer registration
      Where to find it
      • Labeled Bill to ABN on some invoices
      Read it with
      • ABN Number
      • Business Registration Number
      51824753556
    • Payment Terms
      payment.terms
      Payment terms in the bill-to area are the same field as Terms under Payment Method.What it is
      • When and how to pay
      • Due on receipt means pay when the invoice is issued. Net 30 is the more common supplier term
      Where to find it
      • Under Bill to or under the total
      Read it with
      • Due Date
      • Terms
      Due on receipt
    • Business Registration Number
      bill_to.reg_number
      Business registration number is the payer's registration in the billing block. The seller's registration is vendor.reg_number.What it is
      • The buyer's company or tax registration
      • BN987654321 is an example. This sample has no bill-to
      Where to find it
      • The Bill to block
      Read it with
      • Vendor Registration Number
      • VAT Number
      BN987654321
  • Service / Hospitality
    • Guest Count
      guest_count
      Guest count is the party size on a hospitality bill. A goods invoice does not print it. A table for one is 1.What it is
      • How many guests the check covers
      • Used to split a bill or to audit a meal
      Where to find it
      • Near the server name or the top of a restaurant check
      Read it with
      • Server Name
      • Tip
      1
    • Server Name
      server_name
      Server name is the person who waited on the table. A retail bill names a cashier in the vending-person fields instead.What it is
      • The server on a hospitality check
      • Alex is an example. This sample does not print a server
      Where to find it
      • The header or footer of a restaurant check
      Read it with
      • Vending Person
      • Guest Count
      Alex
    • Vending Person (Operator)
      vending_person
      Vending person is the cashier or operator named on the bill. The API describes this as the person who provided the service.What it is
      • The operator name
      • On a retail bill this is the cashier
      Where to find it
      • The footer, often labeled Cashier
      • This sample JSON does not include a cashier name. Alex is an example
      Read it with
      • Vending Person Number
      • Server Name
      Alex
    • Vending Person Number
      vending_person_number
      Vending person number is the cashier id, often labeled Cashier Number.What it is
      • An operator id, not the person's name
      • 14 is an example. It is not on this JSON sample
      Where to find it
      • Next to the cashier name
      Read it with
      • Vending Person
      • Store Number
      14
  • Vehicle
    • VIN Number
      vin_number
      VIN is the 17-character vehicle id when the document is a repair order, fuel invoice, or registration. A goods invoice does not have one.What it is
      • The manufacturer-assigned vehicle id
      • 1HGCM82633A004352 is a commonly used example VIN, not a vehicle from this sample
      Where to find it
      • Repair orders and some fleet fuel invoices
      Read it with
      • License Plate Number
      1HGCM82633A004352
    • License Plate Number
      license_plate_number
      License plate is the plate printed on a parking, fuel, or repair document.What it is
      • The plate as printed
      • 8ABC123 is an example. It is not on this sample
      Where to find it
      • A vehicle block on the document
      Read it with
      • VIN Number
      8ABC123

Try Invoice Data Extraction

API Features

  • Line-Items (Level 3 Data)

    Harness the power of line-level data from your invoices to automate 2-way and 3-way matching in your AP / bill pay solutions and automate inventory management with precision. Learn more about Level 3 Data

  • Categorization

    Automatically categorize invoices and line items with precision. Use your existing chart of accounts or let Veryfi's AI handle categorization automatically. Enable seamless tax compliance, streamline expense policy enforcement, and eliminate manual categorization work—delivering faster processing and improved accuracy for your invoice and accounts payable management workflows.

  • Duplicate Detection

    Eliminate manual review and effortlessly identify duplicate invoices. This powerful feature helps you prevent fraud in accounts payable automation and billpay apps to eliminate fraudulent payment requests, saving time and reducing financial risks.

  • Vendor Details Expansion

    Veryfi uses multiple methods to identify vendors beyond just reading the name on documents. It can recognize vendors through logos alone, or by analyzing line items (e.g., identifying Burger King from a "Whopper sandwich" purchase). The API returns both the raw vendor name as printed on the document and a standardized name from Veryfi's vendor database, matched using phone numbers, addresses, or VAT IDs. Additionally, Veryfi provides vendor logos for UI enhancement and can expand abbreviated addresses into structured address objects with separate fields for street, city, state, and zip code. Read More

  • Confidence Scoring

    With this enabled, you can assess the data extraction prediction and make informed decisions on how to handle it. Read More on Confidence Scoring

  • File Formats

    Capture invoices in many format: ​.jpg, .jpe, .jpeg, .png, .gif, .pdf, .txt, .htm, .html, .zip, .heic, .heif, .avif, .webp, .csv, xls, xlsx .ofd

  • Global Extraction

    Read invoices from any country, any language and in any format. Veryfi APIs provide Worldwide Coverage so you can grown your business globally without any pain.

  • Address Parser

    Transform messy address strings into structured data gold. Address parsing breaks down unstructured address strings into structured components (street number, street name, city, state, zip code, country, etc.). Read More about Address Parser

  • Webhooks and Asynchronous Processing

    Submit a document, receive a webhook, retrieve a document, handle errors. Read More

  • Barcodes Detection

    Detects and decodes the values behind many common barcodes found of invoices like QR + Barcodes, PDF417, EAN, UPC, Code128, Code39, I25 et al. Read More

  • Email Processor

    Process online invoices by sending them to your dedicated email address. Want to give this option to your customers as well? We can help there too. This handles all the common digital POS (Point of Sale) systems. Start here and contact sales@veryfi.com

  • Auto Rotate Invoices

    Our API automatically corrects upside-down invoice submissions, eliminating the need for resubmission requests and streamlining your workflow. See demo video.

Use Cases

Same POST /api/v8/partner/documents payload, different workflows. Jump from a card or start with what Veryfi extracts from an invoice.

3 Pillars of AI Services

Day-one-ready white-label AI tools that make you the hero your customers have been waiting for. Things you can build
Agents that work with your data to handle complex tasks in real-time.

SOC 2 Type II · Live

Global Bank-Grade Security & Compliance

Veryfi SOC 2 Type II compliant Certified seal

SOC 2 Type II

CERT · VERIFIED

Certified. GDPR, CCPA, and ITAR compliant.

HIPAA Compliance

HIPAA · BAA

We sign BAAs. PHI handled under HIPAA safeguards.

99.995% Uptime SLA

SLA · SAMPLED

Dedicated NVIDIA DGX — not shared cloud GPUs.

Deployment Flexibility

REGION · READY

Cloud API, hybrid, or on-premise when required.

GDPR

GDPR · READY

EU data protection. Lawful processing and subject rights.

Audit Trail

API · LOGGED

Every API call logged and timestamped for regulators.

Built for the banks that can’t afford “good enough.”