Book-keeping (accounting)

12 views
Skip to first unread message

Gordon Haverland

unread,
Sep 1, 2018, 9:13:05 PM9/1/18
to the-quanti...@googlegroups.com
I am pretty good at linear systems and differential equations. I suck
big time on user interfaces.

I want to do something, that will be compatible with Ledger (the text
format program/package, which among other things has the Haskell
program hledger which works with it). Perl has some support for Ledger.

What I think will work the best, is for me to write a diary (in LaTeX),
and have some kind of special "paragraph" (or function) which can be
parsed by LaTeX, but can also be recognized by a perl program as
accounting information (compatible with Ledger).

As I will scan my diary more than once, it makes sense that whatever I
use to scan the diary for book-keeping entries, submits that to a
database, so that each entry only exists once. This means there will
be 3 different versions of the data on my computer: the diary, the
database, and the ledger text file. And thinking about it, you
probably want to keep the ledger text file in a versioning system of
some kind.

Within a class of accounts, I think keeping things hierarchical makes
sense. If I buy fuel, is the fuel gasoline, diesel or something else?
If the fuel is gasoline, some fraction of it may be for personal use,
some for business use. If the fuel is diesel, the fractions will be
different. If I am on vacation, a fuel purchase probably shouldn't be
split the same as if I was on the farm working.

I really have no good idea as to what kind of tree of accounts I will
end up with. The ledger (and related) website have multiple
suggestions for account setup, some more abstract and some more
concrete. A friend also want to work with ledger based accounting, has
a long developed set of accounts he would like to use.

If I talk in the language of HTML::FormFu, I would like to be able to
choose between types of account hierarchies, and then once a choice has
been made, be able to edit the names of accounts, to insert or delete
subaccounts, and then be able to write a (sort of) YAML file which
describes my choice.

Unlike many of the Perl Gods, I make mistakes in typing. Hence, I may
want to edit an entry. Finding an entry in a diary could be harder
than you think, so a person may want to edit it. My friend who has an
established accounts tree, doesn't want to keep a diary for this, and
maybe an editing function could be morphed into data entry. (We are
working on a bunch of things together, so it is good to help each other
when we can.) But I think an edit or accounting input function should
start from this YAML file which describes whatever account tree we are
using.

I have tried to work with many UI related packages over the years, and
I usually get confused and quit before anything gets finished. This
last bit of single stepping through Catalyst and FormFu was not
helpful. And looking for examples of the YAML descriptions gets some
hits, but nobody ever shows what the HTML looks like. I write
something, and it doesn't compile, with an error that doesn't help in
trying to figure out what I did wrong. I see that Rose:: has some
capabilities in this regard, and I looked at Rose:: a long time ago and
had the same kinds of problems that I am having now. And Jonathon
Schwartz had stuff that I tried. And ... did stuff which I tried.

Did I mention I am hopeless at UIs?

I would like to be able to choose between different accounting trees
using a UI. HTML makes a lot of sense here. JS to me never makes
sense.

I would like to be able to edit the accounting tree. I would like to
be able to write the edited accounting tree as (sort of) YAML, to use
for editing or data input. (As near as I can tell, Config::Any has no
ability to write, but I didn't look at the source.)

Am I looking for something which is not possible to do in Perl with
existing modules? What modules, or better yet families of modules
should I look at? Are there good sources of documentation somewhere
(and URLs please)?

For those who are interested. The business is the farm (all 40 acres
of it). And the knowledge in my head (more than 35,000 hours of
materials science and engineering, and other stuff). So I have a
company (in name) that does materials science. I have a company about
using things like Arduino and Raspberry Pi (to embed in buildings for
farms, and other stuff). My farm is in a universe of monoculture, and
I am going to follow permaculture (sort of). My best guess is that it
will be a Research Farm. I would like to do strip trials of crops like
cereals where a robot on a truss is transported across the strip by
robots supporting the truss on either side. This will plant the crop,
do weeding (using image analysis) and harvest the crop, straw, .... I
will have fruit, berry, nut and other trees here. Can robots prune the
trees? Thin out fruit? Look for pests/diseases? Harvest? One of the
biggest problems I have is deer (mule deer and moose). I am hoping
Osage-orange hedge will keep out deer. Can a robot prune Osage-orange
hedge? A problem I ran across this year, can a robot go looking for
yellow jacket wasp nests on the ground and kill them? I don't think
there is anything that they polinate, that other polinators in my area
don't. And if there is, maybe I should quit growing it.

The Research task is to find and demonstrate multiculture approaches to
agriculture in northern Canada (I'm at 56N) in a warming world (we are
already 1 USDA/Canada Zone warmer than most documentation for this area
suggests). Can we get local farmers to diversify their farms, to
diversify their incomes? And diversify the environment. Can we get
government to drop the bambi population by at least a factor of 10, to
arrest the restriction of biodiversity and forced unplanned change to
the forest that makes up so much of the surrounding lands here?

And now back to your regular programming. :-)

Have a great day!

Gord

Reply all
Reply to author
Forward
0 new messages