Colleagues want me to use GnuCash at Work

698 views
Skip to first unread message

James

unread,
Apr 11, 2017, 2:55:21 AM4/11/17
to Ledger
Hi,
So my colleagues at work feel that I should use GNUCash for accounting purpose at work.I have tried using GNUCash but its rather very clunky(especially after using Ledger).
At my work place we process on average 100 transactions a day and our ledger can grow quite quickly.  My colleagues argue that GNUCash will be easier manage and keep things organized as opposed to Ledger.

I think ledger with orgmode is quite organized. Furthermore the idea of having the entire company account in a single text file is very intimidating to them so please share your views.

 Appreciate if someone could share their view on this.

Brian Exelbierd

unread,
Apr 11, 2017, 4:43:01 AM4/11/17
to ledge...@googlegroups.com
On Tue, Apr 11, 2017, at 08:55 AM, James wrote:
Hi,
So my colleagues at work feel that I should use GNUCash for accounting purpose at work.I have tried using GNUCash but its rather very clunky(especially after using Ledger).
At my work place we process on average 100 transactions a day and our ledger can grow quite quickly.  My colleagues argue that GNUCash will be easier manage and keep things organized as opposed to Ledger.

I last looked at GNU Cash a decade ago so my opinions are not current.


I think ledger with orgmode is quite organized. Furthermore the idea of having the entire company account in a single text file is very intimidating to them so please share your views.

I work with 5 different transaction generating groups in the Fedora project.  Our transaction count is very very low, but we solved the potential for problems by providing multiple files.  We have a single ledger file that just includes all the others.  We happen to store our files in git (revision control) so we can easily track what happened when and roll back if needed.

regards,

bex


 Appreciate if someone could share their view on this.


--

---
You received this message because you are subscribed to the Google Groups "Ledger" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ledger-cli+...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

o1bigtenor

unread,
Apr 11, 2017, 12:17:38 PM4/11/17
to ledge...@googlegroups.com
I'm a noob for climbing under the hood with ledger but I also very much like
the flat text file format. I'm also under your up to 100 transactions a day
level I'm hitting maybe 20% of that so YMMV!

Perhaps you might have this as a number of different files all from a master
file. So purchasing would have its 25, receiving has its 30, income has its
10 and disbursements has its 25 items each pulled onto a separate file (likely
entered that way into a file for purchasing etc . . . .) and yet
they are also
part of a master file which has everything. Those that are getting confused by
looking at the whole pile - - give them only their part of it.

For me, besides some cost accounting stuff and maybe some easier way
of track and aging invoicing I don't see much that I want to change.

Regards

Dee

Kushal Kumaran

unread,
Apr 11, 2017, 1:40:56 PM4/11/17
to ledge...@googlegroups.com
From what I recall when I migrated from gnucash to ledger, gnucash also
puts the entire ledger in a single text file (XML, though). Personally,
I found gnucash getting irritatingly slow (for adding transactions and
saving the file; no fancy reporting) by the time I switched. Meanwhile,
operations with ledger are still virtually instantaneous, with four
additional years of transactions (different machine, so add several
grains of salt).

With ledger you can split up the transactions into multiple files. The
manual describes one way to split them up for each year, if that's the
way you want to go. I haven't bothered to do this.

--
regards,
kushal

Lifepillar

unread,
Apr 11, 2017, 3:15:21 PM4/11/17
to ledge...@googlegroups.com
I cannot speak of GnuCash because I've never seriously used it. And I do
not use orgmode. For my personal finances, I organize my Ledger files
using one folder per year, as follows:

Ledger/
:
:
|___2016/
| |___ accounts.ledger
| |___ budget.ledger
| |___ equity.ledger
| |___ journal.ledger
| |___ payees.ledger
| |___ tags.ledger
|
|___2017/
|___ accounts.ledger
|___ budget.ledger
|___ equity.ledger
|___ journal.ledger
|___ payees.ledger
|___ tags.ledger

Accounts, payees, and tags files are just list of accounts, payees, and
tags, respectively (these are used to avoid typing mistakes in
conjunction with --check-payees --explicit --pedantic).

