> 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.

I'm thinking this might depend greatly on how you're dealing with the
input data. This might not work for you but my CSV conversion method
goes as follows, from a new file:

1. I create a basic rules file for hledger, tell it which is the date
column, amount column, etc.
2. I feed the CSV data into hledger, creating an ledger file.  hledger
uses an "unknown" account for each of the unidentifiable records.
3. I run the generated ledger file into ledger (John's C version, 3.x
compiled from git),  doing the following command:

ledger3 -f file.ledger -w reg unknown | cut -d " " -f 2-4 | sort | uniq

This gives me a list of the first 3 words in the description for each
unknown transaction.  Usually I can determine an account
classification from this info.

4. I modify my hledger rules file and go back to step 2, repeating
until I have no more unknown transactions, and everything looks right.

> 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).

IIRC, but Beancount had a similar feature where it would throw errors
if you didn't predefine accounts before performing operations on them.

A single purpose "check ledger file for only valid accounts" utility
would be kind of handy...

- Zack

Reply via email to