A few years ago, I managed to add a new report to GnuCash (specifically, an invoice format requested by a consulting client), but it was difficult because I couldn't find documentation on the application-specific APIs. The Scheme part itself was easy and a great choice for this.