Document verification plugin for Beancount
Project description
Beancount Docverif 
Docverif is the "Document Verification" plugin for beancount, fulfilling the following functions:
-
Require that every transaction touching an account have an accompanying document on disk:
2000-01-01 open Expenses:General BEAN docverif: "Require"
-
Explictly declare the name of a document accompanying a transaction:
; Document entry pointing to a working document: should validate correctly 2020-06-01 * "plumber" "fix faucet leak" document: "2020-06-01.plumber - services.pdf" Expenses:General Assets:Bank -150 BEAN
-
Explicitly declare that a transaction is expected not to have an accompanying document:
; Explicit "None" document: should ignore missing document 2020-06-01 * "store" "groceries" document: "None" Expenses:General Assets:Bank -10 BEAN
-
Look for an "implicit" PDF document matching transaction data:
; Document entry without an explicit "document" entry, ; should implicitly match document: "2020-06-01.plumber - services.pdf" 2020-06-01 * "plumber" "services" Expenses:General Assets:Bank -150 BEAN
-
Associate (and require) a document with any type of entry, including
openentries themselves:2000-01-01 open Assets:Bank BEAN docverif: "Require" document: "2020-06-01.plumber - services.pdf"
-
Guarantee integrity: verify that every document declared does in fact exist on disk.
Installation
pip install beancount_docverif
Usage
In your toplevel .beancount file, include:
plugin "bad_beantools.docverif"
option "documents" "./"
See the .beancount files in test for examples.
Developing
Install package and dev requirements locally:
python3 -m pip install -e .[dev]
Run tests:
python3 -m pytest
Build both binary and source distributions locally:
python3 setup.py bdist_wheel sdist
See sanitize.sh for maintainer's personal tooling.
Beancount Quirks
-
We depend on beancount itself finding documents and auto-generating
Documententries. This requires adocumentsoption in the beancount file itself, eg:option "documents" "./"
-
Subdirectory format TODO
-
Fictitious TODO
-
Filename must be valid (eg. "broken.pdf" is out)
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file beancount_docverif-0.1.0.tar.gz.
File metadata
- Download URL: beancount_docverif-0.1.0.tar.gz
- Upload date:
- Size: 24.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.1.3.post20200531 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.7.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f0db7e5cb5e01e75de23ece467fba4d997a6c994f8130c37a40b6de0094614f6
|
|
| MD5 |
534b85324170aa5774c0bd110293d8ae
|
|
| BLAKE2b-256 |
fcc600ca797344650396b9a68128f4501822bb20567b79839189c52ff5e3c13c
|
File details
Details for the file beancount_docverif-0.1.0-py3-none-any.whl.
File metadata
- Download URL: beancount_docverif-0.1.0-py3-none-any.whl
- Upload date:
- Size: 4.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.1.3.post20200531 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.7.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a1271e982d8803f09a49915f0b29f1c3230285b2ac6ffd1950c0f474b026d449
|
|
| MD5 |
d950c482914c271ed3baa009b6531b01
|
|
| BLAKE2b-256 |
b52c3238d98fb13fe985dd9400681e0403153c657020e46e1db56fd7e49988ad
|