User: Password:
Subscribe / Log in / New account

Accounting systems: a rant and a quest

Accounting systems: a rant and a quest

Posted May 8, 2012 21:26 UTC (Tue) by Cyberax (✭ supporter ✭, #52523)
Parent article: Accounting systems: a rant and a quest

<rant mode>
Developers of GnuCash and other accounting programs clearly have zero knowledge of good existing accounting systems. But they can be forgiven, since there are NO good accounting systems on the US market.

That's right. Even QuickBooks is crap, it's a highly polished crap, but still crap. It's not configurable and its API is a PITA. It's also unreliable and slow.

A good accounting system should provide:
1) Way to construct custom forms and easily link them to entries in the accounting system.
2) A _temporal_ database for entries. I.e. it should be possible to do things like: "how had our accounts looked at 3:00PM June 11, 2011?", taking into account backdated documents and corrections.
3) A set of standard forms (which is actually the easiest part) with a way to construct new ones.
4) Easy way to integrate with logistics and warehouse management.
</rant mode>

(Log in to post comments)

Accounting systems: a rant and a quest

Posted May 8, 2012 22:36 UTC (Tue) by cantsin_ (subscriber, #74889) [Link]

I'm definitely not going to argue against your assertion that "Quickbooks is crap", but I have to ask: which particular software (US-centric or otherwise) would you consider great for small-business accounting?

Accounting systems: a rant and a quest

Posted May 9, 2012 2:08 UTC (Wed) by Cyberax (✭ supporter ✭, #52523) [Link]

In the xUSSR countries 1C Enterprise rules completely. Most needs of a typical small business can be automated almost completely. And it's also fairly easy to extend for specific purposes - a trained 1C developer can add typical business-related functionality as fast as you can make a spec.

Now, it's not ideal of course. The IDE in 1C is atrocious, its internal language is dumb, it's hard to scale 1C applications, etc. But the core ideas in its design are pretty good.

Accounting systems: a rant and a quest

Posted May 9, 2012 8:52 UTC (Wed) by dgm (subscriber, #49227) [Link]

Could you explain those ideas and design in some detail?

Accounting systems: a rant and a quest

Posted May 9, 2012 17:16 UTC (Wed) by Cyberax (✭ supporter ✭, #52523) [Link]

In short, it's built around the idea of 'documents'. Each operation has an associated document.

For example, each sale would result in a 'Receipt for customer' document. A document can have linked documents (a receipt would typically be linked to a shipping order, for example). Documents are generally immutable and are not changed once created.

The second fundamental idea are 'registers'. They represent a temporal database which accumulates the changes that are made when documents are created. I.e. you can have a register tracking your bank account balance and when you write a check it would be decreased by the check's amount. However, since registries are temporal, you can actually view your balance at any point in time.

Including the future.

Which very useful for things like warehouse management for things like: "Assuming I don't get any new orders and my current shipping orders are completed in time, how much widgets would I have in store on Monday next week?".

Also, it's useful for backdated documents (which happen all the time in small business) - you can enter a document in the past and 1C would recalculate all the reports/documents that are affected by the corresponding changes in registers.

Then there's an easy ability to create forms bound to documents/registers (a bit like MS Access but more powerful) and design reports.

A system like this is actually not that hard to create. But the amount of details you need to know is staggering.

For instance, a lot of 'ledger' software has a built-in CRMs (it's only logical). But only very few of them have a temporal CRM which becomes crucial quite soon when you start dealing with customers changing their company names and/or addresses and you need to reproduce historical documents.

Accounting systems: a rant and a quest

Posted May 9, 2012 17:50 UTC (Wed) by zlynx (subscriber, #2285) [Link]

From your description it really sounds like a system based on a functional programming language. Lists of immutable objects operated on by functions that accept a "time t" parameter and lazy evaluation.

I love the idea of a database that can be queried "as of time t". I seem to remember that PostgreSQL used to support that as a neat trick of MVCC (version 4 or 5?) but on larger tables with heavy use the transaction IDs rolled over too quickly.

Accounting systems: a rant and a quest

Posted May 9, 2012 18:04 UTC (Wed) by Cyberax (✭ supporter ✭, #52523) [Link]

Yes, it has the same ideas as functional programming. But such kind of logic must be implemented on the application level, it's not appropriate at the database level.

Copyright © 2017, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds