Menu

Tree [e8c5c9] master /
 History

HTTPS access


File Date Author Commit
 .github 2023-01-10 Matthew Eng Matthew Eng [d02d0b] Remove Python 3.6 from tests
 tests 2023-03-09 Valeriy Mukhtarulin Valeriy Mukhtarulin [ea6381] Add public receipt
 veryfi 2023-01-04 Matthew Eng Matthew Eng [b16160] Remove unnecessary datetime reference
 .gitignore 2022-03-10 Hoanh An Hoanh An [1ffee3] Add support for operations with line items
 CONTRIBUTORS.md 2022-02-25 Valeriy Mukhtarulin Valeriy Mukhtarulin [ea3461] Add a note on release
 LICENSE 2020-04-22 Dmitry Birulia Dmitry Birulia [fef1ef] first commit
 NEWS.md 2022-03-15 Hoanh An Hoanh An [84c397] Install pydantic
 Pipfile 2021-06-22 Valeriy Mukhtarulin Valeriy Mukhtarulin [aa02c6] Fix docs
 README.md 2023-01-11 Valeriy Mukhtarulin Valeriy Mukhtarulin [fff41e] Update README.md
 pyproject.toml 2021-03-16 Valeriy Mukhtarulin Valeriy Mukhtarulin [56149e] Add update_document
 requirements.txt 2022-11-05 Sid Mitra Sid Mitra [ccdfe6] Pin lower bound vesrsion on pydantic>=1.9.0
 setup.cfg 2023-01-10 Matthew Eng Matthew Eng [d02d0b] Remove Python 3.6 from tests
 setup.py 2021-03-06 Valeriy Mukhtarulin Valeriy Mukhtarulin [d8c196] Fix description, remove authors generation
 tox.ini 2023-01-10 Matthew Eng Matthew Eng [d02d0b] Remove Python 3.6 from tests

Read Me

https://veryfi.github.io/veryfi-python/reference/veryfi/

PyPI - version
PyPI
Code style: black
Test

veryfi is a Python module for communicating with the Veryfi OCR API

Installation

Install from PyPi using pip, a
package manager for Python.

Install the package from PyPI:

pip install -U veryfi

Getting Started

Obtaining Client ID and user keys

If you don't have an account with Veryfi, please go ahead and register here: https://hub.veryfi.com/signup/api/

Python API Client Library

The veryfi library can be used to communicate with Veryfi API. All available functionality is described here https://veryfi.github.io/veryfi-python/reference/veryfi/#client

Below is the sample script using veryfi to OCR and extract data from a document:

from veryfi import Client

client_id = 'your_client_id'
client_secret = 'your_client_secret'
username = 'your_username'
api_key = 'your_password'

categories = ['Grocery', 'Utilities', 'Travel']
file_path = '/tmp/invoice.jpg'

# This submits document for processing (takes 3-5 seconds to get response)
veryfi_client = Client(client_id, client_secret, username, api_key)
response = veryfi_client.process_document(file_path, categories=categories)
response

# or with url
response = veryfi_client.process_document_url(url, external_id=some_id)
response
>>> {"abn_number": "",
  "account_number": "",
  "bill_to_address": "130 INTERSTATE BLVD, SUIT 21\nNASHEVILLE, NC 28806",
  "bill_to_name": "FAST ROOFING COMPANY, LLC",
  "card_number": "",
  "category": "Hardware Supplies",
  "currency_code": "USD",
  "date": "2019-08-01 00:00:00",
  "due_date": "2019-09-01",
  "discount": 0,
  "external_id": "",
  "id": 28933541012,
  "img_thumbnail_url": "https://scdn.veryfi.com/documents/5rb8d5q0-3ae0-4f55-a54b-c01a553ab2da_t.jpg",
  "img_url": "https://scdn.veryfi.com/documents/5rb8d5q0-3ae0-4f55-a54b-c01a553ab2da.pdf",
  "invoice_number": "1234568",
  "line_items": [
    {
      "date": "",
      "description": "SFTY TAGS LCKED OUT 250BX 426NS",
      "discount": 0,
      "order": 1,
      "price": 200.0,
      "quantity": 1,
      "reference": "",
      "sku": "PTW-901444",
      "tax": 0,
      "tax_rate": 0,
      "total": 200.00,
      "type": "purchase",
      "unit_of_measure": "pc"
    },
    {
      "date": "",
      "description": "WEDGE ANCHOR. PLATED",
      "discount": 0,
      "order": 2,
      "price": 3.75,
      "quantity": 100,
      "reference": "",
      "sku": "WA-12-414",
      "tax": 0,
      "tax_rate": 0,
      "total": 375.00,
      "unit_of_measure": "pc"
    },

    {
      "date": "",
      "description": "SYP #2 KD-HT UNTREATED",
      "discount": 0,
      "order": 9,
      "price": 11.49,
      "quantity": 1,
      "reference": "",
      "sku": "WE-27517",
      "tax": 0,
      "tax_rate": 0,
      "total": 11.49,
      "unit_of_measure": "pc"
    }
  ],
  "ocr_text": "\nACE\nThe helpful place.\nAce Hardware\t\t\t\t\t\tINVOICE\n5726.....",
  "payment_display_name": "",
  "payment_terms": "",
  "payment_type": "",
  "purchase_order_number": "",
  "reference_number": "VBAJD-32541",
  "shipping": 0,
  "subtotal": 586.49,
  "tax": 41.05,
  "tax_lines": [{
    "name": "state tax",
    "rate": 7.0,
    "total": 41.05
  }],
  "tip": 0,
  "total": 627.54,
  "vat_number": "",
  "vendor": {
    "address": "5726 Memorial Blvd, Saint George, SC 29477",
    "name": "Hutto Ace Hardware",
    "raw_name": "Ace Hardware",
    "phone_number": "(843) 563-4012",
    "vendor_logo": "https://cdn.veryfi.com/logos/us/953982859.png",
    "vendor_type": "hardware stores"
  },
  "vendor_vat_number":  "",
  "vendor_iban":  "",
  "vendor_bank_number":  "", 
  "vendor_bank_name": ""
}

Update a document

new_vendor = {"name": "Starbucks", "address": "123 Easy Str, San Francisco, CA 94158"}
category = "Meals & Entertainment"
new_total = 11.23
veryfi_client.update_document(id=12345, vendor=new_vendor, category=new_category, total=new_total)

Need help?

If you run into any issue or need help installing or using the library, please contact support@veryfi.com.

If you found a bug in this library or would like new features added, then open an issue or pull requests against this repo!

To learn more about Veryfi visit https://www.veryfi.com/

Tutorial Video

Watch 'Code with Dmitry' Video

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.