Email And Document Template Editor In Cs-Cart 4.4.1

Invoice should be issued only on complete orders or 8 days after proforma has been paied. Cs has a great mechanism to create a such scenario. Completed > invoice all other orders get proforma or memo…

But this elements can be removed in the future addon which is planned

Great feature editing invoice template.

Will be great add a kind of drag and drop with the fields we want to show on the template instead of add hard code. Maybe using angular2 can do the trick.

Let me know if need any help on this.

We have a language/naming issue.

cs-cart uses the term "invoice" when it should be "order receipt".

An order receipt should show the current status (by item) as well as the overall status of the order.

An invoice is a separate beast and is actually a legal document.

An invoice is a contract between the buyer and seller to deliver goods at an agreed upon price. Where the items in the order are at in the delivery process has nothing to do with the invoice.

So if you're going to combine these terms (and since cs-cart doesn't really handle partial fulfillment nor partial payment), I'd suggest that the status of the order be in the subject line versus the "invoice". I.e. Subject; Order 1234 (Processed), Subject: Order 1234 (Complete).

Just leave the current "invoice" as a document identifying the buyer/seller and the items purchased, their cost, discounts, gift certificates used, fees, shipping and any other charges/credits related to the order.

Regarding RMA... This is generally business-process specific. Generally if returned, there should be a credit for the the item on the invoice and order receipt for the 1st size (and marked returned) and then a new line item with a charge for the new size. If the item was just returned and not exchanged, then simply a credit for the line item that was returned (don't forget that a returned quantity can be different than the original quantity of the line item). Some businesses would expect a credit to be done on the first order and a whole new order issued for the exchanged item showing any residual balance (note a size exchanged may have different pricing).

Tony, have you had a chance to go through this post and dev docs.
Right now we in alpha state and we can make some serious changes. So I would really appreciate your feedback on this.


I've read the docs but have not reviewed the code or what it will actually take to convert my main addon that uses custom mail templates to use this new method (https://ez-ms.com/auto-mail.html).

I'm relying on the statement that existing templates will behave as they do now. The thought of going in to convert 100's of client custom templates to use this new functionality is far too consuming for a business of my size.

A conversion tool would be a big PLUS. Have you considered it? I.e. a store_import for the mail system.

Appreciate your following up.

Your code is missing _info.

{{ order_info.total }}

You are absolutely right. Thank you. It works!

Great feature editing invoice template.

Will be great add a kind of drag and drop with the fields we want to show on the template instead of add hard code. Maybe using angular2 can do the trick.

Let me know if need any help on this.

Thank you for the feedback, but we do not plan the Drag&Drop feature.

I just don't see any need of it.

That is why invoice should be create in very last step, when order is completed, before very last step invoice would be called proforma, proforma has no legal right, customer has no obligation to pay it or proceed with it, proforma are details and totals for

payment to be done. Commercial invoice would mean you are in debt, or you have made payment, proof of payment is receipt, bank receipt or similar..

We have a language/naming issue.

cs-cart uses the term "invoice" when it should be "order receipt".

An order receipt should show the current status (by item) as well as the overall status of the order.

An invoice is a separate beast and is actually a legal document.

An invoice is a contract between the buyer and seller to deliver goods at an agreed upon price. Where the items in the order are at in the delivery process has nothing to do with the invoice.

So if you're going to combine these terms (and since cs-cart doesn't really handle partial fulfillment nor partial payment), I'd suggest that the status of the order be in the subject line versus the "invoice". I.e. Subject; Order 1234 (Processed), Subject: Order 1234 (Complete).

Just leave the current "invoice" as a document identifying the buyer/seller and the items purchased, their cost, discounts, gift certificates used, fees, shipping and any other charges/credits related to the order.

Invoice should be issued only on complete orders or 8 days after proforma has been paied. Cs has a great mechanism to create a such scenario. Completed > invoice all other orders get proforma or memo...

Guys,

It turns out that current invoice editor actually will solve the problem. All you need to do to have real invoices is to remove some details from bult-in invoice, e.g. https://www.evernote.com/l/AQGbhDYN_E9O2YcXKOIxFdhhf-zFEV5yxas

Considering the fact that you can easily add all the required information into email notification body, I suppose this will do the trick.

So invoice won't be changed until you modify the order. In case you need to modify the order - you just clone it in order to make invoice number uniques.

I've read the docs but have not reviewed the code or what it will actually take to convert my main addon that uses custom mail templates to use this new method (https://ez-ms.com/auto-mail.html).

I'm relying on the statement that existing templates will behave as they do now. The thought of going in to convert 100's of client custom templates to use this new functionality is far too consuming for a business of my size.

