Credit notes analysis

Geert Janssens janssens-geert at telenet.be
Mon Sep 12 11:42:36 EDT 2011


On zondag 11 september 2011, Graham Leggett wrote:
> On 11 Sep 2011, at 11:26 PM, Geert Janssens wrote:
> > I have spent some time to investigate what is needed to support
> > credit notes
> > in GnuCash. The result of my analysis can be found here:
> > http://wiki.gnucash.org/wiki/Credit_Notes
> > 
> > For simplicity I'm using the term "credit note" as the inverse of
> > all invoice
> > types we support so far (Bill/Invoice/Employee Voucher), not just
> > for customer
> > related transactions.
> > 
> > My conclusion would be that it should be possible to support credit
> > notes
> > without any change to the data model, although maybe one internally
> > used field
> > might hold some new values. It will require a minimal set of
> > compatibility
> > fixes the the current stable GnuCash version to  avoid some unwanted
> > confusion, but those are minimal.
> > 
> > I intend to start with an implementation of this fairly soon.
> > 
> > I'm welcoming all feedback, questions, remarks,...
> 
Hi Graham,

I remember you were actively involved in a discussion about the same topic a 
couple of years ago [1]. It's been a while :)

> At its simplest, credit notes are just debit notes with a negative
> sign, and it would be ideal if that's all they need to be. In other
> words, regardless of the amounts on the invoice/bill, the total amount
> can be negative or positive, and gnucash just gets on with it.
> 
Totally agreed, that's the core change that is needed, as I wrote in my 
analysis.

> Where I've had to fiddle with this before to apply payments, I've
> discovered that the code that allocates payments to invoices/bills
> assumes that the payment has a specific sign. We would just need to
> teach this algorithm to behave sensibly with payments and invoice/
> bills of either sign, and it should work fine.
Almost. There are several parts of GnuCash that are depending on this 
assumption. The payment allocation is the major part, but there are other more 
subtle areas that are affected. I wanted to be sure not to skip any, that's 
why I bothered digging more thouroughly through the code.

There are some reports that need to be tweaked to allow to print proper credit 
notes. In Belgium a negative invoice is not considered the same as a credit 
note, so I want to have both supported.

Another tricky area is backwards compatibility. A previous version of GnuCash 
doesn't have to be able to manipulate credit notes, but I should not mess up a 
data file that contains credit notes either. There were some subtle issues 
there as well.

> 
> In the absence of another way to do it, we modify the gnucash file in
> a text editor (and version control the gnucash file in svn) to reverse
> the sign of credit notes, we just haven't had a way of doing it before.
> 
I'm happy that work around works for you, but I can hardly expect all 
(business) users of GnuCash to dive into their data files to manually correct 
credit notes.

Geert

[1] https://lists.gnucash.org/pipermail/gnucash-devel/2007-August/021184.html


More information about the gnucash-devel mailing list