diff --git a/ext/custom-addons/dp_custom/models/account.py b/ext/custom-addons/dp_custom/models/account.py
index 34cba1b3..281902a9 100644
--- a/ext/custom-addons/dp_custom/models/account.py
+++ b/ext/custom-addons/dp_custom/models/account.py
@@ -80,6 +80,8 @@ class AccountInvoice(models.Model):
     num_items = fields.Integer(string='Anzahl der Artikel', compute='_compute_num_items')
     weight_total = fields.Float(string='Gesamtgewicht', compute='_compute_weight_total')
 
+    layout_category_id = fields.Many2one('sale.layout_category', related='invoice_line_ids.layout_category_id', string='Section')
+
     @api.multi
     def action_invoice_open(self):
         to_open_invoices = self.filtered(lambda inv: inv.state != 'open')
diff --git a/ext/custom-addons/dp_custom/views/account_views.xml b/ext/custom-addons/dp_custom/views/account_views.xml
index 087ec6c4..6e45935d 100644
--- a/ext/custom-addons/dp_custom/views/account_views.xml
+++ b/ext/custom-addons/dp_custom/views/account_views.xml
@@ -14,6 +14,7 @@
                 
             
 -->
+            
             
                 
             
@@ -44,11 +45,25 @@
         
     
 
+    
+        account.invoice.tree_section
+        account.invoice
+        
+        
+            
+                
+            
+        
+    
+
     
         account.invoice.select
         account.invoice
         
         
+            
+                
+            
             
                  
             
diff --git a/ext/custom-addons/tz_dealer_discount/models/invoice.py b/ext/custom-addons/tz_dealer_discount/models/invoice.py
index 1a858bce..313681dc 100644
--- a/ext/custom-addons/tz_dealer_discount/models/invoice.py
+++ b/ext/custom-addons/tz_dealer_discount/models/invoice.py
@@ -7,9 +7,10 @@ from lxml import html
 class Invoice(models.Model):
     _inherit = "account.invoice"
 
-    dealer_discount = fields.Boolean("Add Dealer Discount", readonly=True, states={'draft': [('readonly', False)]},)
+    dealer_discount = fields.Boolean("Add Individual Discount", readonly=True, states={'draft': [('readonly', False)]},)
     dealer_discount_type = fields.Selection([('fixed','Fixed'),('percentage','Percentage')],
-        "Discount Type", readonly=True, states={'draft': [('readonly', False)]}, default='fixed')
+        "Discount Type", readonly=True, states={'draft': [('readonly', False)]}, default='percentage')
+    dealer_discount_product = fields.Many2one('product.product', string='Rabatt-Artikel', domain=[('categ_id.name', '=', 'Discount')])
     dealer_discount_amount = fields.Float("Discount Amount", readonly=True, states={'draft': [('readonly', False)]},)
     dealer_discount_percentage = fields.Float("Discount Percentage", readonly=True, states={'draft': [('readonly', False)]},)
 
@@ -18,16 +19,24 @@ class Invoice(models.Model):
         if self.env.user.company_id.invoice_dealer_discount_product_id:
             self.env['account.invoice.line'].search([('invoice_id', 'in', self.ids), ('product_id', '=', self.env.user.company_id.invoice_dealer_discount_product_id.id)]).unlink()
 
+    @api.multi
+    def unset_dealer_discount(self):
+        discount_products_ids = self.env['product.product'].search([('categ_id', '=', 'Discount')]).ids
+        self.env['account.invoice.line'].search([('invoice_id', 'in', self.ids), ('product_id', 'in', discount_products_ids)]).unlink()
+
     @api.multi
     def create_dealer_discount(self):
         InvoiceLine = self.env['account.invoice.line']
 
-        discount_product_id = self.env.user.company_id.invoice_dealer_discount_product_id
-        if not discount_product_id:
-            raise UserError(_('Please set Invoice Dealer Discount product in General Settings first.'))
+        if self.dealer_discount_product:
+            discount_product_id = self.dealer_discount_product
+        else:
+        #     discount_product_id = self.env.user.company_id.invoice_dealer_discount_product_id
+        # if not discount_product_id:
+            raise UserError(_('Please select Discount product first.'))
 
         # Remove Discount line first
-        self._dealer_discount_unset()
+#        self._dealer_discount_unset()
 
         account_id = discount_product_id.property_account_income_id.id
         if not account_id:
@@ -94,4 +103,6 @@ class Invoice(models.Model):
 
         super()._onchange_invoice_line_ids()
 
+        self.dealer_discount_product = ''
+
         return True
diff --git a/ext/custom-addons/tz_dealer_discount/models/sale.py b/ext/custom-addons/tz_dealer_discount/models/sale.py
index 61cced84..b3d66562 100644
--- a/ext/custom-addons/tz_dealer_discount/models/sale.py
+++ b/ext/custom-addons/tz_dealer_discount/models/sale.py
@@ -7,27 +7,39 @@ from lxml import html
 class SaleOrder(models.Model):
     _inherit = "sale.order"
 
-    dealer_discount = fields.Boolean("Add Dealer Discount", readonly=True, states={'draft': [('readonly', False),],'sent': [('readonly', False)]},)
+    dealer_discount = fields.Boolean("Add Discount", readonly=True, states={'draft': [('readonly', False),],'sent': [('readonly', False)]},)
     dealer_discount_type = fields.Selection([('fixed','Fixed'),('percentage','Percentage')],
         "Discount Type", readonly=True, states={'draft': [('readonly', False)],'sent': [('readonly', False)]}, default='percentage')
-    dealer_discount_amount = fields.Float("Discount Amount", readonly=True, states={'draft': [('readonly', False)],'sent': [('readonly', False)]},)
-    dealer_discount_percentage = fields.Float("Discount Percentage", readonly=True, states={'draft': [('readonly', False)],'sent': [('readonly', False)]},)
+    dealer_discount_product = fields.Many2one('product.product', string='Rabatt-Artikel', domain=[('categ_id.name', '=', 'Discount')])
+    dealer_discount_amount = fields.Float("Discount Amount", readonly=True, states={'draft': [('readonly', False)],'sent': [('readonly', False)]},
+                                          size = 10,)
+    dealer_discount_percentage = fields.Float("Discount Percentage", readonly=True,
+                                              states={'draft': [('readonly', False)],'sent': [('readonly', False)]},
+                                              size = 5,)
 
     @api.multi
     def _dealer_discount_unset(self):
         if self.env.user.company_id.sale_dealer_discount_product_id:
             self.env['sale.order.line'].search([('order_id', 'in', self.ids), ('product_id', '=', self.env.user.company_id.sale_dealer_discount_product_id.id)]).unlink()
 
+    @api.multi
+    def unset_dealer_discount(self):
+        discount_products_ids = self.env['product.product'].search([('categ_id', '=', 'Discount')]).ids
+        self.env['sale.order.line'].search([('order_id', 'in', self.ids), ('product_id', 'in', discount_products_ids)]).unlink()
+
     @api.multi
     def create_dealer_discount(self):
         Line = self.env['sale.order.line']
 
-        discount_product_id = self.env.user.company_id.sale_dealer_discount_product_id
-        if not discount_product_id:
-            raise UserError(_('Please set Sale Dealer Discount product in General Settings first.'))
+        if self.dealer_discount_product:
+            discount_product_id = self.dealer_discount_product
+        else:
+        #     discount_product_id = self.env.user.company_id.sale_dealer_discount_product_id
+        # if not discount_product_id:
+            raise UserError(_('Please select Discount product first.'))
 
         # Remove Discount line first
-        self._dealer_discount_unset()
+#        self._dealer_discount_unset()
 
         for order in self:
             amount = 0
@@ -70,4 +82,6 @@ class SaleOrder(models.Model):
                     'sequence': 99999,
                 })
 
+            self.dealer_discount_product = ''
+
         return True
diff --git a/ext/custom-addons/tz_dealer_discount/views/invoice_view.xml b/ext/custom-addons/tz_dealer_discount/views/invoice_view.xml
index c0671440..12fba707 100644
--- a/ext/custom-addons/tz_dealer_discount/views/invoice_view.xml
+++ b/ext/custom-addons/tz_dealer_discount/views/invoice_view.xml
@@ -13,10 +13,16 @@
                     
                 
@@ -39,7 +45,10 @@
                             
                             
                             
+                        
+                        
                             
+                            
                         
                     
                 
diff --git a/ext/custom-addons/tz_dealer_discount/views/sale_view.xml b/ext/custom-addons/tz_dealer_discount/views/sale_view.xml
index 7be53ede..7fc96e90 100644
--- a/ext/custom-addons/tz_dealer_discount/views/sale_view.xml
+++ b/ext/custom-addons/tz_dealer_discount/views/sale_view.xml
@@ -13,10 +13,16 @@