A conversion tool would be a big PLUS. Have you considered it? I.e. a store_import for the mail system.

Appreciate your following up.

Tony, I think if you could check your add-ons on 4.4.1 alpha it would decrease the risks that we missed something.

As for the conversion tool - it will bring more problems than benefits, because we use different template engines, there could be no variables, etc. So we do not plan any kind of migration tool for email templates at the moment.

I would like to split discussion in to two sections.

http://demo.cs-cart.com/admin.php?dispatch=statuses.manage&type=O

Please note that order and invoice numbers are unique sequential, not related numbers even they both are for same order.

1. Status O Invoice/Credit memo - Default / Order

Is basic order summary of order, may contain order status, details for offline payment or what ever you want. Basically it can be treated as proforma or invoice for payment, or a packing slip.

2. Status C Invoice/Credit memo - Invoice

It is a document that got a legal power. One copy goes to customer one for sellers accountant then to tax man. Copies must 100% match and hold all credentials that individual country tax man request.

Now is speaking about "2. Status C Invoice/Credit memo - Invoice" I am expecting following:

1. Template editor - this part is done 100%, adding or removing status, this and that are optional, current version holds many tools to satisfy even very demanding individual needs..

2. Invoice generation - well this is also already available since generation is done when you change order status.

3. Invoice editor, a simple WYSIWYG text editor for generated invoice. Most important is feature to save changes, download as PDF.

Not sure why it is problem for imac to save text changes since invoice number (ex 56) and order number (ex 101) for same order are not even related.

4. A way to override changes, re generate invoice to default state according to order status, in case of typing, mistake correction.

As I said, pretty much all I mentioned above is available now. Only thing missing WYSIWYG with save function. When order reaches Status C Invoice/Credit memo - Invoice level Status O Invoice/Credit memo - Default / Order is no longer important and can be modified as simple WYSIWYG text and saved. Order C cannot go back to Order O, there is no way to make invoice -1 without actually breaking in to DB. Credit memo should be treated as order clone - copy, inventory increase, custom status "refund" invoice +1.

Guys,

It turns out that current invoice editor actually will solve the problem. All you need to do to have real invoices is to remove some details from bult-in invoice, e.g. https://www.evernote.com/l/AQGbhDYN_E9O2YcXKOIxFdhhf-zFEV5yxas

Considering the fact that you can easily add all the required information into email notification body, I suppose this will do the trick.

So invoice won't be changed until you modify the order. In case you need to modify the order - you just clone it in order to make invoice number uniques.


Tony, I think if you could check your add-ons on 4.4.1 alpha it would decrease the risks that we missed something.

This is my intent. Obviously it is about finding time to install, configure, test, report....


As for the conversion tool - it will bring more problems than benefits, because we use different template engines, there could be no variables, etc. So we do not plan any kind of migration tool for email templates at the moment.

If not conversion tool, I'm hoping there is then an import tool so someone can craft things outside the actual in-app editor. I.e. an addon can impor/exportt a textual template into the DB versus having to build it in the editor, then extract all the relevant fields and linkages from the DB in order to distribute it.. Also, being able to export, edit and then import is a definite plus for distribution and packaging. Please tell me this import/export capability exists and that we won't have to try to create in a special editor and extract from a db in order to distribute email templates.

Is there going to be a 4.4.1 Alpha for MVE? I have some other areas that I need to validate especially if you're going to get rid of the vendor_commission addon. Also MVE and email templates also require testing given different templates apply to different companies.

Where does someone initiate a completely new "document"? I.e. how does an addon developer create a new "document" from scratch? I.e. possibly NOT using tables for layout or simply to create a new document for use in an email or as an attachment?

Will there be any import/export mechanism so a developer could design an editiable document/email and then export it so it could be carried in an addon distribution and then imported into the customer's database?

Where does someone initiate a completely new "document"? I.e. how does an addon developer create a new "document" from scratch? I.e. possibly NOT using tables for layout or simply to create a new document for use in an email or as an attachment?

Will there be any import/export mechanism so a developer could design an editiable document/email and then export it so it could be carried in an addon distribution and then imported into the customer's database?

Tony,

take a look at Gift certificates add-on.

Some DB data is in add-on.xml.

Configuration is in app/addons/gift_certificates/schemas/documents

Classes in app/Tygh/Addons/GiftCertificates/

If we update the DB directly and you change it, then we're screwed (this is new functionality so the risk is high). Why not just provide the import/export functionality to make the implementation complete?


Configuration is in app/schemas/documents

Why would addon schema data be in app/schemas? Shouldn't you have done it in app/addons/gift_certificates/schemas/documents? Same goes for the classes. My understanding is that addons are not supposed to update the Tygh directory nor modify the app/schemas directory.

