Bugs/quirks with using negative invoices as credits (v5.3.49-C73)


Once in a while I have to issue refunds or cancel an invoice that has already been sent to a client. I know the credits feature has been revamped recently but it’s still a bit rough around the edges and I prefer seeing everything invoice-related on the same page, hence I use negative invoices when I need to cancel or refund invoiced sums.

Overall, the feature works quite well, but there are some quirks that need to be ironed out, I think.

First, let’s see what works.

  1. I created a normal invoice for a test client and I marked it as paid for $500. Everything goes normally and the client has successully paid $500; this is reflected in the Clients tab:

  1. If I want to cancel that invoice and issue a refund, I would create a negative invoice of the same amount.

  1. If I mark that draft invoice as paid, a negative payment is created, the invoice balance gets zeroed and the client balance is adjusted by the amount of the invoice: this works as intended.



Client balance:

Success! The client has been refunded and everything balances out.

Now, about what doesn’t work, let’s go back to step 2.

  1. Let’s say I create a similar negative invoice for the negative amount of the first invoice in order to cancel it, but this time I mark it as sent instead of marking it as paid directly. The client Balance is now -$500.

  1. If I try to mark it as paid from the “Sent” status, I get that popup:


But the invoice status doesn’t actually update and it’s stuck at “Sent”:

No new payments are created either.

Also, if I try to go back to that invoice and edit it in any way (even without touching its amount, by say, editing the Invoice Terms) I get this error:


This also applies to the “Paid” negative invoices too, but “Draft” negative invoices can be edited at will.

But let’s assume for now that the invoice is OK and does not need to be edited further and that I just need to apply a negative payment to it.

  1. If I then try to create a manual negative payment for that invoice, I get a popup that the payment cannot be negative.


  1. If instead I try to add a negative payment not linked to the negative invoice, IN accepts it, but then it cannot be applied to anything after (the only available options for it are Archive and Delete):


However, the client “Paid to Date” now gets zeroed with the payment:

The Balance is still at -$500 because of the sent negative invoice, though.

So, all in all, the only way I found to make negative invoices work properly is to mark them as paid while they are still in draft mode. Everything else, from sending the negative invoice, to creative manual negative payments does not go as intended.

In retrospect, here are the bugs/quirks:

  • “Sent” negative invoices cannot be successfully marked as paid, even though the software says so in a popup, and are thus stuck in a status limbo (they cannot go back to a draft and cannot avance to the paid status, so they can only get deleted at this point);
  • “Sent” and “Paid” negative invoices cannot be edited at all, IN citing a negative balance, even though “Draft” negative invoices can be successfully edited, and of course all statuses of positive invoices can be edited too;
  • Negative payments tied to a negative invoice cannot be saved;
  • Negative payments not tied to an invoice can be saved, but then they can’t be applied to an invoice;

Thanks in advance for looking into that!

1 Like


Thanks for the detailed feedback!

cc @david

1 Like

@charles thanks for the detailed post, it really helps.

I think we are close now to covering everyone’s use cases with credits. I’ve attach a video with the latest functionality which will be included in the next release.

  1. Negative invoice support.

There will be complete support for negative invoices now. You can also mark a negative invoice as paid, this will create a negative payment and REDUCE the clients paid to date value by the balance which remains on the invoice.

  1. Invoice Reversal.

You can generate a credit direct from an invoice that has had a payment applied to it. The system will allow you to generate a credit UP to the value of the amount paid. You can also create multiple incremental credits notes up to the total of the amount paid on the invoice. These credits can be kept on file for future usage within the system.

  1. Negative Credits.

To handle the use case where a negative credit needs to be generated with an associated negative payment these can also be generated. These are essentially identical to negative invoices now however they are marked as a credit note.

I’ll tag v5.3.53 shortly and would appreciate feedback

cc @ecomsilio @bramdriesen @hillel


Cross referencing to Payment can't be applied to a credit note

Hi @david,

Thanks a lot for the fixes and the new features!

  1. Negative invoices now properly work when they are first marked as sent (they can then be successfully marked as paid), but I still can’t apply a negative payment payment manually on them, even though there is an “apply payment” option in the contextual menu:


  1. As for invoice reversal, it works well in its current form you demonstrated, but in my workflow a reversal would have to create a negative credit or a negative invoice in order to reduce the amount billed for that client - just having some sort of virtual money saved up in the system for a future payment would wreak havoc on income and sales tax reports, since those would not account for the credit in itself and just consider the sent invoices, even though the “paid to date” is reduced from the credit created. I guess that feature the way it is could be useful for some people, though!

  2. Negative credits have indeed become some kind of the same thing as negative invoices, but the latter still has the advantage, IMO, of being reflected in the dashboard and other totals calculations. If I invoice $500 and then create a -$500 invoice to cancel it, the dashboard will show $0 invoiced (which accounts for the real state of things), but if for the same $500 invoice I create a paid negative credit of -$500, the dashboard will still show $500, which is a bit confusing.