Java based accounting software - collaborative project


J

John Court

I have previously used Sage Line 100 software and think it had some serious
problems. I have been coding bits of business software for a while now using
Java and mySQL, and am now fairly sure that a small team of programmers and
accountants could produce software much better than Line 100 (but with a
similar market) as a "free time" collaborative effort using these
technologies. Is anyone interested in being involved in this at any level
(design / programming / accounting input)?

John
 
Ad

Advertisements

D

Dave

"John Court" said:
I have previously used Sage Line 100 software and think it had some serious
problems. I have been coding bits of business software for a while now using
Java and mySQL, and am now fairly sure that a small team of programmers and
accountants could produce software much better than Line 100 (but with a
similar market) as a "free time" collaborative effort using these
technologies. Is anyone interested in being involved in this at any level
(design / programming / accounting input)?

John
Java for accounts production, that's a very interesting idea....

and how do we contact you ?

Dave
--

----- + ----- + -----
The internet is too big to fit in your recycle bin
Do you REALLY want to delete it?
----- + ----- + -----
 
P

Paul Thomas

I have previously used Sage Line 100 software and think it had some
serious problems. I have been coding bits of business software for a
while now using Java and mySQL, and am now fairly sure that a small team
of programmers and accountants could produce software much better than
Line 100 (but with a similar market) as a "free time" collaborative
effort using these technologies. Is anyone interested in being involved
in this at any level (design / programming / accounting input)?
I did a bit of Googling about and there's one or two still-born Java
accounting OS projects around but I couldn't find anything being actively
developed. Currently, I'm using SQL-Ledger and I've been toying with the
idea of developing a Java "clone" of it for quite a while but I simply
don't have a couple of man-years spare ATM.

Vital features for me would be:

1) Web interface
2) PostgreSQL back-end (only a fool would use MySQL for something this
important)
3) BSD-style license
4) High level of input from accounting professionals

I could probably chip in some design know-how. Couldn't promise on the
programming front.

--
Paul Thomas
+------------------------------+---------------------------------------------+
| Thomas Micro Systems Limited | Software Solutions for the Smaller Business |
| Computer Consultants | http://www.thomas-micro-systems-ltd.co.uk |
+------------------------------+---------------------------------------------+
 
J

John Court

Dave said:
Java for accounts production, that's a very interesting idea....

and how do we contact you ?

Dave
--

----- + ----- + -----
The internet is too big to fit in your recycle bin
Do you REALLY want to delete it?
----- + ----- + -----
You can email me "jm at jcourt.com".

John
 
J

John Court

Paul Thomas said:
I did a bit of Googling about and there's one or two still-born Java
accounting OS projects around but I couldn't find anything being actively
developed. Currently, I'm using SQL-Ledger and I've been toying with the
idea of developing a Java "clone" of it for quite a while but I simply
don't have a couple of man-years spare ATM.

Vital features for me would be:

1) Web interface
2) PostgreSQL back-end (only a fool would use MySQL for something this
important)
3) BSD-style license
4) High level of input from accounting professionals

I could probably chip in some design know-how. Couldn't promise on the
programming front.

--
Paul Thomas
+------------------------------+--------------------------------------------
-+
| Thomas Micro Systems Limited | Software Solutions for the Smaller Business |
| Computer Consultants | http://www.thomas-micro-systems-ltd.co.uk |
+------------------------------+--------------------------------------------
-+

Paul,

I did a similar search, also looking at open source projects in other
languages and didn't find anything active and with the same goal. As far as
your features go here are my thoughts ...

1. Interface. I have more experience with Java applications (awt / swing),
but a web interface sounds sensible.

2. Choice of database. To a certain extent this could be varied depending on
the number of users / transactions. If a common subset of SQL were used by
the application then changing the JDBC should not cause problems (given that
an identical DB schema has been implemented on each database).

3. Licensing. I suppose it depends on what the quality of the product is
going to be!

4. Input from accountants. Agree 100%. I would have thought that finding out
exactly what the requirements are regarding data that has to be stored and
reports that have to be produced would be crucial in designing the DB (for a
start). Although this info can be obtained by looking at existing book
keeping methods, advice from people with experience is clearly more useful.

It is difficult to be specific about timings, but I suspect that a first
version as a basis for review and improvement could be coded in a month
(full time), so this seems feasible as a part-time effort.

I also think that perhaps the most important function would be increased
flexibility with regard to the database schema. One of the problems with
many existing products is the one-size-fits-all approach. If users could
modify or rewrite certain queries, then many of these problems could be
alleviated.