Seems like your internal addons need to demonstrate more how addons "should" be done versus how they "have been" done.

As I said, pretty much all I mentioned above is available now. Only thing missing WYSIWYG with save function. When order reaches Status C Invoice/Credit memo - Invoice level Status O Invoice/Credit memo - Default / Order is no longer important and can be modified as simple WYSIWYG text and saved. Order C cannot go back to Order O, there is no way to make invoice -1 without actually breaking in to DB. Credit memo should be treated as order clone - copy, inventory increase, custom status "refund" invoice +1.

You are right about "there is no way to make invoice -1 without actually breaking in to DB" until you follow these rules.

Many store owner live in other countries and just do not have such rules. So they can easily modify any existing order, or delete it and so own. It also can be a sample order placed by developer etc.

I have another questions regarding storing the updated invoices in the store. Why do you need it? Do make some kind of export, or you just print them?

In your case if you edit invoice every time just to change the product name - you just need an add-on that will be use short product name instead of long descriptive. New document editor allows you to do it.

Just try cs-market addon demo

http://demo.cs-market.com/addons/admin.php

As store owner I open order say

http://demo.cs-market.com/addons/admin.php?dispatch=orders.details&order_id=97

click edit invoice, remove all seo stuff from product names, add extra stuff necessary and click save. Now use 'print invoice' all logical and proper way to do it.

Why do you need it?

How do you suggest to print edited invoice without saving it? What if you make mistake in edited invoice, do you make editing once again from scratch?

add extra stuff necessary and click save

Extra stuff I mean customs HS Tariff codes, manufacture country, total amount in words. Yes it is crazy but our tax man still request total to be written not only in numbers but in words also.

Export will be required in very near future. Our tax man has started Smart Tax Administration System (i.MAS)

Invoices will have to be uploaded by xml format.. In rest most western Europe this is already done.

https://translate.google.com/translate?sl=auto&tl=en&js=y&prev=_t&hl=lt&ie=UTF-8&u=https%3A%2F%2Fimas.vmi.lt%2Fisaf%2F&edit-text=

I have another questions regarding storing the updated invoices in the store. Why do you need it? Do make some kind of export, or you just print them?

In your case if you edit invoice every time just to change the product name - you just need an add-on that will be use short product name instead of long descriptive. New document editor allows you to do it.

I guess fastest improvement of current state you could do is to add a print button in 'tweak and send' page.

Please note that paper invoice should be in the box (mail parcel) with merchandise, a copy of paper invoice is used by many mail carriers.

Yes sometimes customs stop parcel and ask buyer to provide invoice (so they can calculate tax and duties if any), they sometimes ask for this even if invoice is included in box, not sure why they do it maybe they expect something not to match. So sending invoice as it is now in tweak and send is also handy.

Do make some kind of export, or you just print them?

Hello everyone,

We have an argue with tbirnsth about how email templates and document editor work in 4.4.1. So I need your opinion on this.

In the new email notifications we followed the WYSIWIG (what you see is what you get) principle so store owners completely control their notifications and documents. It's clear and relatively easy to manage at least comparing to smarty templates. They do not need to dig into hooks and numerous included templates.

However the other side of the story is that add-ons now cannot not automatically modify invoices or email templates.

Can you please share you thoughts on whether this concept is more suitable for those who manage store or it will create more problems than goods?

Let me be clear on our "argue".

1) When a merchant switches to using the new email template editor any addon they have that used hooks to provide additional information on invoices will silently just not work.

2) There is no ability for an addon (or custom development) to integrate their changes into the new editable email templates. It is completely a manual operation (and to define the data variables is not available via the UI, only programmatically with updates to the database).

3) Once this is created, there is no ability to export it so the data definition can be distributed. It has to be done at each specific client site manually.

4) Even if all of the above was done, it is not clear what happens when an addon is disabled. Would any text remain? Would it read like "You've purchased thanks again we have charged" because of missing data elements?

The new email templates are useful ONLY for editing the standard notification templates and have NO ability to include any addon data/changes (other than Gift Certificates or other cs-cart addons that have their functionality now embedded further in the core)..

The Gift Certificate "addon" had been hard wired into the core data so that gift certificate info will work with the new system. Requests to have them do Gift Certificates as a real addon (without adding to the core) so they can see the problems addon developers face was rejected.

So the question for merchants is "Are you aware that when you use this, you will loose all addon/custom support for email templates without significant programming and manual intervention?"

Please correct any of the above points that are incorrect.

441 may be a disaster, no go if I will not be able to use third party invoice addon. Not being able to edit or print invoice will make 441 useless. I really hope cs-cart invoicing addon will not be like ebay addon neither complete neither incomplete for last 2 years...