diff --git a/__init__.py b/__init__.py
index 9a7e03eded37392e2614b6537164db042167bc4c..c536983e2b228ec4447202bef589d9cf2cef9b08 100644
--- a/__init__.py
+++ b/__init__.py
@@ -1 +1,2 @@
-from . import models
\ No newline at end of file
+from . import models
+from . import wizard
\ No newline at end of file
diff --git a/__manifest__.py b/__manifest__.py
index 1c8be11e58d40de7b527b196ad96bd9107e2b55e..86f6a3e0deba847ec14acbe1db6ee4fe6413bec8 100644
--- a/__manifest__.py
+++ b/__manifest__.py
@@ -24,7 +24,8 @@
         'security/ir.model.access.csv',
         'views/res_partner_view.xml',
         'views/menu_partner.xml',
-        # 'views/sale_view.xml',
+        'views/sale_view.xml',
+        'views/account_invoice_view.xml',
         'data/res_partner_data.xml',
     ],
 
diff --git a/models/__init__.py b/models/__init__.py
index d0c9b1ad9c50f47b3a5973e67f4cb34620dbb0e1..70ca04ad89fb07c9862f63d4aa406a9e181e2620 100644
--- a/models/__init__.py
+++ b/models/__init__.py
@@ -1,2 +1,3 @@
 from . import res_partner
-# from . import sale
\ No newline at end of file
+from . import sale
+from . import account_invoice
\ No newline at end of file
diff --git a/models/account_invoice.py b/models/account_invoice.py
new file mode 100644
index 0000000000000000000000000000000000000000..1aa374545805f13ea58379b82ee3c692e6439121
--- /dev/null
+++ b/models/account_invoice.py
@@ -0,0 +1,9 @@
+# © 2019 Le Filament (<http://www.le-filament.com>)
+# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
+
+from odoo import models, fields, api
+
+class AccountInvoice(models.Model):
+	_inherit = "account.invoice"
+
+	beneficiaire_id = fields.Many2one('res.partner', string='Bénéficiaire',states={'draft': [('readonly', False)]}, domain=[('beneficiaire', '=', True)])
\ No newline at end of file
diff --git a/models/res_partner.py b/models/res_partner.py
index fb3fd8a3c7fd76602307f074aa8e141fc6d78a2a..389e0ff6f11f65c87a73dadb6917f83083867211 100644
--- a/models/res_partner.py
+++ b/models/res_partner.py
@@ -44,7 +44,7 @@ class AutreResPartner(models.Model):
 
 	@api.onchange('company_type')
 	def onchange_company_type(self):
-		self.is_company = (self.company_type == 'company')
+		super(AutreResPartner, self).onchange_company_type()
 		if self.company_type == 'company':
 			self.beneficiaire = False
 
diff --git a/models/sale.py b/models/sale.py
index aab39824960681da7157214b99a8b360e8224325..7e7b0ffccaa999df6743fa8b7ef091572b5b4c27 100644
--- a/models/sale.py
+++ b/models/sale.py
@@ -9,11 +9,8 @@ class AutreSaleOrder(models.Model):
 	beneficiaire_id = fields.Many2one('res.partner', string='Bénéficiaire', states={'draft': [('readonly', False)], 'sent': [('readonly', False)], 'sale': [('readonly', False)]}, domain=[('beneficiaire', '=', True)])
 
 	@api.multi
-	@api.onchange('partner_id')
-	def onchange_partner_id(self):
-		res = {}
-		if self.partner_id:
-			partner_ids = self.env['res.partner'].search([('societe_id.id', 'in', partner_id.id)])
-			print("------ partner_ids ------", str(partner_ids))
-			# res['domain'] = {'beneficiaire_id': [('place_id', '=', self.place.id)]}
-		return res
\ No newline at end of file
+	def _prepare_invoice(self):
+		invoice_vals = super(AutreSaleOrder, self)._prepare_invoice()
+		if self.beneficiaire_id:
+			invoice_vals['beneficiaire_id'] = self.beneficiaire_id.id
+		return invoice_vals
\ No newline at end of file
diff --git a/views/account_invoice_view.xml b/views/account_invoice_view.xml
new file mode 100644
index 0000000000000000000000000000000000000000..5f7f58f18118c9f2921f9614e046cd96494e0da7
--- /dev/null
+++ b/views/account_invoice_view.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="utf-8"?>
+<odoo>
+    <data>
+
+        <record id="autrement_invoice_form" model="ir.ui.view">
+            <field name="name">autrement.account.invoice.form</field>
+            <field name="model">account.invoice</field>
+            <field name="inherit_id" ref="account.invoice_form"/>
+            <field name="arch" type="xml">
+            	<xpath expr="//field[@name='partner_id']" position="after">
+                	<field name="beneficiaire_id" />	
+                </xpath>
+            </field>
+        </record>
+
+    </data>
+</odoo>
\ No newline at end of file
diff --git a/views/sale_view.xml b/views/sale_view.xml
index fa38b2aa6603614f38921b8750eda741dab7096b..4141af1e230357b355767e39e64fb1489f13aa7e 100644
--- a/views/sale_view.xml
+++ b/views/sale_view.xml
@@ -8,7 +8,7 @@
             <field name="inherit_id" ref="sale.view_order_form"/>
             <field name="arch" type="xml">
                 <xpath expr="//field[@name='partner_id']" position="after">
-                	<field name="beneficiaire_id"/>	
+                	<field name="beneficiaire_id" />	
                 </xpath>
             </field>
         </record>
diff --git a/wizard/__init__.py b/wizard/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..1eb17ffa15c4f40b7a6793d10d3f8b620b113d8b
--- /dev/null
+++ b/wizard/__init__.py
@@ -0,0 +1,3 @@
+# -*- coding: utf-8 -*-
+
+from . import sale_make_invoice_advance
diff --git a/wizard/sale_make_invoice_advance.py b/wizard/sale_make_invoice_advance.py
new file mode 100644
index 0000000000000000000000000000000000000000..3d4e1da279545f9fd64bb19c318e29dbc721a18d
--- /dev/null
+++ b/wizard/sale_make_invoice_advance.py
@@ -0,0 +1,17 @@
+# © 2019 Le Filament (<http://www.le-filament.com>)
+# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
+
+import time
+
+from odoo import api, fields, models, _
+
+
+class AutreSaleAdvancePaymentInv(models.TransientModel):
+    _inherit = "sale.advance.payment.inv"
+
+    @api.multi
+    def _create_invoice(self, order, so_line, amount):
+        invoice = super(AutreSaleAdvancePaymentInv, self)._create_invoice(order,so_line,amount)
+        if order.beneficiaire_id:
+            invoice['beneficiaire_id'] = order.beneficiaire_id.id
+        return invoice