41 lines
1.6 KiB
Diff
41 lines
1.6 KiB
Diff
diff --git a/tryton/modules/sale_advance_payment/sale.py b/tryton/modules/sale_advance_payment/sale.py
|
|
index f87719ce9a..540dcaba45 100644
|
|
--- a/tryton/modules/sale_advance_payment/sale.py
|
|
+++ b/tryton/modules/sale_advance_payment/sale.py
|
|
@@ -372,19 +372,22 @@ class Sale(metaclass=PoolMeta):
|
|
('invoice.state', '=', 'paid'),
|
|
])
|
|
for advance_line in advance_lines:
|
|
- line = InvoiceLine(
|
|
- invoice=invoice,
|
|
- company=invoice.company,
|
|
- type=advance_line.type,
|
|
- quantity=-advance_line.quantity,
|
|
- account=advance_line.account,
|
|
- unit_price=advance_line.amount,
|
|
- description=advance_line.description,
|
|
- origin=advance_line,
|
|
- taxes=advance_line.taxes,
|
|
- )
|
|
- recall_lines.append(line)
|
|
-
|
|
+ already_used = InvoiceLine.search([
|
|
+ ('origin', '=', str(advance_line)),
|
|
+ ])
|
|
+ if not already_used:
|
|
+ line = InvoiceLine(
|
|
+ invoice=invoice,
|
|
+ company=invoice.company,
|
|
+ type=advance_line.type,
|
|
+ quantity=-advance_line.quantity,
|
|
+ account=advance_line.account,
|
|
+ unit_price=advance_line.amount,
|
|
+ description=advance_line.description,
|
|
+ origin=advance_line,
|
|
+ taxes=advance_line.taxes,
|
|
+ )
|
|
+ recall_lines.append(line)
|
|
return recall_lines
|
|
|
|
def create_invoice(self):
|