what to do in company books with failed orders?

why not just create a simple mod that DOES show the status of the invoice on the invoice… or even does something like an image overlay (almost like a watermark) on the invoice that says “Cancelled” when it’s printed… just a thought



and while magento does/might come with the mentioned feature by default… how many of cscart’s features does it NOT come with?

[quote name=‘luckdragon’]why not just create a simple mod that DOES show the status of the invoice on the invoice… or even does something like an image overlay (almost like a watermark) on the invoice that says “Cancelled” when it’s printed… just a thought



and while magento does/might come with the mentioned feature by default… how many of cscart’s features does it NOT come with?[/QUOTE]



I’m not saying cs-cart is not good … it’s just that there are certain essential features missing (for my application, and apparently also for other people)



about writing a mod : I already have a large number of projects, I need a shopping cart system that works off the shelf and has essential features built in



what you say about using order status is possible, but that doesn’t fix the numbering of the invoices and it doesn’t give you credit memos …

guess I don’t understand why it doesn’t fix it…



invoice 65 = order

invoice 66 = order (voided)

invoice 67 = order



it’s still got all of the invoices… there’s no store in the world that doesn’t have returns or chargebacks, so, you are saying that you only want your invoices to be for valid orders?



and isn’t the rma feature for some type of credit? (haven’t played with that part of it as for my business I don’t need it, (no physical products))

[quote name=‘luckdragon’]guess I don’t understand why it doesn’t fix it…



invoice 65 = order

invoice 66 = order (voided)

invoice 67 = order



it’s still got all of the invoices… there’s no store in the world that doesn’t have returns or chargebacks, so, you are saying that you only want your invoices to be for valid orders?



and isn’t the rma feature for some type of credit? (haven’t played with that part of it as for my business I don’t need it, (no physical products))[/QUOTE]



in your above example, since 66 is voided, there are two possibilities :


  1. create an invoice for 66, and then create a credit memo cancelling invoice 66. both documents need to be booked by the accountant, so it costs money. if your accountant charges you 30 dollars per hour, and he works 20 minutes to book these two documents, you have just wasted 10 dollars.


  2. don’t book invoice 66 at al. But then the problem is that you have invoice 65 followed by invoice 67, which will create problems with the tax office. there cannot be any gaps in the invoice number sequence.



    even if there was a way to make the invoice numbering follow nicely, we still need a way to create credit memos. what are you going to do when a customer returns a product? when you do a refund, you need to put a credit memo in the company books.



    of course, if you have the simple accounting scheme (cash based accounting?), you might not have to deal with this.



    all the RMA module does is let you do a product return, and it registers the return in the order. but that’s it. it doesn’t generate a credit memo as far as I can see.



    the ordering system and RMA system is fine, but we need a way to create proper invoices and credit memos from the orders.

actually, there is… it requires a 2 line mod all you have to do is when an order gets deleted, reset the auto-increment counter to 1, and it will start with the first available number (aka, the deleted order)

[quote name=‘luckdragon’]so, you are saying that you only want your invoices to be for valid orders[/QUOTE]



Yes.

Unfortunately this is the accounting rule in Europe. If we have a total of 50 orders and only 20 processed orders whe must have 20 numbered invoices and not 50 invoices.


[quote name=‘luckdragon’]and while magento does/might come with the mentioned feature by default… how many of cscart’s features does it NOT come with?[/QUOTE]



true… I’m always talking about my needs, please do not take my words as offending words to CS-Cart. The missing feature mentioned in this thread is just ESSENTIAL for European based companies. That’s it.

Luckdragon, I totally agree that CS-Cart is by far the best ecommerce cart in the market.



For the problem of numbered invoices, I do not see how a mod that re-arrages the order can solution this. If invoice 66 is deleted when 67,68,69 and 70 have already been created, you will still have a missing invoice number at the end which you can not properly justify in European accounting.

For better understanding, all European invoices created must be charged invoices, you may have returned products for sure but that’s different. The thing is you can not have many invoice numbers missing because saying “My cs-cart store creates invoices when an order is placed and not when it is actually charged” will not be a reasonable excuse for a tax inspector.



What about having pre-invoices for all orders and then invoices for the paid ones? Can this be fixed? I wish we could have the following: when a client makes an order, no matter the payment chosen, he gets a proforma (no numbers, just the word PROFORMA or simply ORDER, as you like) and then when the order is paid (bank transfer money received, for example) we tick the order as “paid” or “shipped” and then the client gets the invoice with the corresponding invoice number.

