While I am able to delete an order, it seems impossible to get ride of an invoice without deleting it from the database manually. I can see how one would not want to delete one on regular basis, but it would still be nice if one could, at least while testing.

Or maybe they could get deleted automatically once the corresponding order is deleted?

Comments

guillaumev’s picture

Some comments on this have already been posted in this issue: http://drupal.org/node/1363058.

As I wrote, I'm not sure that the possibility to delete an invoice is valid in the accounting world. I believe that an invoice should never be deleted once it has been created. If a mistake has been done, a "credit note" should be issued. Maybe I'm wrong on this, but I think it would be interesting to have the opinion of an accountant...

loparr’s picture

Hi,
Let me demonstrate an example where deleting an invoice is useful in real life of an e-commerce website:

Let's imagine that customer pays for ordered goods after the package arrives using COD payment. In many countries there should be already an invoice contained in a package. This is easily doable by changing the rule you created - for example I want to create an invoice after the status has been changed from pending to processing - this is easy.

Now, imagine that a customer creates an order, I start to process it and all of a sudden I recieve an email from customer asking to cancel the order. Actually that happens sometimes. Now what? The invoice and invoice number is created and if I can not fix it in the database right now there will be one invoice missing. I am not going to send a credit note because of this.

On the other hand I am not saying that it is impossible to explain to an accountant what happened. I am sure that there are ways how to put such "unused" invoices into accounting without any troubles.

But what to do if I create an invoice by accident - it happens to me all the time. I want to fix it immediately.

So to sum it up, I think it would be great to have such functionality inside of this module. Firstly to be able to prevent confusion to our accountants and be able to fix such things ourselves. I have never had reason to delete any but recent orders because what I mentioned above.

I would say that instead of deleting any invoice, It would be enough to delete the invoices one after another starting from the last created. This way there will be no gaps in invoice numbering. Next created invoice would have the same number as the last one deleted.

Thank you.

guillaumev’s picture

Hi loparr,

Thanks for this, you convinced me :-) , but as you mention in the last lines of your comment, there are some strict rules that need to be put in place in order to avoid gaps in invoice numbering...

I won't be available in the next 2 weeks so I won't have time to provide any fix for that, but I'll see what I can do when I'm back...

loparr’s picture

Hi,
Great to hear it. Looking forward for this feature, count me in for testing:)

Thank you.

ñull’s picture

+1, subscribing

itamair’s picture

Title: Deleting an Invoice? » Deleting an Invoice? or Canceling it with "Credit Note" for Refunds rights?

another matter that might (should) be considered is the case of order refunds asked by the customer.
The Rights for Refunds is something that concretely affects any eCommerce store and is a mandatory right in the European Union area (for what I know): the client can claim is money back within 15 days from the transaction/order

Probably when an order as been refunded, the seller should be able to send a "credit note" to the buyer.
And this "credit note" should be linked (related, attached) to the order (as its history), thus marked as "refunded".

Two iusses has been sent from me to Drupal Commerce projects sites:
http://drupal.org/node/1419784#comment-5815272
http://www.drupalcommerce.org/node/2853

as this (complicated) matters really seems to be a cross functional module issue.

mcdoolz’s picture

Re: deleting.

Not to be a dick; If people are hacking your product to include a function, you should probably just bite the bullet, and accept that it's a necessary function.

Very slick and quick module btw! Nice and streamlined; super stylin' email links; love it!

attiks’s picture

As explained in #2, deleting should be possible, most accounting software allows you to mark an invoice as permanent, mostly meaning that it is sent to the client, once marked deleting and altering isn't possible. But as long as you are working on an invoice, it should be possible to do whatever you want, including deleting.

Another approach - trade off - is that deleting is allowed as long as the invoice is the last one.

zmove’s picture

+1 to this.

For me, it sounds more logical to associate the invoice with the payment. So, instead of generating the invoice on order complete, I changed the rule to generate the invoice when the order balance is 0.

If, for any reason, I have to delete the order or even delete the payment for that order, I would like to be able to delete the invoice too, to generate a new, clean invoice if I create a new payment for that order.

That's why it would be usefull to have a "delete invoice for that order" action rule. It would bring enought possibilities to let webmasters to create the behaviors they want.

elsteff1385’s picture

Following...

In irc's #drupal-commerce, joshmiller tipped me about Commerce RMA. This module provides return options (including reasoning) for items in orders that have been shipped out and marked "completed" (or any other state, prefered by the shop owner)

A "return" is a new order, linked to it's original order, desribing what line items are requested to be sent back. Line item wise, i believe this fills part of the needs of a cancel & refund module.

What i currently still need to find out is how to have line items with a negative quantity, thus resulting in a credit invoice. Correct me if i'm wrong here: according to European law, a credit invoice must display all prices and amounts in negative, and must say "Credit invoice". invoice numbering is allowed to be in line with normal invoices, so no need for a separate line of invoice numbers.

attiks’s picture

My (Belgian) credit invoices are always using positive numbers, AFAIK you could create a negative invoice instead, it has the same meaning, but most (Belgian) companies will create a credit invoice.

Credit invoice numbering is separate from normal invoices, and AFAIK it has to be separate.

PS: Commerce RMA looks good

elsteff1385’s picture

Got a full functional Commerce RMA + Commerce Invoice + Views PDF setup tweaked to produce invoices, packslips, RMAs, return labels and... credit invoices!

Invoices, packslips, and credit invoices are automatically generated, stored as pdf and e-mailed to the order owner!

It's not yet ready to be shared large, but for personal testing/development, i'm willing to let you take a look in my kitchen :)

dwkitchen’s picture

Issue summary: View changes
Status: Active » Closed (won't fix)

Closing all Drupal 7 issues as this project will only be supported for Drupal 8