Similarly, each budget file just contains a yearly budget, e.g.:

include accounts.ledger

~ Monthly since 2017/01/01 until 2017/12/31
Expenses:Bills:Foobar $100.00
Assets

(I include accounts.ledger so that I can process this file
independently of the rest, e.g., to print the budget.)

Each equity file is generated by ledger at the end of each year (or at
the start of the new year). For example, when 2016 is "closed", I run:

ledger equity -f 2016/journal.ledger --effective >2017/equity.ledger

The generated equity file is then edited to change the date of the
opening balances transaction to 2017/01/01 and to clear the transaction.

The journal file is the daily updated file. Each journal starts by
including the other files, e.g., for 2017:

include ../2016/journal.ledger
include accounts.ledger
include payees.ledger
include tags.ledger
include budget.ledger

Note that each journal includes the journal of the previous year, so all
transactions are available. If I wanted to "archive" all journals (and
their accounts, and payees, and tags) before 2017, all I need to do is
change

include ../2016/journal.ledger

into

include equity.ledger

This change makes a folder entirely self-contained.

If you have a huge amount of transactions, you may split your data by
quarter or even by month (possibly with subfolders) to keep journals
small, and "archive" (in the sense above) journals older than N years
(to avoid opening too many files for each report). Should you need to
resurrect an N+1 years old transaction, that's just a matter of changing
an include line anyway.

Finally, everything is under source control.

Enjoy,
Life

Antoine Beaupre

unread,
Apr 13, 2017, 9:39:55 AM4/13/17
to ledge...@googlegroups.com
This will obviously not be a popular opinion here, but I found Gnucash
to work pretty well for a small business. I used it for 2 years for a
non-profit tech coop i co-founded in 2004, but we didn't have that many
transactions (we had 1200 transactions over those two years).

We ended up switching to SQL-Ledger/LedgerSMB back then, mostly because
we needed multi-user support, which wasn't so good in Gnucash back then,
although I heard things have improved.

Since I have left my job there, I resumed doing my own accounting as a
freelancer, and for this I'm using ledger-cli. I found a few quirks and
issues, but it mostly works for my small needs.

But I can't imagine running 100 transactions per day in ledger-cli. I
can't think of how I would allow for multiple to add transactions
simultaneously. Git? I already have merge conflicts with myself, and
they are not fun...

For this I would use an actual database-backed system like LedgerSMB,
Odoo or Tryton, probably the latter because it has nice Debian packages
and it's not written in perl, although I have only had experience with
LedgerSMB, which had worrisome consistency issues in the 1.2 version
(although there was a major cleanup done in 1.3+ releases).

Good luck!

A.

--
feature, n: a documented bug | bug, n: an undocumented feature
- Mario S F Ferreira <li...@FreeBSD.org>

Fergus Cameron

unread,
Apr 13, 2017, 10:28:57 AM4/13/17
to ledge...@googlegroups.com
I also worked as a consultant for many years and I can say this sounds
like a people/process problem, not a technical one. And as such I do
not expect that technical arguments will carry much weight (unless
they significantly effect the process). As such, if you have no
alternative process to "sell" then you will find this very difficult.

Some others have provided good process suggestions but unless you can
marry that to the people in your organization and help realize the
final business goals too, you will be stuck with the group decision.
Unfortunately it is the cost of working in a team. On the plus side,
this is usually best as "winning" implies ownership and you will be
left working every problem associated with the result until it's
operating smoothly.

Or to put it another way, "be careful what you wish for, you just
might get it". If you do decide to work through and "sell" a ledger
based process make sure not to criticize GnuCash unless it is over
something absolutely fundamental (i.e. we cannot achieve goal X with
that tool). Just focus on optimizing your process for the people so
that they see "ledger = less work".

As others have mentioned I believe that conflicts will be your
critical road-block in managing a multi-user process. 'git' is not a
solution and, a suggestion that it is will likely kill any
representation of yourself as a sane work colleague (unless of course
your colleagues are already 'git' proficient). This will lead to
consolidation efforts among multiple user files and this is the
opposite result you want (i.e. "ledger = more work") and thus you will
need to find a significant process improvement to offset that.

