Erroneous behaviour of "Duplicate Invoice" feature in 2.4.2

DonM dm413-gc at intielectronics.com
Thu Feb 10 07:11:38 EST 2011


Christian,

Thanks for the detailed explanation of how to fix this issue.

I get this same error message whenever I create an invoice, using ver 2.4.0. I suspect this is because I always have a line on my invoice that has no charge on it, but I haven't tested to confirm this.  Is this related? Do I need to go back and fix my previous invoices in this fashion?

I raised this issue on this list back on Jan 15, but did not receive any response.

Thanks for your help,

Don


> Message: 8
> Date: Wed, 9 Feb 2011 22:33:25 +0100
> From: Christian Stimming<stimming at tuhh.de>
> Subject: Erroneous behaviour of "Duplicate Invoice" feature in 2.4.2
> 	(fixed in	SVN and upcoming 2.4.3)
> To: "gnucash-devel"<gnucash-devel at gnucash.org>
> Cc: Gnucash-User<gnucash-user at lists.gnucash.org>
>
> Dear all,
>
> the new "Duplicate Invoice" feature introduced into SVN on 2011-01-16 and
> newly available in version 2.4.2 unfortunately has a bug, which has been fixed
> today in SVN (r20260) and the fix will be in 2.4.3.
>
> The problem is that the newly created invoice erroneously has no internal
> currency set. This causes unexpected behaviour of the tax amount calculations
> - the values will be off by fractions of a cent and it might appear impossible
> to get the invoice lines sum up to a normal correct amount. When posting this
> sort of invoice, there will be a weird warning text saying "One or more of
> the entries are for accounts different from the invoice/bill currency. You
> will be asked for an exchange rate for each."
>
> Workaround #1: Don't use the "Duplicate Invoice" feature in version 2.4.2, it
> is broken. (Sorry for that.) It will be fixed in version 2.4.3.
>
> Workaround #2: If you already have created invoices this way which you need to
> have fixed, you have to manually edit the XML file with a text editor. There
> isn't any easier way to fix those.
>
> Here are the instructions for fixing an example invoice with the number
> "01234":
>
> 1. Save your XML file in uncompressed mode: In GnuCash, click "Edit" ->
> "Preferences", then the "General" tab, then un-check the check mark at the
> setting "Compress File". Then "Save" your file.
> 2. Copy your existing file to some other location so that you have a backup
> file in case anything goes wrong below.
> 3. Open the file with some text editor.
>
> 4. Do a text search for the string with your invoice number "01234". If the
> number isn't unique enough, you have to search for the number enclosed by the
> <invoice:id>  XML tag, which means the full search string is
> "<invoice:id>01234</invoice:id>". You should notice that the file contains
> only exactly one line with this content, and it's enclosed by a
> <gnc:GncInvoice>...</gnc:GncInvoice>  top-level XML tag. In the erroneous
> invoices, there is no sub-tag labeled<invoice:currency>  a few lines below,
> whereas in correct invoices, there is such a sub-tag.
>
> 5. Right after this<invoice:id>  line, insert the following four lines:
>
>    <invoice:currency>
>      <cmdty:space>ISO4217</cmdty:space>
>      <cmdty:id>USD</cmdty:id>
>    </invoice:currency>
>
> This sets the currency into the invoice and from then on it will behave
> correctly again. Of course instead of "USD" you need to insert the actual
> currency you intend to use, e.g. "EUR" or "CAD" or whatever. The amount of
> whitespace doesn't matter.
>
> 6. Save the file in the text editor and open it again in gnucash. (Feel free
> to re-enable "Compress File" again, if you like.)
>
> I'm sorry for any inconvenience this might have caused.
>
> Best Regards,
>
> Christian



More information about the gnucash-user mailing list