Lazarus Accounting

Recent

Author Topic: Lazarus Accounting  (Read 11052 times)

jtownsend

  • Newbie
  • Posts: 2
Lazarus Accounting
« on: September 28, 2013, 05:09:07 pm »
I am interested in developing an open source Accounting program that will be based on Firebird & PostgreSQL, and of course, Lazarus.

I assume that most posters here are proficient in Pascal, Delphi, and Lazarus. That is indeed necessary.

However, most of the business logic and transactions will reside with the database server. A good knowledge of SQL would also be necessary.

Finally, and very important, a basic understanding of bookkeeping and accounting is needed to follow the business logic.

I would like to know if any are interested in such a project. A well developed accounting program could be offered to your customers, and you will have the ability to customize it for their needs.

Thanks for your replies...

howardpc

  • Hero Member
  • *****
  • Posts: 4144
Re: Lazarus Accounting
« Reply #1 on: September 28, 2013, 05:40:38 pm »
Have you looked at gestinux? You'll find it here:
http://sourceforge.net/projects/gestinux/

BigChimp

  • Hero Member
  • *****
  • Posts: 5740
  • Add to the wiki - it's free ;)
    • FPCUp, PaperTiger scanning and other open source projects
Re: Lazarus Accounting
« Reply #2 on: September 28, 2013, 05:43:06 pm »
Well, you could get resources/inspiration/code from CheckBook tracker, a GPL open source personal finance program written in Lazarus about 10 years ago.

Also, there's TurboCash/osFinancials that uses a Firebird database and has a Delphi codebase, though it uses (obsolete, commercial) 3rd party components and porting efforts have ground to a halt.

I remember there was a forum user (gestinux?) who was involved in Linux open source accounting programs; don't know if he used Lazarus.

I'm not interested myself except in a tangentially related thing: keeping track of bank transactions/balances by importing downloaded statement files.

Thanks.
Want quicker answers to your questions? Read http://wiki.lazarus.freepascal.org/Lazarus_Faq#What_is_the_correct_way_to_ask_questions_in_the_forum.3F

Open source including papertiger OCR/PDF scanning:
https://bitbucket.org/reiniero

Lazarus trunk+FPC trunk x86, Windows x64 unless otherwise specified

jtownsend

  • Newbie
  • Posts: 2
Re: Lazarus Accounting
« Reply #3 on: September 28, 2013, 06:24:21 pm »
Have you looked at gestinux? You'll find it here:
http://sourceforge.net/projects/gestinux/

No I haven't, thanks. I missed this one, and I have looked at many open source accounting projects over the years.

Wikipedia has a good list: http://en.wikipedia.org/wiki/Comparison_of_accounting_software.

I will let you know what I find out.

Chronos

  • Full Member
  • ***
  • Posts: 240
    • PascalClassLibrary
Re: Lazarus Accounting
« Reply #4 on: September 28, 2013, 11:26:20 pm »
I checked known projects as gestinux, bianco listed on http://wiki.lazarus.freepascal.org/Projects_using_Lazarus#Management.2C_Accounting_and_other_Business_Software before few months and they are only basic immature products. To be able to cooperate internationally we need to develop similar product as OpenERP. Who studied its internals know that it have sophisticated modular concept. Every country have somehow different accounting so it definitely have to be solved be localization modules. Also it should be database independent to be able to run also with sqlite and mysql/mariadb and others. Not talking that soon or later basic accounting will need to touch other ERP stuff like warehouse management, task/projects, document management, and many others... But accounting itself is good starting point for such project.

I am also interesting in this domain. Question is how to develop project like this to be able to lead it to successful working release. This would require not small team of keen people. Really big challenge. I suggest you to either join one of existing projects or write "strategic plan" and start new project. Then others with same interests and belief can join you.

Graeme

  • Hero Member
  • *****
  • Posts: 1428
    • Graeme on the web
Re: Lazarus Accounting
« Reply #5 on: September 28, 2013, 11:42:56 pm »
Have you looked at gestinux? You'll find it here:
http://sourceforge.net/projects/gestinux/
It's always good to see such projects appear [I really like the Object Pascal language], but there is some bad news too... I haven't actually tried to run Gestinux yet, but I did take a quick look at the source code. From a design point of view it looks terrible! SQL statements side the GUI layer (Forms), business logic mixed inside the GUI layer and data modules. :-/

As a basic (think limited and simple) accounting package this might work, but as soon as extra features get added this is going to be one nightmare of a project to maintain. It needs some serious refactoring, clearly separating the business layer from the gui layer. This will also open the doors to support more database backends.
--
fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal
http://fpgui.sourceforge.net/

a.atalla

  • Jr. Member
  • **
  • Posts: 82
Re: Lazarus Accounting
« Reply #6 on: September 29, 2013, 12:02:42 am »
It's always good to see such projects appear [I really like the Object Pascal language], but there is some bad news too... I haven't actually tried to run Gestinux yet, but I did take a quick look at the source code. From a design point of view it looks terrible! SQL statements side the GUI layer (Forms), business logic mixed inside the GUI layer and data modules. :-