Too complicated?:confused:

[quote name=‘mirnitagl’]Luckdragon, I totally agree that CS-Cart is by far the best ecommerce cart in the market.



For the problem of numbered invoices, I do not see how a mod that re-arrages the order can solution this. If invoice 66 is deleted when 67,68,69 and 70 have already been created, you will still have a missing invoice number at the end which you can not properly justify in European accounting.

For better understanding, all European invoices created must be charged invoices, you may have return products for sure but that’s different. The thing is you can not have many invoice numbers missing because saying “My cs-cart store creates invoices when an order is placed and not when it is actually charged” will not be a reasonable excuse for a tax inspector.



What about having pre-invoices for all orders and then invoices for the paid ones? Can this be fixed? I wish we could have the following: when a client makes an order, no matter the payment chosen, he gets a pre-invoice (no numbers, just the word PRE-INVOICE or simply ORDER, as you like) and then when the order is paid (bank transfer money received, for example) we tick the order as “paid” or “shipped” and then the client gets the invoice with the corresponding invoice number.

Too complicated?:confused:[/QUOTE]



i think this would be a solution, but like I already pointed out this approach has some flaws :


  1. there is no real list of invoices which you can look at, besides the order list
  2. you will still need to keep a seperate invoice number counter because you will have gaps in the order number sequence for orders you can’t invoice, if you decide to use the order number as invoice number.



    even if we have this, we still don’t have a proper system to handle product returns, because we can’t create credit memos or credit notes, how they are called in Belgium, for example.

if the current invoices are 65,66, 67,68, and 69 and you delete 66, then with my 2 line mod, the very next invoice to be created would be 66, not 70… it would “fill in the gap” and then continue forward to the next available

[quote name=‘luckdragon’]if the current invoices are 65,66, 67,68, and 69 and you delete 66, then with my 2 line mod, the very next invoice to be created would be 66, not 70… it would “fill in the gap” and then continue forward to the next available[/QUOTE]



Are you sure it would only take 2 lines? You do know that the order #'s are related to other database tables as well.?



I don’t need this mod but it sure would clean up the trash.

yes, because the order numbers in the other tables are relational… when you delete an order, it removes all references in all tables… then, when an order is placed, it creates the order in the order table and then creates all the associated references using the id# generated by the order table… so, if you reset the pointer in the order table, it resets all of the references automatically…



it would just be “alter table tablename set AUTO_INCREMENT=0” and then the actual command to execute the query (could technically be done on 1 line)

[quote name=‘luckdragon’]yes, because the order numbers in the other tables are relational… when you delete an order, it removes all references in all tables… then, when an order is placed, it creates the order in the order table and then creates all the associated references using the id# generated by the order table… so, if you reset the pointer in the order table, it resets all of the references automatically…



it would just be “alter table tablename set AUTO_INCREMENT=0” and then the actual command to execute the query (could technically be done on 1 line)[/QUOTE]



ok. it can be a fix, not a solution.



I will have to delete all those orders by hand, and make sure i don’t forget any order, which creates extra work.



I’m not sure your fix will work if you have multiple orders …



order 55 ok

order 56 bad

order 57 ok

order 58 bad

order 59 bad

order 60 ok



so when you delete order 56, how can your fix make the next order, 57, be renumbered to 56 ? in fact, all the orders after that will have to renumber too.



order 55 ok

order 56 ok (was order 57)

order 57 bad (was order 58)

order 58 bad (was order 59)

order 59 ok (was order 60)



that looks like a huge mess to me. a much cleaner solution is to leave the orders as they are, and add an invoicing and credit note system, but like i said, that is probably a major job.

no, it doesn’t re-number the existing invoices



55 ok

56 bad

57 ok

58 bad

59 bad

60 ok





so, you’ve now deleted the bad orders, so in your db, it says



55

57

60



the next order that comes in will be 56 rather than 61… the one after that would be 58, then 59, then finally 61





also… have you looked at the RMA addon? it has different statuses like refund (aka credit memo)…





lastly, in regards to what you said earlier about 30 per hour to your accountant and 2 hours for the 2 invoices (the void, etc…) if it takes your accountant 1 hour per piece of paper, it sounds to me like it’s time to find a new accountant :stuck_out_tongue:

[quote name=‘luckdragon’]no, it doesn’t re-number the existing invoices



55 ok

56 bad

57 ok

58 bad

59 bad

60 ok





so, you’ve now deleted the bad orders, so in your db, it says



