As my files have grown, and the complexity of my data has increased,
validation has been a big concern.

Typos in account names, metadata tags (ER #'s, categories, etc),
missing links to receipts, or myriads of other kinds of parseable but
slightly broken transactions have cropped up and always cost me money
in lost reimbursements.

This is a key item I need to fix immediately, and is closely related
to using a UI for data entry instead of a text editor.

A freeform text editor doesn't understand ledger's format, just plain
text. Using emacs helps with color coding, but try teaching an end
user emacs AND ledger at the same time. So here, the flexibility of
text is hurting me because text allows inconsistency.

I need to be able to ensure that data is entered (or altered)
consistently and correctly. A UI can really help by limiting the kinds
of edits and allowed values, or potentially constraints can be placed
in ledger (John's assert statements).

This was one of the main reasons I had considered moving to a database
like SQL. I could strictly enforce constraints on the data, without
having to code text editing routines and dealing with varying
underlying file layouts (ie: multiple files and directories). A
database was simple, central storage with a fast API to develop
against.

I don't like SQL because SQL means I lose VC and the benefits that
provides. I looked at some text databases like GNU Recutils which
allow typed enumerated fields, and John suggested that ledger could
simulate that with assert statements. I'm still investigating that
option.

I did throw together an example database schema modelled on Ledger's
text format, with a txn composed of multiple postings. It didn't take
long at all. Unfortunately all the Ledger functionality would be
unavailable if I took that route, and I would be reimplementing basic
features from scratch on the reporting side.

------------------------------------------------------------------
Russell Adams                            [email protected]

PGP Key ID:     0x1160DCB3           http://www.adamsinfoserv.com/

Fingerprint:    1723 D8CA 4280 1EC9 557F  66E8 1154 E018 1160 DCB3

Reply via email to