Skip to content

WolfgangFahl/pynomina

Repository files navigation

pynomina

personal accounting tool with file conversion

Join the discussion at https://github.com/WolfgangFahl/pynomina/discussions pypi Github Actions Build PyPI Status GitHub issues GitHub closed issues API Docs License

Introduction

pynomina is intended as a personal accounting swiss army knife

Demo

Demo

Motivation

In the past decades the author used different personal accounting tools:

the pain the conversion between those tools created was finally big enough to do something about it.

Goals

  • use a computer and human readable ledger format that is ready to survive decades
  • convert from and to the formats of the tool of choice
  • allow for simple sanity checks and reports
  • allow for systematic tidy up
  • allow for integration into a larger organizational knowledge graph

Docs and Tutorials

Wiki

Hub & Spoke Conversion

The pyNomina tool follows a Hub and Spoke model for conversion between different personal accounting file formats. The Ledger Book (YAML/JSON) format acts as the hub, with each supported format serving as a spoke. This setup simplifies conversions by allowing data to be transformed from any spoke to the hub and then to any other spoke format.

Hub and Spoke Diagram

Supported Formats

Format Type Description Wikidata Entry
Ledger Book YAML/JSON Hub Main format of pyNomina for converting between formats. Ledger Book
Beancount Spoke A plaintext accounting format. Beancount
GnuCash XML Spoke An XML-based format used by GnuCash. GnuCash
Microsoft Money Spoke Zip File exported with mny_export script using mdb-tools Microsoft Money
Finanzmanager Deluxe (QIF) Spoke A variant of QIF used by Finanzmanager Deluxe. Finanzmanager Deluxe
Quicken Interchange Format Spoke Quicken Interchange Format (QIF) Quicken
pyNomina Banking ZV YAML Spoke A format for exporting banking data in YAML or JSON. Banking ZV

Structure

Ledger-Book Hub Structure

ledger module Class Diagram

Authors