• Post Reply Bookmark Topic Watch Topic
  • New Topic

Designing an accounting software  RSS feed

 
Johnny Dey
Greenhorn
Posts: 23
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I am building a software  for a local micro finance company in which the client wants me to implement double entry bookkeeping system. each transaction will be recorded twice and stored in a relevant ledger. there will be subsidiary ledgers as well.

I am thinking of the following approach to implement this requirement

There will be a general ledger object. this object will keep records about various sub general ledgers such as savings general ledger, daily loan general ledger etc. in turn these sub general ledgers will have their own child ledgers I.e. rent ledger under expenditure ledgers. a transaction object will be added to these ledgers every time a transaction occurs.

I have searched Google for hours to have a look at any real life design of such accounting software but with very little success. Can you please tell me if I am going to the right direction or not.
 
Pete Letkeman
Ranch Foreman
Posts: 907
26
Android Chrome IntelliJ IDE Java MySQL Database
  • Likes 1
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I do suspect that QuickBooks https://en.wikipedia.org/wiki/QuickBooks would work as a solution for your requirements.
I say this because they have been an accounting software provider for many years and they know all of the tax laws, for North America at least.
I am not doubting your programming powers, however in the event that you make a typo then you could break a tax law and be in trouble.

Just a couple of thoughts,
Pete
 
Campbell Ritchie
Marshal
Posts: 56546
172
  • Likes 1
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
PL is right: find something ready‑made.
Why are you supposed to implement double‑entry bookkeeping? Software implementations do not necessarily have to match the structure of paper systems.
 
Tim Cooke
Marshal
Posts: 4047
239
Clojure IntelliJ IDE Java
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
GnuCash is an excellent and free application for doing double entry book keeping, and a whole lot more besides. I'd be very surprised if it didn't tick all your requirements boxes.

Not to discourage you from writing your own application, but it's good to know about existing products first so you don't sink weeks into developing something you could have picked off the shelf on day 1.
 
Pete Letkeman
Ranch Foreman
Posts: 907
26
Android Chrome IntelliJ IDE Java MySQL Database
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Please do not be like the federal Canadian government with your accounting system.
After more then a year the accounting system that they have implemented is six times over budget at $400 million CND, people not being paid, people being paid too much.
You can read about this here:
http://www.ctvnews.ca/politics/a-year-after-phoenix-was-to-be-fixed-more-than-half-of-public-servants-still-having-pay-problems-1.3659222
 
Johnny Dey
Greenhorn
Posts: 23
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Campbell Ritchie wrote:PL is right: find something ready‑made.
Why are you supposed to implement double‑entry bookkeeping? Software implementations do not necessarily have to match the structure of paper systems.


I am an intermediate level self taught java programmer and as you might guess I am still not aware of many of solutions available. one other problem is the amount of customization my client wants which in some cases doesn't fully conform to standard bookkeeper's rule. for example my client wants each loan to have two sub ledgers one of which records the principal amount recovered and another inrerest account that records the amount of interest recovered. Being in the banking sector for over two years I know this is not the right approach.  But that's just the tip of iceberg.

I am not sure if I will be to customize all his requirements by integrating a 3rd party library. I may be wrong thrugh.
 
Johnny Dey
Greenhorn
Posts: 23
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Tim Cooke wrote:GnuCash is an excellent and free application for doing double entry book keeping, and a whole lot more besides. I'd be very surprised if it didn't tick all your requirements boxes.

Not to discourage you from writing your own application, but it's good to know about existing products first so you don't sink weeks into developing something you could have picked off the shelf on day 1.


Thank you for your suggestion. I have already downloaded and explored gnuCash. It did give me some good insights about how I can design the hierarchy of the logical structure of accounts. however the place I am totally lost is managing the level of complexity. Problem is I did not yet find an open source library looking at which might probably give me a clue as to how I should be able to design such system.  Customization is another factor that is making me scratch my head!
 
Campbell Ritchie
Marshal
Posts: 56546
172
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Are you sure you haven't bitten off more than you can chew? The last thing you want is to produce something which collapses unexpectedly.
 
Johnny Dey
Greenhorn
Posts: 23
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Campbell Ritchie wrote:Are you sure you haven't bitten off more than you can chew? The last thing you want is to produce something which collapses unexpectedly.


Well I did deliver some non trivial app before but none of them had to include double entry system.you are probably right. I might have bitten off more than I am supposed to. but Time is not a problem. there is no deadline. So I have plenty of time to model and remodel the design.
 
Tim Cooke
Marshal
Posts: 4047
239
Clojure IntelliJ IDE Java
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Nothing I've heard so far would cause me to discount GnuCash. I suggest that it's worth another look.
 
Peter Rooke
Ranch Hand
Posts: 900
7
Java Linux Spring
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Not Invented Here - Antipattern.  Will be a good exercise for you to learn, but makes little business sense.  Cannot help wondering what type of finance company would fund such a project!  Sage is $10 a month.

I've had to work with a few "custom" web java frameworks, mostly this has happened to ensure a single point of failure for political reasons.  Once heard a technical director talk about "writing their own database", didn't stay long enough to find out if they ever did!    
 
Tim Cooke
Marshal
Posts: 4047
239
Clojure IntelliJ IDE Java
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Peter Rooke wrote:Once heard a technical director talk about "writing their own database", didn't stay long enough to find out if they ever did!

You and I may have worked for the same company at different times, cos I work at a place that did write their own database. The results are as expected.
 
Don't get me started about those stupid light bulbs.
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
Boost this thread!