Daftarche
Daftarche (دفترچه, "little account book") is a desktop app for personal bookkeeping. It imports bank statements in QFX/OFX format, sorts every transaction into income, expense or transfer with categories, sub-categories and tags, matches transfers between your own accounts, and shows where the money went: a dashboard, monthly charts, account balances over time and a searchable transaction table that exports to Excel.
Everything stays on your computer, in one SQLite file. Statements have been tested with CIBC's QFX downloads; other banks' QFX/OFX files use the same format.
Installation
Python 3.10 or newer. With pipx (its own environment, recommended):
pipx install daftarche
or with pip, in an environment of your choice:
pip install daftarche
To start it with a double-click, run once:
daftarche install-app
This adds Daftarche to your Applications folder (macOS), the Start menu (Windows) or the applications menu (Linux), with its own icon. It starts the daftarche of the Python you ran the command with, and keeps working after updates.
To update, use Help → Check for Updates… in the app (it also checks quietly at
start-up) or daftarche update in a terminal.
For development, install from a clone: git clone https://github.com/vahid-anari/daftarche.git,
then pip install -e ".[dev]" in the folder; such a copy is updated with git pull.
Use
daftarche open the app
daftarche update update from PyPI (asks first; --check only looks)
daftarche install-app add the app to Applications / Start menu (--remove to undo)
daftarche --version
Import → Select QFX File… reads a statement downloaded from your bank's website; the account is recognised from the file, transactions already imported are skipped, and saved mappings fill in the categories. Edit what is left in the preview, then Import New. Transactions → Match Transfers pairs the two sides of a transfer between your accounts. Edit → Manage… edits the types, accounts, categories and tags; Edit → Settings… (⌘,) changes the font and colours. View → Uncategorized… (⌘U) and View → Unmatched Transfers… (⇧⌘U) show what is still left to sort, all time; double-click a line to see those transactions.
Your data
Nothing personal is stored in the program folder or in this repository. The app keeps its files in one folder:
~/Library/Application Support/Daftarche/ (macOS)
daftarche.db all transactions, accounts, categories
config.json theme and view settings
backups/daftarche-last.db written at every start
backups/daftarche-YYYY-MM.db first start of each month; the last 12 are kept
On Windows the folder is %APPDATA%\Daftarche, on Linux ~/.local/share/daftarche.
Set DAFTARCHE_HOME to use another folder, for example a test copy.
File → Back Up Database… and Restore Backup… save and load a copy of the database by hand.
The monthly snapshots sit on the same disk as the database; Settings → Extra
backup folder also copies them to a folder of your choice (iCloud Drive, an
external disk), and Time Machine covers the data folder too. Help → Show Data
Folder opens it.
Development
pip install -e ".[dev]"
pytest
The tests use only invented data (tests/data/sample.qfx) and a temporary data
folder. python tools/make_icon.py redraws the icon and the splash image.
Pushing a tag vX.Y.Z publishes a GitHub Release with that version's section of
CHANGELOG.md; python -m build && twine upload dist/* puts it on PyPI.
License
MIT License. See LICENSE.
Author
Vahid Anari · GitHub · LinkedIn
Related projects: linecat · sciwidgets · Maxwell Bloch Studio
Metadata
Release files for daftarche 0.13.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| daftarche-0.13.0.tar.gz | 496.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| daftarche-0.13.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 980.4 kB
Release files / daftarche-0.13.0.tar.gz
| Download URL | daftarche-0.13.0.tar.gz |
|---|---|
| Size | 496.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
1c2155ba8a840e06b2f2d9137ee58484cbbf3ecf0ccc4d5ea79da8037e191ea6
|
|
BLAKE2b-256 checksum How to use checksums |
d00656deef251c16e56c45e97049e1748ae12ce6896aca5bdaab92a91e367a05
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Release files / daftarche-0.13.0-py3-none-any.whl
| Download URL | daftarche-0.13.0-py3-none-any.whl |
|---|---|
| Size | 484.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
7c041db3aa3a76c74b699b27cc3546fc2778098376f3697d8beea1f499e51df9
|
|
BLAKE2b-256 checksum How to use checksums |
b6b294fc78f64bb2c0af9c9c1ac9b01ccf8607b92fa2baf083bf6f31aebe5969
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|