If you were prepared to look over database and use-case design (for
example), that would be ideal.

John
 
P

Paul Thomas

[snip]
It is difficult to be specific about timings, but I suspect that a first
version as a basis for review and improvement could be coded in a month
(full time), so this seems feasible as a part-time effort.

I also think that perhaps the most important function would be increased
flexibility with regard to the database schema. One of the problems with
many existing products is the one-size-fits-all approach. If users could
modify or rewrite certain queries, then many of these problems could be
alleviated.

If you were prepared to look over database and use-case design (for
example), that would be ideal.
I think this is rapidly getting too OT for this ng. Can we take it off
line? Either remove the hyphen from the email address in the header or
everything after the wwww. from the one in my sig to get a valid email
address.

regards

--
Paul Thomas
+------------------------------+---------------------------------------------+
| Thomas Micro Systems Limited | Software Solutions for the Smaller Business |
| Computer Consultants | http://www.thomas-micro-systems-ltd.co.uk |
+------------------------------+---------------------------------------------+
 
Ad

Advertisements

M

Michelle J

Paul Thomas said:
I think this is rapidly getting too OT for this ng. Can we take it off
line? Either remove the hyphen from the email address in the header or
everything after the wwww. from the one in my sig to get a valid email
address.
The moment anything remotely interesting (to my eyes at least!) pops
up on here it gets slated as "off topic" It is related to accounting,
its not spam, input from those with experience in many fields would
make a huge contribution to projects like this but I note from the
charter that:

"However, the following are not appropriate in this group:

* Discussion of implementation/usage of computers or accounting
software"

In hindsight Is this element of the charter really a good idea?

Where is a more appropriate place that is not product specific where
cross fertilisation of ideas can occur?

Is the deadzone that is alt.comp.software.financial really the place
for this or is there a need for something like
uk.business.accountancy.software?


--
 
P

Peter Saxton

The moment anything remotely interesting (to my eyes at least!) pops
up on here it gets slated as "off topic" It is related to accounting,
its not spam, input from those with experience in many fields would
make a huge contribution to projects like this but I note from the
charter that:

"However, the following are not appropriate in this group:

* Discussion of implementation/usage of computers or accounting
software"

In hindsight Is this element of the charter really a good idea?

Where is a more appropriate place that is not product specific where
cross fertilisation of ideas can occur?

Is the deadzone that is alt.comp.software.financial really the place
for this or is there a need for something like
uk.business.accountancy.software?
I agree. Is it possible to have a discussion and decision about
changing the charter?
 
R

Ronald Raygun

Peter said:
I agree. Is it possible to have a discussion and decision about
changing the charter?
I wouldn't have thought so. Much too difficult. Far easier just
to agree to change the interpretation.

I think it really wants to try to discourage questions about how
to solve some problem or other using a specific extant software
product. Not to put too fine a point on it, it means this is not
the proper place to ask questions about bloody Sage.

How to design a new "ideal" piece of software is a completely
different issue.
 
P

Paul Thomas

The moment anything remotely interesting (to my eyes at least!) pops up
on here it gets slated as "off topic" It is related to accounting, its
not spam, input from those with experience in many fields would make a
huge contribution to projects like this but I note from the charter
that:

"However, the following are not appropriate in this group:

* Discussion of implementation/usage of computers or accounting
software"

In hindsight Is this element of the charter really a good idea?

Where is a more appropriate place that is not product specific where
cross fertilisation of ideas can occur?

Is the deadzone that is alt.comp.software.financial really the place for
this or is there a need for something like
uk.business.accountancy.software?
I'm sorry if you thought I was slating the thread as off-topic. I was
merely trying to be good net-citizen and take off-line something which
was rapidly heading toward a discussion on the pros and cons of various
programming techniques and I'm pretty sure that would be off topic. Maybe
we should set up a mailing list?

--
Paul Thomas
+------------------------------+---------------------------------------------+
| Thomas Micro Systems Limited | Software Solutions for the Smaller Business |
| Computer Consultants | http://www.thomas-micro-systems-ltd.co.uk |
+------------------------------+---------------------------------------------+
 
F

Frank X

Paul Thomas said:
I'm sorry if you thought I was slating the thread as off-topic. I was
merely trying to be good net-citizen and take off-line something which
was rapidly heading toward a discussion on the pros and cons of various
programming techniques and I'm pretty sure that would be off topic. Maybe
we should set up a mailing list?
No, I think Michelle was absolutely right, it shouldn't be off topic. Proper
discussion of how to program a model of a business is often used to define
the business itself.

