New data field for invoice object

Geert Janssens janssens-geert at
Sat Oct 8 12:23:25 EDT 2011

I'm working on introducing full credit note support in GnuCash [1]. After 
thinking it through for a long time I came to the conclusion I will need to 
add an extra parameter to the invoice object that has to be saved and restored 
from the data file.

I could use a new kvp, so older versions of GnuCash won't have any problems 
with this. The thing is though that credit notes require changes as such a 
fundamental level in de business logic that older GnuCash versions will 
probably choke on them anyway, or create wrong results. So backward 
compatibility is not really feasible.

And since kvp's are not nice for the sql backend, I think it will be better to 
use a true field.

I never added a field, and we have two major backend technologies now. So I'm 
asking some input on how to best proceed.

Derek suggested on irc to make it an optional field so that if credit notes 
are not used, older versions of GnuCash can still work with the data file. I 
can imagine this with the xml backend, but is such a thing possible with the 
sql backend as well ?


More information about the gnucash-devel mailing list