Index: main/waeup.ikoba/trunk/src/waeup/ikoba/documents/workflow.py
===================================================================
--- main/waeup.ikoba/trunk/src/waeup/ikoba/documents/workflow.py	(revision 12669)
+++ main/waeup.ikoba/trunk/src/waeup/ikoba/documents/workflow.py	(revision 12670)
@@ -51,5 +51,5 @@
     Transition(
         transition_id = 'retract',
-        title = _('Retract documet'),
+        title = _('Retract document'),
         source = PUBLISHED,
         condition = NullCondition,
Index: main/waeup.ikoba/trunk/src/waeup/ikoba/products/browser.py
===================================================================
--- main/waeup.ikoba/trunk/src/waeup/ikoba/products/browser.py	(revision 12669)
+++ main/waeup.ikoba/trunk/src/waeup/ikoba/products/browser.py	(revision 12670)
@@ -155,10 +155,19 @@
     @property
     def form_fields(self):
-        return grok.AutoFields(
-            self.context.form_fields_interface).omit('terms_and_conditions')
+        return grok.AutoFields(self.context.form_fields_interface).omit(
+            'terms_and_conditions', 'description')
 
     @property
     def label(self):
         return self.context.title
+
+    @property
+    def description(self):
+        lang = self.request.cookies.get('ikoba.language')
+        html = self.context.description_dict.get(lang,'')
+        if html =='':
+            portal_language = getUtility(IIkobaUtils).PORTAL_LANGUAGE
+            html = self.context.description_dict.get(portal_language,'')
+        return html
 
     @property
@@ -198,7 +207,9 @@
     def save(self, **data):
         msave(self, **data)
-        # Save multilingual dict
+        # Save multilingual dicts
+        portal_language = getUtility(IIkobaUtils).PORTAL_LANGUAGE
+        desc = getattr(self.context, 'description', None)
+        self.context.description_dict = html2dict(desc, portal_language)
         tc = getattr(self.context, 'terms_and_conditions', None)
-        portal_language = getUtility(IIkobaUtils).PORTAL_LANGUAGE
         self.context.tc_dict = html2dict(tc, portal_language)
         return 
Index: main/waeup.ikoba/trunk/src/waeup/ikoba/products/browser_templates/productpage.pt
===================================================================
--- main/waeup.ikoba/trunk/src/waeup/ikoba/products/browser_templates/productpage.pt	(revision 12669)
+++ main/waeup.ikoba/trunk/src/waeup/ikoba/products/browser_templates/productpage.pt	(revision 12670)
@@ -1,2 +1,7 @@
+<span tal:condition="view/description" tal:omit-tag="">
+  <p tal:content="structure view/description">Description</p>
+  <br />
+</span>
+
 <table class="form-table" i18n:domain="waeup.ikoba">
   <tbody>
Index: main/waeup.ikoba/trunk/src/waeup/ikoba/products/container.py
===================================================================
--- main/waeup.ikoba/trunk/src/waeup/ikoba/products/container.py	(revision 12669)
+++ main/waeup.ikoba/trunk/src/waeup/ikoba/products/container.py	(revision 12670)
@@ -21,4 +21,5 @@
 import grok
 from grok import index
+from waeup.ikoba.interfaces import IIkobaPluggable
 from waeup.ikoba.products.interfaces import IProductsContainer, IProduct
 from waeup.ikoba.utils.helpers import attrs_to_fields
@@ -40,2 +41,19 @@
 
 ProductsContainer = attrs_to_fields(ProductsContainer)
+
+
+class ContainerPlugin(grok.GlobalUtility):
+    """A plugin that creates container for Container inside a company.
+    """
+    grok.implements(IIkobaPluggable)
+    grok.name('productscontainer')
+
+    def setup(self, site, name, logger):
+        return
+
+    def update(self, site, name, logger):
+        container = site['products']
+        for value in container.values():
+            if not getattr(value, 'description_dict', None):
+                value.description_dict = {}
+        return
Index: main/waeup.ikoba/trunk/src/waeup/ikoba/products/interfaces.py
===================================================================
--- main/waeup.ikoba/trunk/src/waeup/ikoba/products/interfaces.py	(revision 12669)
+++ main/waeup.ikoba/trunk/src/waeup/ikoba/products/interfaces.py	(revision 12670)
@@ -90,4 +90,13 @@
         )
 
+    description_dict = Attribute(
+        'Description as language dictionary with values in html format')
+
+    description = schema.Text(
+        title = _(u'Description'),
+        required = False,
+        description = _(u'Multilingual content in HTML format'),
+        )
+
     tc_dict = Attribute('Terms and Conditions as language dictionary with values in html format')
 
Index: main/waeup.ikoba/trunk/src/waeup/ikoba/products/product.py
===================================================================
--- main/waeup.ikoba/trunk/src/waeup/ikoba/products/product.py	(revision 12669)
+++ main/waeup.ikoba/trunk/src/waeup/ikoba/products/product.py	(revision 12670)
@@ -52,4 +52,5 @@
         super(Product, self).__init__(*args, **kw)
         self.tc_dict = {}
+        self.description_dict = {}
 
     @property
Index: main/waeup.ikoba/trunk/src/waeup/ikoba/products/tests/test_export.py
===================================================================
--- main/waeup.ikoba/trunk/src/waeup/ikoba/products/tests/test_export.py	(revision 12669)
+++ main/waeup.ikoba/trunk/src/waeup/ikoba/products/tests/test_export.py	(revision 12670)
@@ -62,7 +62,7 @@
         result = open(self.outfile, 'rb').read()
         self.assertTrue(
-            'contract_category,contract_title,options,'
+            'contract_category,contract_title,description,options,'
             'product_id,terms_and_conditions,title,valid_from,valid_to,users_with_local_roles\r\n'
-            'license,,"[(u\'Base Fee\', u\'800.6\', u\'USD\')]",LIC,,Unnamed'
+            'license,,,"[(u\'Base Fee\', u\'800.6\', u\'USD\')]",LIC,,Unnamed'
             ',2015-12-04#,,"[{\'user_name\': u\'john\', \'local_role\': '
             'u\'johnsrole\'}]"\r\n'
@@ -77,7 +77,7 @@
         result = open(self.outfile, 'rb').read()
         self.assertTrue(
-            'contract_category,contract_title,options,'
+            'contract_category,contract_title,description,options,'
             'product_id,terms_and_conditions,title,valid_from,valid_to,users_with_local_roles\r\n'
-            'license,,"[(u\'Base Fee\', u\'800.6\', u\'USD\')]",LIC,,Unnamed'
+            'license,,,"[(u\'Base Fee\', u\'800.6\', u\'USD\')]",LIC,,Unnamed'
             ',2015-12-04#,,"[{\'user_name\': u\'john\', \'local_role\': '
             'u\'johnsrole\'}]"\r\n'