IMO the strongest argument is independence. The ability to allow
independent reporting to be consolidated quickly and effectively. To
gradually grow the costing structure to match the different parts of
an organization and discover and develop the higher level reporting
structure inline with that development. This requires long-term
investment in the process but as cost control is so fundamental to a
successful organization, this is more a positive assertion of
engagement than a problem. The same process is far less dynamic in a
centralized (database like) system, where we must globally define the
different cost centers and accounts for all departments at once.
Likewise they must be revised and consolidated at once. The reality
is that this very rarely happens and it can cause your cost analysis
to stagnate with an archaic or faulty view of your organization.

Good luck and have fun (it makes the battle easier).

Simon Michael

unread,
Apr 16, 2017, 2:05:25 PM4/16/17
to ledge...@googlegroups.com
On 4/13/17 6:39 AM, Antoine Beaupre wrote:
> But I can't imagine running 100 transactions per day in ledger-cli. I
> can't think of how I would allow for multiple to add transactions
> simultaneously. Git? I already have merge conflicts with myself, and
> they are not fun...

Interesting discussion. On the above point, purely from a technical
perspective, aren't transactions just a file append ? We have a number
of curses and web UIs which can add transactions, 10000 a day shouldn't
be a problem and no Git required.

Taylor R Campbell

unread,
Apr 16, 2017, 2:28:49 PM4/16/17
to ledge...@googlegroups.com
> Date: Sun, 16 Apr 2017 11:05:16 -0700
> From: Simon Michael <si...@joyful.com>
If you're considering multiple Unix processes trying to append to a
file simultaneously, that doesn't work very well unless they
voluntarily cooperate with a file lock.

If you have multiple users appending to their local copies and
committing to Git, so that there is an audit trail for every change to
the ledger, then they will get conflicts when they try to merge into a
central repository.

In both cases, you can work around this by having each process/user
edit their own private files, and then `merge' them by including them
in a common ledger file.

Might be nice if ledger could also do `include *.ledger' or something;
then you could use a separate file per transaction or group of
transactions without having to specify it up front. But there's no
globbing in `include'.

Pete Keen

unread,
Apr 16, 2017, 2:49:28 PM4/16/17
to Ledger
Ledger can glob on `include`. My top level ledger file is just this:

`include years/*.txt`

--Pete

On Sun, Apr 16, 2017 at 2:42 PM, Pete Keen <pe...@petekeen.net> wrote:
Ledger can totally glob in `!include`. My top level `ledger.txt` is this:

!include years/*.txt


--

---
You received this message because you are subscribed to the Google Groups "Ledger" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ledger-cli+unsubscribe@googlegroups.com.

Taylor R Campbell

unread,
Apr 16, 2017, 3:04:06 PM4/16/17
to ledge...@googlegroups.com
> Date: Sun, 16 Apr 2017 14:49:25 -0400
> From: Pete Keen <peter...@gmail.com>
>
> Ledger can glob on `include`. My top level ledger file is just this:
>
> `include years/*.txt`

I sit corrected! Sorry, could've sworn last time I tried that it
didn't work.

Simon Michael

unread,
Apr 16, 2017, 3:12:30 PM4/16/17
to ledge...@googlegroups.com
For a concrete example, I was imagining multiple users adding
transactions via hledger-web (http://demo.hledger.org/journal?add=1).
Simultaneous adds will probably "never" happen in practice, and if they
did, I expect going through a web app sequentialises them nicely.


Pete Keen

unread,
Apr 16, 2017, 3:17:04 PM4/16/17
to Ledger
If you wanted to get really radical each transaction could be a separate timestamped-to-the-second file and then have them all included with a glob. That would ensure that git (or whatever other VCS you use) would do the right thing.

Thomas R. Koll

unread,
Apr 21, 2017, 2:55:43 AM4/21/17
to Ledger
The one reason why I left GNUCash and never looked back is the absence of Undo.
Seriously, how can any application exist without this function?

Reply all
Reply to author
Forward
0 new messages