diff --git a/models/sale_order.py b/models/sale_order.py
index 0b3ee2c60a8d26ea15e9dade2547c83d832d8287..86a31fc17e5d67eaa5ed2326e8ced5949ecd751c 100644
--- a/models/sale_order.py
+++ b/models/sale_order.py
@@ -37,3 +37,9 @@ class SaleOrder(models.Model):
                 and (sol.sale_project_id.id, sol.product_id.id) not in current_inter
             ):
                 sol.unlink()
+
+    def action_print_pdf(self):
+        if self.state == "draft":
+            self.write({"state": "sent"})
+        return self.env.ref("sale.action_report_saleorder").report_action(self)
+
diff --git a/views/sale_order_view.xml b/views/sale_order_view.xml
index 7b83cf2bccaa908299c75db806b0b420e9d78488..a889f5892bfabaea452077cf0802721630eda2d6 100644
--- a/views/sale_order_view.xml
+++ b/views/sale_order_view.xml
@@ -9,6 +9,12 @@
             <field name="model">sale.order</field>
             <field name="inherit_id" ref="sale.view_order_form" />
             <field name="arch" type="xml">
+                <button name="action_quotation_send" position="after">
+                    <button name="action_print_pdf" string="Imprimer" type="object" states="draft" class="btn-primary"/>
+                </button>
+                <button name="action_confirm" position="after">
+                    <button name="action_print_pdf" string="Imprimer" type="object" states="sent,sale"/>
+                </button>
                 <label for="pricelist_id" position="attributes">
                     <attribute name="invisible">1</attribute>
                 </label>