Skip to content

Python library for interacting with OFD providers

License

Notifications You must be signed in to change notification settings

sergelevin/pyofd

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

47 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

pyofd - Python library for interacting with OFD providers

image

pyofd is a Python package for receipts query from OFD providers. It is inspired by bobby_boy project.

Installation

Install via pip:

$ pip install pyofd

Install from source:

$ git clone git://github.com/sergelevin/pyofd.git
$ cd pyofd
$ python setup.py install

Usage

Here is basic usage example.

import pyofd, datetime

receipt = pyofd.OFDReceipt(
    fpd='FPD', total='total', rn_kkt='RN_KKT', fn='FN',
    fd='FD', inn='INN', purchase_date=datetime.datetime.now()
)
result = receipt.load_receipt()

OFDReceipt class might be constructed only with arguments known from receipt data, but omitting arguments might narrow the list of OFD providers to be checked against, because different providers require different subset of data to validate receipt

Examples

For some basic examples read unit tests in test directory. More complicated examples can be found within examples directory.

  • load_receipt.py: Load receipt by known attributes and save items into tab-delimited file.
  • xlsx_receipt.py: Load receipt by known attributes and export it to MS Excel (r) .xlsx file. If nalog.ru official receipt check application credentials are provided in PYOFD_NALOGRU_LOGIN and PYOFD_NALOGRU_PASSWORD environment variables, receipt lookup via NalogRu provider is also performed. Excel file is filled with formulas and conditional formatting suitable for my personal receipt handling needs - column F is for partial refund and columns G to Z - for receipt entries categorization with autocounting subtotal across categories.

About

Python library for interacting with OFD providers

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages