diff --git a/models/__init__.py b/models/__init__.py
index 38ce05d0c8b42297c5b12146334e821de00126fb..6c5713ee1fca38f6180bea4ac8f1547f1eca38cd 100644
--- a/models/__init__.py
+++ b/models/__init__.py
@@ -1,7 +1,6 @@
 # -*- coding: utf-8 -*-
 
 import product
-import procurement
 import sale_config_settings
 import res_config
 import project_task_type
diff --git a/models/procurement.py b/models/procurement.py
deleted file mode 100644
index e913cdbbb3644fd30b4387ce942b16df8acfa57d..0000000000000000000000000000000000000000
--- a/models/procurement.py
+++ /dev/null
@@ -1,65 +0,0 @@
-# -*- coding: utf-8 -*-
-
-# © 2017 Le Filament (<http://www.le-filament.com>)
-# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
-
-from odoo import api, fields, models, _
-
-
-class LeFilamentProcurementOrder(models.Model):
-    _inherit = 'procurement.order'
-
-    def _is_procurement_task(self):
-        return self.product_id.type == 'service' and self.product_id.track_service == 'task'
-
-    def _get_stage_id(self):
-    	Stage = self.env['project.task.type']
-    	stage = self.product_id.with_context(force_company=self.company_id.id).project_task_type_id
-        if not stage:
-            stage_id = self.env['ir.values'].get_default('sale.config.settings', 'project_task_type_id')
-            stage = self.env['project.task.type'].browse(stage_id)
-        return stage
-
-    def _get_project(self):
-        Project = self.env['project.project']
-        project = self.product_id.with_context(force_company=self.company_id.id).project_id
-        if not project and self.sale_line_id:
-            # find the project corresponding to the analytic account of the sales order
-            account = self.sale_line_id.order_id.project_id
-            if not account:
-                self.sale_line_id.order_id._create_analytic_account()
-                account = self.sale_line_id.order_id.project_id
-            project = Project.search([('analytic_account_id', '=', account.id)], limit=1)
-            if not project:
-                project_id = account.project_create({'name': self.sale_line_id.order_id.partner_id.name, 'use_tasks': True})
-                project = Project.browse(project_id)
-        return project
-
-    def _update_project_data(self, project):
-    	project.lf_total_budget = project.lf_total_budget + self.sale_line_id.price_subtotal
-
-    def _create_service_task(self):
-        project = self._get_project()
-        planned_hours = self._convert_qty_company_hours()
-        task = self.env['project.task'].create({
-            'name': '%s:%s' % (self.origin or '', self.product_id.name),
-            'date_deadline': self.date_planned,
-            'planned_hours': planned_hours,
-            'remaining_hours': planned_hours,
-            'partner_id': self.sale_line_id.order_id.partner_id.id or self.partner_dest_id.id,
-            'user_id': self.env.uid,
-            'procurement_id': self.id,
-            'description': self.name + '<br/>',
-            'project_id': project.id,
-            'company_id': self.company_id.id,
-        })
-        self.write({'task_id': task.id})
-
-        msg_body = _("Task Created (%s): <a href=# data-oe-model=project.task data-oe-id=%d>%s</a>") % (self.product_id.name, task.id, task.name)
-        self.message_post(body=msg_body)
-        if self.sale_line_id.order_id:
-            self.sale_line_id.order_id.message_post(body=msg_body)
-            task_msg = _("This task has been created from: <a href=# data-oe-model=sale.order data-oe-id=%d>%s</a> (%s)") % (self.sale_line_id.order_id.id, self.sale_line_id.order_id.name, self.product_id.name)
-            task.message_post(body=task_msg)
-
-        return task
\ No newline at end of file
diff --git a/models/sale_order.py b/models/sale_order.py
index 4c509fe81cc08354ec05d576708ecab5d4c0e2b6..d260f84615b18db82bca4349dc213d857db6f15e 100644
--- a/models/sale_order.py
+++ b/models/sale_order.py
@@ -81,44 +81,17 @@ class SaleOrder(models.Model):
             project_date.lf_tarif_jour = lf_tarif_jour
             project_date.lf_total_budget = project_total_budget
             order.tasks_ids = self.env['project.task'].search([('sale_line_id', 'in', order.order_line.ids)])
-            order.tasks_count = len(order.tasks_ids)
+            order.tasks_unt = len(order.tasks_ids)
 
 class LeFilamentSaleOrderLine(models.Model):
     _inherit = "sale.order.line"
 
     @api.multi
     def _compute_analytic(self, domain=None):
-        lines = {}
-        force_so_lines = self.env.context.get("force_so_lines")
         if not domain and self.ids:
             # To filter on analyic lines linked to an expense
             expense_type_id = self.env.ref('account.data_account_type_expenses', raise_if_not_found=False)
             expense_type_id = expense_type_id and expense_type_id.id
-            domain = [('so_line', 'in', self.ids), '|', ('amount', '<=', 0.0), ('project_id', '!=', False)]
-
-        data = self.env['account.analytic.line'].read_group(
-            domain,
-            ['so_line', 'unit_amount', 'product_uom_id'], ['product_uom_id', 'so_line'], lazy=False
-        )
-        # If the unlinked analytic line was the last one on the SO line, the qty was not updated.
-        if force_so_lines:
-            for line in force_so_lines:
-                lines.setdefault(line, 0.0)
-        for d in data:
-            if not d['product_uom_id']:
-                continue
-            line = self.browse(d['so_line'][0])
-            lines.setdefault(line, 0.0)
-            uom = self.env['product.uom'].browse(d['product_uom_id'][0])
-            if line.product_uom.category_id == uom.category_id:
-                qty = uom._compute_quantity(d['unit_amount'], line.product_uom)
-            else:
-                qty = d['unit_amount']
-            lines[line] += qty
-
-        for line, qty in lines.items():
-            if line.product_id.track_service == 'project':
-                line.qty_delivered = 0
-            else:
-                line.qty_delivered = qty
-        return True    
+            prod_list = self.env['product.template'].search([('track_service','in', ['task','timesheet'])])
+            domain = [('product_id', 'in', prod_list.ids), ('so_line', 'in', self.ids), '|', ('amount', '<=', 0.0), ('project_id', '!=', False)]
+        return super(LeFilamentSaleOrderLine, self)._compute_analytic(domain=domain)
\ No newline at end of file
diff --git a/wizard/sale_views_wizard.py b/wizard/sale_views_wizard.py
index b52f9e02178fde63829e5a191ce392314dc743de..3a132e75caabc1268e408023d4f0debd12977d24 100644
--- a/wizard/sale_views_wizard.py
+++ b/wizard/sale_views_wizard.py
@@ -65,9 +65,15 @@ class LeFilamentSaleWizard(models.TransientModel):
                     date_deadline = (date_plan.date() + relativedelta(years=int(line.product_uom_qty))).strftime('%Y-%m-%d')
                     stage = line.product_id.project_task_type_id
                     if sale_id.partner_id.is_company == True:
-                        name_task = sale_id.partner_id.name + " - " + stage.name
+                        if stage.name:
+                            name_task = sale_id.partner_id.name + " - " + stage.name
+                        else:
+                            name_task = sale_id.partner_id.name
                     else:
-                        name_task = sale_id.partner_id.parent_id.name + " - " + stage.name
+                        if stage.name:
+                            name_task = sale_id.partner_id.parent_id.name + " - " + stage.name
+                        else:
+                            name_task = sale_id.partner_id.parent_id.name
                 else:
                     stage = stage_new
                     project_id = project_id_new