Many modern business practitioners will be familiar with IT techniques and
are able to keep up, I think it is well worth keeping on topic and/or
changing the charter.

I myself have developed a basic accounting solution to develop a
hierarchical view of accounts that I couldn't find in sage (this is very
likely to be my ignorance).

If people don't want to read the thread they don't have to ;o)
 
Ad

Advertisements

R

Ronald Raygun

J M Court said:
Platform independence
No, Java is part of the platform, which is a triple (hardware,
operating system, development language). If what you mean is
independence of hardware and operating system, then there are
plenty of other languages which will give you that, such as
Perl and C.
Internet / networking support
Again, Java is not alone in this respect, and in any case it can
be argued that one might want to keep data as far away from any
network as possible to comply with data protection requirements.
Personal experience
Well, that's the best reason so far, and if you were proposing
to beaver away and do your own thing, that would be fine, but
if you are proposing a collaborative project, then it's not
*your* personal experience that should be of paramount
importance.
 
C

Clive George

No, Java is part of the platform, which is a triple (hardware,
operating system, development language). If what you mean is
independence of hardware and operating system, then there are
plenty of other languages which will give you that, such as
Perl and C.
Development language isn't platform - hardware and OS is though. Typically
the latter two are fixed, but you have a lot of freedon with the former,
hence it isn't platform.

You forgot UI, which is the worst bit these days about platform
compatibility. Java's a pretty good choice for Mac/X/Windows compatibility
unless you want to start spending money.

And 'C' as platform independent? Giggle... Have you seen the configuration
scripts for even *nix builds of simple console programs, let alone allowing
windows into the field.

cheers,
clive
 
J

J M Court

Ronald Raygun said:
No, Java is part of the platform, which is a triple (hardware,
operating system, development language). If what you mean is
independence of hardware and operating system, then there are
plenty of other languages which will give you that, such as
Perl and C.


Again, Java is not alone in this respect, and in any case it can
be argued that one might want to keep data as far away from any
network as possible to comply with data protection requirements.


Well, that's the best reason so far, and if you were proposing
to beaver away and do your own thing, that would be fine, but
if you are proposing a collaborative project, then it's not
*your* personal experience that should be of paramount
importance.

(shamelessly plagiarises from Sun..)
Platform Independence
Java technology works independently of any single hardware architecture.
In addition to different kinds of desktop computers, Java technology works
on servers, consumer devices, rings, electronic keys, cards, and any other
device that supports the Java platform.
The architecture-neutral nature of Java technology is extremely important in
a networked world where you cannot predict what kinds of devices your
customers, partners, suppliers, and employees may use to connect to you.
(end of plagiarising)

You say "Keep data away from the network." Sun Microsystems, Inc. (says)
"The Network Is The Computer"[tm]. If the network is the computer, I reckon
it might need to see some data!

"it's not *your* personal experience that should be of paramount
importance."

Agreed in the general case. The experience of the team is crucial in making
implementation decisions. Since I appear to be the only volunteer thus far,
I'll play to the strength of the team.

Don't worry, i'm not really Sun's bitch!

John
 
Ad

Advertisements

R

Ronald Raygun

J M Court said:
(shamelessly plagiarises from Sun..)
Platform Independence
Java technology works independently of any single hardware architecture.
Blech. Java is not a "technology". It's just a programming language
with its attendant support environment, which happens to have heavy
emphasis on a way of working that's supposed to sit nicely with networks.
In addition to different kinds of desktop computers, Java technology works
on servers, consumer devices, rings, electronic keys, cards, and any other
device that supports the Java platform.
It works on anything that supports it? Wow, that's true of everything!
The architecture-neutral nature of Java technology is extremely important
in a networked world where you cannot predict what kinds of devices your
customers, partners, suppliers, and employees may use to connect to you.
(end of plagiarising)

You say "Keep data away from the network." Sun Microsystems, Inc. (says)
"The Network Is The Computer"[tm].
Yucky marketing babble!
If the network is the computer, I
reckon it might need to see some data!
If you want your data on the right side of your firewall, you had
better keep them away from *that* kind of "computer".
"it's not *your* personal experience that should be of paramount
importance."

Agreed in the general case. The experience of the team is crucial in
making implementation decisions.
That's backwards. At the end of the day, the market will decide
what it likes best. The implementation decisions will therefore
be judged on results. If you let the experience of the team
prejudge the issue, you may end up with the wrong results. Isn't
it more correct to let the users guide (not make) the implementation
decisions and *from that* decide what team experience (and perhaps
therefore which team, if any) is most appropriate?
Since I appear to be the only volunteer
thus far, I'll play to the strength of the team.
A one man band is not a team. Mind you, it's probably better.
Don't worry, i'm not really Sun's bitch!
Thank goodness.
 
