diff --git a/_attach_cession.html b/_attach_cession.html
deleted file mode 100644
index 4defc98..0000000
--- a/_attach_cession.html
+++ /dev/null
@@ -1,37 +0,0 @@
-{{* -*- brindille -*- *}}
-
-{{*
- Enregistrer la liaison entre une écriture d'immobilisation et
- une écriture de cession
- @param immo_doc_id : id du document associé à l'immobilisation
- @param line_id : ligne de l'écriture de cession
-*}}
-
-{{* données de l'immobilisation *}}
-{{:include file="_get_immo_data.html" immo_doc_id=$immo_doc_id keep="info_immo, ligne_immo, message"}}
-{{if $message != null}}
- {{:error message=$message}}
-{{/if}}
-
-{{* chercher l'écriture de cession de l'immobilisation *}}
-{{#select
- id_transaction
- FROM acc_transactions_lines
- WHERE id = :line_id;
- :line_id = $line_id|intval
-}}
- {{:assign cession_id=$id_transaction}}
-{{else}}
- {{:error message="Impossible de trouver l'écriture de cession de l'immobilisation"}}
-{{/select}}
-
-{{* Lier l'écriture de cession à l'écriture d'immobilisation *}}
-{{:include file="_common_attach.html" immo_doc_id=$immo_doc_id trans_id=$cession_id}}
-
-{{* enregistrer la liaison de l'écriture de cession *}}
-{{:save
- key=""|uuid
- type="cession_link"
- immo_doc_id=$info_immo.id
- line_id=$line_id|intval
-}}
diff --git a/_attach_exit.html b/_attach_exit.html
deleted file mode 100644
index f1e99b7..0000000
--- a/_attach_exit.html
+++ /dev/null
@@ -1,37 +0,0 @@
-{{* -*- brindille -*- *}}
-
-{{*
- Enregistrer la liaison entre une écriture d'immobilisation et
- une écriture de sortie d'immobilisation
- @param immo_doc_id : id du document associé à l'immobilisation
- @param line_id : ligne de l'écriture de sortie d'immobilisation
-*}}
-
-{{* données de l'immobilisation *}}
-{{:include file="_get_immo_data.html" immo_doc_id=$immo_doc_id keep="info_immo, ligne_immo, message"}}
-{{if $message != null}}
- {{:error message=$message}}
-{{/if}}
-
-{{* chercher l'écriture de sortie d'immobilisation *}}
-{{#select
- id_transaction
- FROM acc_transactions_lines
- WHERE id = :line_id;
- :line_id = $line_id|intval
-}}
- {{:assign exit_id=$id_transaction}}
-{{else}}
- {{:error message="Impossible de trouver l'écriture de sortie d'immobilisation"}}
-{{/select}}
-
-{{* Lier l'écriture de sortie à l'écriture d'immobilisation *}}
-{{:include file="_common_attach.html" immo_doc_id=$immo_doc_id trans_id=$exit_id}}
-
-{{* enregistrer la liaison de l'écriture de sortie *}}
-{{:save
- key=""|uuid
- type="exit_link"
- immo_doc_id=$info_immo.id
- line_id=$line_id|intval
-}}
diff --git a/_attach_line.html b/_attach_line.html
new file mode 100644
index 0000000..c879445
--- /dev/null
+++ b/_attach_line.html
@@ -0,0 +1,43 @@
+{{* -*- brindille -*- *}}
+
+{{*
+ Enregistrer la liaison entre une ligne d'immobilisation et une ligne
+ @param immo_doc_id : id du document associé à l'immobilisation
+ @param line_id : ligne de l'écriture à associer
+ @param type : type de ligne à associer (cession, exit, ...)
+*}}
+
+{{* données de l'immobilisation *}}
+{{:include file="_get_immo_data.html" immo_doc_id=$immo_doc_id keep="info_immo, ligne_immo, message"}}
+{{if $message != null}}
+ {{:error message=$message}}
+{{/if}}
+
+{{* chercher l'écriture de la ligne à associer *}}
+{{#select
+ id_transaction
+ FROM acc_transactions_lines
+ WHERE id = :line_id;
+ :line_id = $line_id|intval
+}}
+ {{:assign trans_id=$id_transaction}}
+{{else}}
+ {{if $type == "cession"}}
+ {{:assign mtype="cession"}}
+ {{elseif $type == "exit"}}
+ {{:assign mtype="sortie"}}
+ {{/if}}
+ {{:error message="Impossible de trouver l'écriture de %s de l'immobilisation"|args:$mtype}}
+{{/select}}
+
+{{* Lier cette écriture à l'écriture d'immobilisation *}}
+{{:include file="_common_attach.html" immo_doc_id=$immo_doc_id trans_id=$trans_id}}
+
+{{* enregistrer la liaison *}}
+{{:assign link_type=$type|cat:"_link"}}
+{{:save
+ key=""|uuid
+ type=$link_type
+ immo_doc_id=$info_immo.id
+ line_id=$line_id|intval
+}}
diff --git a/list_cessions.html b/list_cessions.html
index 87d35ff..db85b97 100644
--- a/list_cessions.html
+++ b/list_cessions.html
@@ -15,7 +15,7 @@
une écriture de cession
*}}
{{#form on="attach_cession"}}
- {{:include file="_attach_cession.html" immo_doc_id=$_POST.immo_doc_id line_id=$_POST.attach_cession}}
+ {{:include file="_attach_line.html" immo_doc_id=$_POST.immo_doc_id line_id=$_POST.attach_cession type="cession"}}
{{:redirect force="exit_step3.html?immo_doc_id=%s&from=exit&ok=1&msg=attach_cession"|args:$_POST.immo_doc_id}}
{{/form}}
diff --git a/list_exit.html b/list_exit.html
index 1a08fd7..7678294 100644
--- a/list_exit.html
+++ b/list_exit.html
@@ -15,7 +15,7 @@
une écriture de sortie d'immobilisation
*}}
{{#form on="attach_exit"}}
- {{:include file="_attach_exit.html" immo_doc_id=$_POST.immo_doc_id line_id=$_POST.attach_exit}}
+ {{:include file="_attach_line.html" immo_doc_id=$_POST.immo_doc_id line_id=$_POST.attach_exit type="exit"}}
{{:redirect force="exit_step4.html?immo_doc_id=%s&from=exit&ok=1&msg=attach_exit"|args:$_POST.immo_doc_id}}
{{/form}}