Change "Invoice" to "Receipt" in Confirmation Emails?

When I buy something from an online store with a credit card, I expect to get a RECEIPT (because I've already paid), not an INVOICE (which suggests there is something to pay).

Same when I buy at a physical store or restaurant. I get a RECEIPT–an acknowledgement that I've paid money for goods/services.

Is there a way to configure CS-Cart 3.x to do this?

I've been using CS-Cart 2.x for 3 years and right at the beginning I asked CS-Cart Support how to do this. They gave me instructions on how, but every time I upgraded the cart sofware, I had to redo this. This ought not to be so.

Just wondering if this is now possible in CS-Cart 3. There ought to be a language variable or something where a simple change would make this…simple change. After all, it's just one word.

Thanks in advance for your answer.

You can see the language variables used in /skins/your_skin/mail/orders/invoice.tpl

In this instance, change the language variable 'invoice' value to 'Receipt'

[quote name='StellarBytes' timestamp='1361192892' post='155666']

You can see the language variables used in /skins/your_skin/mail/orders/invoice.tpl

In this instance, change the language variable 'invoice' value to 'Receipt'


So you think it's possible to just change this variable, thus making it upgrade proof? Seems to me there was a reason CS support told me this was not possible, which is why they made me go all around Robin Hood's barn.

Also, what if they choose “Check” as a payment method, in which case in really would be an invoice…i.e. they are going to pay later? Maybe that's why it's not as simple as changing a language variable…

I think you answered your own questions there…as far as I'm aware there are no hooks available for the mail templates, therefore they get overwritten when you upgrade. Language variables might get updated during an update, but even if you created a custom language variable, although the language variables value wouldn't get reset in an upgrade, the template with the call for that language variable would get wiped out! It would be amazing if someone could correct me on this though.

Seems totally incredible to me that after all this time, the option to say “Receipt” instead of “Invoice” isn't just a simple toggle in the backend of the store. I guess all other CS-Cart users are happy for their customers to get an email Invoice instead of Receipt when they buy something…

It's not really fair to say that the cart should issue a “Receipt” for a purchase, especially for Open orders. A receipt more accurately comes from the bank/cc processor/paypal. The shop provides an invoice that itemizes the products purchases and “bottom-lines” it as “paid”, “due”, “overdue”, “balance due”, etc.

I'm finalizing 2012's data for my taxes and as I sort and file all my documents for expenses, I find that almost all my online purchases are itemized on emailed “Invoices”. Purchases made in shops, from my local suppliers for raw materials (paint, plating services, etc.), also have printed “Invoices” that state “paid in full”. The language is “here is your invoice for your records”, and “products on invoice”.

Rather than renaming the language from Invoice to Receipt, you might want to consider changing it to “Order Confirmation” or " “Order Contents” or just “Your Order”, but technically, an Invoice includes an itemized list, and a receipt doesn't necessarily have to.

I agree with some of that, but nowhere on the “Invoice” that my customers receive (default CS-Cart email for an order paid by Credit Card or PayPal) does it say “Paid.”

I guess I'm the odd one out here, so I'll just have Support give me a list of modifications for the 3.x code and keep updating it with each upgrade, just like I did for 3 years with 2.x.

Thanks for the replies.

Or scream and shout and threaten to sing death metal outside their offices during lunch hour until they add hooks to mail templates. Good plan.

Hooks to mail templates would be cool…

I agree that the Invoice should indicate PAID or DUE - depending upon the order status.

In their defense, CS-Cart does change the language in the top of the email message depending upon the order status.

My Open orders Invoices have language at the top that provide instructions for making the payment, and the Processed orders (paid) state that payment has been received. Most of that was already in the email language, but needed normalized for human consumption :)

I know I am responding waayyy after the fact and you may have resolved this by now, but what I did was create a new Order Status called Paid. So when I receive an order, after the payment is processed I change the order status from open to Paid, then print a receipt that goes with their order (I'm in newer versions and may go with packing slips now). So the copy I give them says Invoice at the top but at Status it says Paid.