R

Ray Smith

John Court said:
I have previously used Sage Line 100 software and think it had some serious
problems. I have been coding bits of business software for a while now using
Java and mySQL, and am now fairly sure that a small team of programmers and
accountants could produce software much better than Line 100 (but with a
similar market) as a "free time" collaborative effort using these
technologies. Is anyone interested in being involved in this at any level
(design / programming / accounting input)?

John
Hi John,

I've been toying with the idea of writting a personal finance package
based on
solid accounting principles.
(for personal use / experience etc ... not for a commercial project)

My problem is I have no "accounting principles"! and have been looking
around
at how accounting systems "fit together". I've pretty much come up
blank on
finding any information that can help a non accounting person learn
how to
implement an accounting system. I'm guessing my best bet would be to
download
and study some of the open source accounting systems (GNUCash / SQL
Ledger etc). And obviously read a good book on accounting (anyone
have any
recommendations?)

This is where I find the "Design" stage of your project interesting.
What I
would love to see is :
* a SQL schema for an accounting system, and
* a series of algorithms for accounting processes and how that
interacts with
the schema. E.g. :
+ setting up opening balances
+ simple transactions
+ End of Month/Year rolls
+ Interest updates
+ (the 100 other things I don't even know about!)
+ etc

If the first step of your project documented in great detail how an
accounting
system fits together with details how processes fit together and how
they
add/delete/update records in tables it could eventually be implemented
by
different people in there preferred OS/Language.

Basically I'd love to see an "Open Source Accounting Standard"!!!

Does anyone know of any resources currently available like this?

Thanks,

Ray Smith
 
R

Ronald Raygun

Ray said:
This is where I find the "Design" stage of your project interesting.
What I would love to see is :
* a SQL schema for an accounting system, and
I've no idea what an SQL "schema" is, but SQL is a database query
language. Frankly, I'm not at all convinced that databases at that
kind of level are really appropriate, at least not for a light-weight
system. All the data handed by a simple system which deals with a
single set of accounts can, I reckon, just be written to a linear
file, and does not need to be "managed" by a heavy DBMS which just
gets in the way.
* a series of algorithms for accounting processes and how that
interacts with the schema. E.g. :
+ setting up opening balances
+ simple transactions
+ End of Month/Year rolls
+ Interest updates
+ (the 100 other things I don't even know about!)
+ etc
You need a model for what an "account" is, and what a "transaction"
is. If working on the double-entry principle, which you should,
then each transaction entered into the system will need to be
represented by a tuple of arity of at least 5 (i.e. it needs to be
at least a quintuple) and must contain:

The date on which it took place,
The amount of money involved,
The account to be credited,
The account to be debited,
Some kind of description to say what it was,
and/or some kind of reference number to let you find the paper
document in the appropriate lever arch file.

It follows that an account will basically be a list of transactions,
but will also have a title of some kind, and there will be some
kind of higher level structure which describes how various accounts
are grouped together into things like Profit&Loss and Balance Sheet.
Does anyone know of any resources currently available like this?
Any basic text or course on bookkeeping would be a good start to
understanding the principles.
 
Ad

Advertisements

J

J M Court

Ronald Raygun said:
I've no idea what an SQL "schema" is, but SQL is a database query
language. Frankly, I'm not at all convinced that databases at that
kind of level are really appropriate, at least not for a light-weight
system. All the data handed by a simple system which deals with a
single set of accounts can, I reckon, just be written to a linear
file, and does not need to be "managed" by a heavy DBMS which just
gets in the way.
Ronald, I haven't quite worked out whether you are taking the piss on this
one. I assume that you are trolling for anyone who knows enough about the
history of databases to pick you up on the above.
You need a model for what an "account" is, and what a "transaction"
is. If working on the double-entry principle, which you should,
then each transaction entered into the system will need to be
represented by a tuple of arity of at least 5 (i.e. it needs to be
at least a quintuple) and must contain:

The date on which it took place,
The amount of money involved,
The account to be credited,
The account to be debited,
Some kind of description to say what it was,
and/or some kind of reference number to let you find the paper
document in the appropriate lever arch file.

It follows that an account will basically be a list of transactions,
but will also have a title of some kind, and there will be some
kind of higher level structure which describes how various accounts
are grouped together into things like Profit&Loss and Balance Sheet.


Any basic text or course on bookkeeping would be a good start to
understanding the principles.
....but the rest seems like serious advice!

You have confused me.

John
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top