55

57

60



the next order that comes in will be 56 rather than 61… the one after that would be 58, then 59, then finally 61







also, in regards to what you said earlier about 30 per hour to your accountant and 2 hours for the 2 invoices (the void, etc…) if it takes your accountant 1 hour per piece of paper, it sounds to me like it’s time to find a new accountant :P[/QUOTE]



hehe… i actually said : if he spends 10 minutes on each invoice …

if he did spend one hour per invoice,that would be pretty bad.



what you are saying about the order sequence shows exactly my point :

it will create gaps in the order sequence, even after using your fix.



besides, there are also good reasons why to leave the orders as they are and not delete anything. maybe you want to keep track of the orders which are not real orders, like people downloading something from the shop that is free. those orders are valuable, and you don’t want to delete them, but you also don’t want to invoice them. you just want to invoice the ones which have been paid for, and you want sequential numbering for those invoices, maybe even with a different starting number than the order numbers, such that the invoices follow the numbering from last quarter’s books which have already been closed due to the VAT filing/return.

I dunno… I guess I don’t see the difference between an order and an invoice… even if it’s a “free” order… it SHOULD have a $0 invoice to go with it… otherwise, you can’t call it an order… I mean, an invoice is just record of an order that was placed… just like a refund is an order for a negative amount

have you ever used or seen cube cart? or how their invoice numbering structure works?



their invoice numbering system is like:



inv #: 081031-161037-7369

inv #: 081030-211355-6016



not sure where the last set of #'s comes from, but they are:



YYMMDD-HHMMSS-xxxx



and they aren’t sequential but, for arguments sake, let’s say that the last 4 digits are the last 4 #'s in their ip address… how could they find “gaps” in an invoicing structure like that… it would require 5255 people ordering every second in order to be “sequential”





also, european law states: “What if there is a break in sequence, for example where I cancel an invoice or it is spoiled and never issued to a customer?

As long as you retain the cancelled or spoiled invoice in your accounting records, or you can provide an explanation for the break in sequence, this is acceptable.”



this information was found here:



[url]HM Revenue & Customs



and since they are the ones setting the law… I would think that they would know what they are talking about, no?

[quote name=‘luckdragon’]I dunno… I guess I don’t see the difference between an order and an invoice… even if it’s a “free” order… it SHOULD have a $0 invoice to go with it… otherwise, you can’t call it an order… I mean, an invoice is just record of an order that was placed… just like a refund is an order for a negative amount[/QUOTE]



for me an order is just something that exists in your own shop, and nobody needs to know about it.



invoices and credit notes on the other hand, are documents which are processed in your company books, and thus carry some kind of legal status. so there is a difference.



i want to use orders and their data for my own reference, and i want to use invoices and credit notes for the books.

[quote name=‘luckdragon’]have you ever used or seen cube cart? or how their invoice numbering structure works?



their invoice numbering system is like:



inv #: 081031-161037-7369

inv #: 081030-211355-6016



not sure where the last set of #'s comes from, but they are:



YYMMDD-HHMMSS-xxxx



and they aren’t sequential but, for arguments sake, let’s say that the last 4 digits are the last 4 #'s in their ip address… how could they find “gaps” in an invoicing structure like that… it would require 5255 people ordering every second in order to be “sequential”[/QUOTE]



well, I guess cube cart causes the same problems then… it certainly wouldn’t be possible to use those numbers for invoice numbers.



perhaps people in the EU who use that software export the orders to a list, and then import them into a seperate invoicing application in which they convert the orders into invoices.



or they import the list directly in their accounting software and assign numbering there.

also, european law states: “What if there is a break in sequence, for example where I cancel an invoice or it is spoiled and never issued to a customer?

As long as you retain the cancelled or spoiled invoice in your accounting records, or you can provide an explanation for the break in sequence, this is acceptable.”



this information was found here:



[url]HM Revenue & Customs



and since they are the ones setting the law… I would think that they would know what they are talking about, no?

[quote name=‘luckdragon’]I dunno… I guess I don’t see the difference between an order and an invoice… even if it’s a “free” order… it SHOULD have a $0 invoice to go with it… otherwise, you can’t call it an order… I mean, an invoice is just record of an order that was placed… just like a refund is an order for a negative amount[/QUOTE]



having an invoice for 0 USD is a bad idea because your accountant will have to book it. imagine you have a million downloads. do you want to book a million invoices at 5 dollars each, if he spends 10 minutes on each invoice?