Re: GnuCash for Symbian

2012-04-04 Thread Hendrik Boom
On Wed, 04 Apr 2012 15:24:47 +0200, Łukasz Spas wrote:

> Hello.
> 
> I've developed small application for Symbian (tested on S60) which
> allows users to manage their finances using their Symbian phone. (Here
> is the repo: https://gitorious.org/gnucash-s60/gnucash-s60)
>   It is still incomplete because I would like to add functionality which
> allows to synchronize list of transactions with desktop' GnuCash via
> Bluetooth using QIF file format.
> And here goes the question - is it hard to add "reciving QIF file via
> Bluetooth & importing it to GnuCash's database" functionality? I have
> never look inside GnuCash's code and I don't know where I could start.
> (Maybe someone could help?) Moreover, is it even possible to add such
> Bluetooth import functionality to main GnuCash repo? I think it might be
> useful for many of smart-phones owners and gives a possibility to write
> many of mobile ports/clients of GnuCash easily.

Doing bluetooth is probably the easy part.  It's just a comm protocol, 
after all.

The trouble lies with QIF.  At least the last time I looked, it just 
doesn't have all the information you need.  It doesn't identify the 
account the QIF file is about, and it doesn't clearly identify the 
accounts that are at the other end of transactions.  The result is that 
the QIF reader in gnucash contains *lots* of code about guessing what 
accounts are to be used for different transactions and recording user 
feedback about the guesses to make better ones in the future.  Not to 
mention that if you get another QIF from the bank a week later, it has to 
identify which transactions are *already* in the gnucash file and which 
are new.  QIF provides no transaction serial numbers to make this 
reliable.  Such serial  numbers are de rigeur in any professionally 
designed protocol.

In any case, if the user has edited the transaction using gnucash, you 
*don't* want that change to make the importer fail to recognize it and 
import it anew.

So, to do the job *right* (whether it's worth the effort or not), gnucash 
would have to have unique transaction IDs for each transaction in its 
database. (Does it already do this?  I don't know.)

Then you could perhaps look at the code for qif import (or maybe there's 
another importer you could look at which might be better) and adapt it to 
whatever intermediate file format you'd *like* to use with your 
application.  That file format should explicitly identify the accounts at 
both ends of each transaction.  Gnucash accounts, at least in the XML 
file, have some king of binary hash ID to identify them uniquely.  That 
might be useful here.  I don't know if those hashes are in the actual 
data base, though, or just part of the XML file format.  You app would of 
course have to know the names of the accounts so that the user with the 
mobile phone could select them unambiguously.

It might even be possible that gnucash's XML format for transactions 
might have the right information for your intermediate files.  Or not. 

All in all, it's a big job, and *I* didn't volunteer to do anything like 
it a few years ago when I thought it might be useful.

-- hendrik

___
gnucash-devel mailing list
gnucash-devel@gnucash.org
https://lists.gnucash.org/mailman/listinfo/gnucash-devel


Re: GnuCash for Symbian

2012-04-04 Thread James Nylen
Lucas,

I cannot offer much guidance with implementing Bluetooth in GnuCash, but I
do not think that GnuCash should have this functionality. If I were doing
this, I would write a Python script that imports a QIF file, make that
script accessible via a web server, and have the smartphone app upload a
QIF file via HTTP. This seems like a more flexible approach to me. If you
still really want Bluetooth functionality, I think this should be a
separate application that runs alongside GnuCash.

I also wanted a mobile banking solution, so I've written a QIF import
script in Python that you may be able to adapt and use. It's part of a
larger web application that meets most of my needs so far. The QIF import
script is integrated with the Django models that the rest of the web
application uses, so it will require some editing. Here's the link to that
file:

https://github.com/nylen/gnucash-django/blob/master/gnucash_scripts/import_qif_file.py

I took the approach of making a mobile-friendly website that is mostly
read-only, so that GnuCash stores all the data, but it is available from
anywhere I have Internet access. Also, the import script above is part of a
process that automatically downloads my bank statements every 4 hours,
imports the transactions, and assigns them to the appropriate accounts.

I'm just telling you how I went about implementing my requirements for
mobile banking. Maybe some of this will give you ideas. Feel free to
contact me directly if you have any questions.

(Note to the GnuCash devs: I think it would be great to see more automation
around importing files, preferably with functions available via the Python
bindings. I realize you have other priorities, and unfortunately, I don't
think I'm in a position to contribute much to the GnuCash code. However, I
will continue to develop and improve my own solutions that run alongside
GnuCash, and make them available in case anyone finds them useful.)

Thanks,
James


On Wed, Apr 4, 2012 at 9:24 AM, Łukasz Spas  wrote:

> Hello.
>
> I've developed small application for Symbian (tested on S60) which allows
> users to manage their finances using their Symbian phone. (Here is the
> repo: 
> https://gitorious.org/gnucash-**s60/gnucash-s60
> )
>  It is still incomplete because I would like to add functionality which
> allows to synchronize list of transactions with desktop' GnuCash via
> Bluetooth using QIF file format.
> And here goes the question - is it hard to add "reciving QIF file via
> Bluetooth & importing it to GnuCash's database" functionality?
> I have never look inside GnuCash's code and I don't know where I could
> start. (Maybe someone could help?) Moreover, is it even possible to add
> such Bluetooth import functionality to main GnuCash repo? I think it might
> be useful for many of smart-phones owners and gives a possibility to write
> many of mobile ports/clients of GnuCash easily.
>
> Best regards,
> Lucas Spas
> __**_
> gnucash-devel mailing list
> gnucash-devel@gnucash.org
> https://lists.gnucash.org/**mailman/listinfo/gnucash-devel
>
___
gnucash-devel mailing list
gnucash-devel@gnucash.org
https://lists.gnucash.org/mailman/listinfo/gnucash-devel


Re: GnuCash for Symbian

2012-04-04 Thread Mike Alexander
--On April 4, 2012 10:56:02 AM -0400 Derek Atkins  
wrote:



GnuCash does have a QIF Import facility, but it's not automated, and
frankly I cannot think of a way to make it into an automated process
due to the way it needs to perform transaction duplicate detection
(and verification) as well as the transaction mapper to map to proper
accounts.

Your best option would be to provide a way to extract QIF from your
application so that a user can load it into GnuCash using the QIF
importer.



Bluetooth doesn't necessarily imply automatic.  It might be possible to 
fix things up so that the existing QIF importer reads the QIF data from 
a bluetooth connection.  This would depend on the availability of 
appropriate libraries on all the relevant platforms and require a 
significant amount of work inside GnuCash.  I don't know if this would 
be enough to satisfy the requirements or not.


 Mike


___
gnucash-devel mailing list
gnucash-devel@gnucash.org
https://lists.gnucash.org/mailman/listinfo/gnucash-devel


Re: GnuCash for Symbian

2012-04-04 Thread Derek Atkins
Hi,

Łukasz Spas  writes:

> Hello.
>
> I've developed small application for Symbian (tested on S60) which
> allows users to manage their finances using their Symbian phone. (Here
> is the repo: https://gitorious.org/gnucash-s60/gnucash-s60)
>  It is still incomplete because I would like to add functionality
> which allows to synchronize list of transactions with desktop' GnuCash
> via Bluetooth using QIF file format.
> And here goes the question - is it hard to add "reciving QIF file via
> Bluetooth & importing it to GnuCash's database" functionality?
> I have never look inside GnuCash's code and I don't know where I could
> start. (Maybe someone could help?) Moreover, is it even possible to
> add such Bluetooth import functionality to main GnuCash repo? I think
> it might be useful for many of smart-phones owners and gives a
> possibility to write many of mobile ports/clients of GnuCash easily.

GnuCash does have a QIF Import facility, but it's not automated, and
frankly I cannot think of a way to make it into an automated process due
to the way it needs to perform transaction duplicate detection (and
verification) as well as the transaction mapper to map to proper
accounts.

Your best option would be to provide a way to extract QIF from your
application so that a user can load it into GnuCash using the QIF
importer.

> Best regards,
> Lucas Spas

-derek

-- 
   Derek Atkins, SB '93 MIT EE, SM '95 MIT Media Laboratory
   Member, MIT Student Information Processing Board  (SIPB)
   URL: http://web.mit.edu/warlord/PP-ASEL-IA N1NWH
   warl...@mit.eduPGP key available

___
gnucash-devel mailing list
gnucash-devel@gnucash.org
https://lists.gnucash.org/mailman/listinfo/gnucash-devel


Minor nit

2012-04-04 Thread Donald Allen
The Gnucash home page, in the "Download Gnucash ..." area in the upper
right corner, refers to "Linux source". Those sources build and run on
the BSDs and some of us do run those systems. I'd suggest changing the
word "Linux" to "Unix".  Similarly, if you click the 'Via
distribution' link, no mention of the BSDs, all of which supply some
version of Gnucash as a binary package and/or built from source. The
wiki does mention FreeBSD, but not OpenBSD or NetBSD, both of which
provide Gnucash in binary and source form.

At some point, as time permits, I'll provide specific suggestions for
adding mention of the BSDs to the main site, and will edit the wiki
myself.

I'm also a Slackware enthusiast and the wiki page for installing
gnucash on that system is woefully out-of-date. I'll do some work on
that, too.

/Don
___
gnucash-devel mailing list
gnucash-devel@gnucash.org
https://lists.gnucash.org/mailman/listinfo/gnucash-devel


GnuCash for Symbian

2012-04-04 Thread Łukasz Spas

Hello.

I've developed small application for Symbian (tested on S60) which 
allows users to manage their finances using their Symbian phone. (Here 
is the repo: https://gitorious.org/gnucash-s60/gnucash-s60)
 It is still incomplete because I would like to add functionality which 
allows to synchronize list of transactions with desktop' GnuCash via 
Bluetooth using QIF file format.
And here goes the question - is it hard to add "reciving QIF file via 
Bluetooth & importing it to GnuCash's database" functionality?
I have never look inside GnuCash's code and I don't know where I could 
start. (Maybe someone could help?) Moreover, is it even possible to add 
such Bluetooth import functionality to main GnuCash repo? I think it 
might be useful for many of smart-phones owners and gives a possibility 
to write many of mobile ports/clients of GnuCash easily.


Best regards,
Lucas Spas
___
gnucash-devel mailing list
gnucash-devel@gnucash.org
https://lists.gnucash.org/mailman/listinfo/gnucash-devel