As a newbie  programmer , i always do these mix in my applications , any suggestion how to learn organizing my projects and seperate the logics from each othe?
does tiOPF  help much in this ?
Lazarus 1.0.8 | FPC 2.6.2 x64  | Arch Linux x64 | Windows 7-x86

a.atalla

  • Jr. Member
  • **
  • Posts: 82
Re: Lazarus Accounting
« Reply #7 on: September 29, 2013, 12:15:42 am »
This project from ana arabic developer
http://sourceforge.net/projects/open-gest/files/
Lazarus 1.0.8 | FPC 2.6.2 x64  | Arch Linux x64 | Windows 7-x86

BigChimp

  • Hero Member
  • *****
  • Posts: 5740
  • Add to the wiki - it's free ;)
    • FPCUp, PaperTiger scanning and other open source projects
Re: Lazarus Accounting
« Reply #8 on: September 29, 2013, 10:34:44 am »
Thanks, a.atalla.

Had a very quick look. Similar observation to what Graeme mentioned in the other post: database code mixed in with GUI code.
However, the author does use parameterized queries which gestinux does not seem to do.
Disadvantage of this project is that the sourceforge site does not show a code repository and I've just been guessing which source code zip to download (downloaded the latest).

Regarding the organization of code: I still haven used tiopf so can't really say anything about it, but I use this:
- move everything that is SQL or database related to a database unit
- move calculations/actions/query code to a business layer. The business layer calls the db layer functions/queries to do the work at the database layer
- which allows you to only include the business layer in your forms, never the database or even database units directly

Fortunately, Lazarus has good refactoring support (extract procedure etc) so changing existing projects is relatively easy.
Want quicker answers to your questions? Read http://wiki.lazarus.freepascal.org/Lazarus_Faq#What_is_the_correct_way_to_ask_questions_in_the_forum.3F

Open source including papertiger OCR/PDF scanning:
https://bitbucket.org/reiniero

Lazarus trunk+FPC trunk x86, Windows x64 unless otherwise specified

Graeme

  • Hero Member
  • *****
  • Posts: 1428
    • Graeme on the web
Re: Lazarus Accounting
« Reply #9 on: September 29, 2013, 11:12:45 am »
As a newbie  programmer , i always do these mix in my applications , any suggestion how to learn organizing my projects and separate the logics from each other?
That seems to be the general design Delphi promoted, and still does! So many follow by that example, thus leads to very hard to maintain software, and ever harder to develop when component suites need to change, or an additional database backend needs to be added etc.
Quote
Does tiOPF  help much in this ?
Obviously I'm a big fan of tiOPF [I'm the maintainer], but that is not the only solution to help clear separation in your projects.  But to answer your question... Yes, tiOPF definitely helps the developer in the right direction. tiOPF also allows you to support multiple databases and multiple database components, all from the same source code - you can switch between them with a simple compiler define change.

Developing with unit tests (Test Driven Development) is also a fantastic way to develop, and continuously keeps you on your toes by keeping the various layers separate. If your unit tests become hard to write, you are probably pulling in too many dependencies.

Here are some links that might be useful:

Demo 21, mentioned above, also shows the usage of a compound design pattern called MGM (Model-GUI-Mediator). It is an alternative to DBAware components, which also promote the idea of code reuse and separating the business logic from the GUI layer.
--
fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal
http://fpgui.sourceforge.net/

bylaardt

  • Sr. Member
  • ****
  • Posts: 309
Re: Lazarus Accounting
« Reply #10 on: September 29, 2013, 06:05:36 pm »
I'm a accounter here in Brazil.

In 2006 i developed a project (in portuguese) a ERP project with just a exclusive accounting module. In first moment the project was essentialy academic, but today is a reality.
The proposal was control the entire company only with the patrimonial and financial concept.

How i do it?
easy!
every account can be register complementary informations.

Example:
To register a receivable account you must register too:
due date,payer,original invoice number
If you need a position of the receiving account, you just need make a SQL grouping then invoice number.

The complete project is in portuguese. And It works fine.

if anyone need a copy...but its in portuguese.

Leledumbo

  • Hero Member
  • *****
  • Posts: 8701
  • Programming + Glam Metal + Tae Kwon Do = Me
Re: Lazarus Accounting
« Reply #11 on: September 30, 2013, 12:44:36 am »
Quote
As a newbie  programmer , i always do these mix in my applications , any suggestion how to learn organizing my projects and seperate the logics from each othe?
does tiOPF  help much in this ?
tiOPF or any other persistence mechanism won't help much if you don't understand architectural design pattern and applies its rules to your coding behavior. Knowing what belongs where is the most important part (who should check for fields' validity before persisting an object? who is responsible for persisting? who should update UI that shows the object's field? etc).

 

TinyPortal © 2005-2018