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"
-
Explicitly 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 "beancount_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)
Release files for beancount-docverif 1.0.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| beancount_docverif-1.0.1.tar.gz | 25.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| beancount_docverif-1.0.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 30.1 kB
Release files / beancount_docverif-1.0.1.tar.gz
| Download URL | beancount_docverif-1.0.1.tar.gz |
|---|---|
| Size | 25.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
08506fd4564fe493bed4c3e70fceadb6b3b8db3665bc4d79ef3aa283bb381ce8
|
|
BLAKE2b-256 checksum How to use checksums |
191ab10bf6e92abcfe54531b21b24f8054c744ccceea7b0a77bb6fe8208de5b4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.4.2 importlib_metadata/4.6.4 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.2 CPython/3.9.6
|
Release files / beancount_docverif-1.0.1-py3-none-any.whl
| Download URL | beancount_docverif-1.0.1-py3-none-any.whl |
|---|---|
| Size | 4.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
e8a797b8df5eb3219f71cb6dd0dd1b97d783d7cee925cbf91fde8fa07ae8785e
|
|
BLAKE2b-256 checksum How to use checksums |
91cdd5dbed6c376c4a5da292112ecf77838d82be3ca0a9c60e93923279e4c601
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.4.2 importlib_metadata/4.6.4 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.2 CPython/3.9.6
|