diff --git a/modules/sale/sale.xml b/modules/sale/sale.xml
index b404b06..17fa372 100755
--- a/modules/sale/sale.xml
+++ b/modules/sale/sale.xml
@@ -410,6 +410,18 @@ this repository contains the full copyright notices and license terms. -->
+
+ Sale (final)
+ sale.sale
+ sale.sale
+ sale/sale_final.fodt
+
+
+ form_print
+ sale.sale,-1
+
+
+
sale.line
form
diff --git a/modules/account_invoice/invoice_melya.fodt b/modules/sale/sale_final.fodt
similarity index 94%
rename from modules/account_invoice/invoice_melya.fodt
rename to modules/sale/sale_final.fodt
index fde256c..15c015e 100644
--- a/modules/account_invoice/invoice_melya.fodt
+++ b/modules/sale/sale_final.fodt
@@ -1,24 +1,24 @@
- LibreOffice/7.6.0.3$Windows_X86_64 LibreOffice_project/69edd8b8ebc41d00b4de3915dc82f8f0fc3b6265Aksel Kamhi2026-03-11T17:00:00Z2026-03-11T20:31:25.8890000002025-12-11T15:32:00Z3PT3M8S0x010100C9130B1D3286474FB2D468C22F52A7B0
+ LibreOffice/7.6.0.3$Windows_X86_64 LibreOffice_project/69edd8b8ebc41d00b4de3915dc82f8f0fc3b6265Aksel KamhiLaurent BARONTINI2026-03-11T17:00:00Z2026-03-11T17:00:00Z2025-12-11T15:32:00Z2PT0S0x010100C9130B1D3286474FB2D468C22F52A7B0
- 46097
+ 0
0
24236
- 11721
+ 11770
true
false
view2
- 13460
- 40509
+ 4281
+ 3076
0
- 46097
+ 0
24234
- 57817
+ 11769
0
0
false
@@ -91,7 +91,7 @@
false
false
false
- 1836383
+ 1803951
1803951
false
false
@@ -152,22 +152,21 @@
-
-
-
+
+
-
+
-
+
@@ -178,85 +177,74 @@
-
+
-
-
-
-
-
-
-
-
-
-
-
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
@@ -314,11 +302,8 @@
-
-
-
-
+
@@ -348,7 +333,7 @@
-
+
@@ -503,7 +488,7 @@
-
+
@@ -521,7 +506,7 @@
-
+
@@ -533,7 +518,7 @@
- <for each="invoice in records">
+ <for each="sale in records">
@@ -2325,10 +2310,10 @@
Invoice Nr: Date:
- <invoice.number><format_date(invoice.invoice_date, invoice.party.lang) if invoice.invoice_date else ''>
+ <sale.full_number><format_date(sale.sale_date, sale.party.lang) if sale.sale_date else \'\' >
Order reference:
- <invoice.reference or ''>
+ <sale.reference or \'\' >
@@ -2339,11 +2324,11 @@
Buyer:
- <invoice.party.rec_name>
- <'TAX ID: ' + invoice.party.tax_identifier.code if invoice.party.tax_identifier else ''>
- <for each="line in invoice.invoice_address.full_address.split('\n')"><line></for>
-
-
+ <sale.party.rec_name>
+ <'TAX ID: ' + sale.party.tax_identifier.code if sale.party.tax_identifier else \'\' >
+ <for each="line in sale.report_address.splitlines()"><line></for>
+
+
@@ -2354,7 +2339,7 @@
Payment terms:
- <invoice.payment_term.description if invoice.payment_term else ''>
+ <sale.payment_term.description if sale.payment_term else \'\' >
Bank: UBS SWITZERLAND AG
Case Postale
@@ -2370,32 +2355,32 @@
Shipment date:
- <format_date(invoice.invoice_date, invoice.party.lang) if invoice.invoice_date else ''>
+ <format_date(sale.sale_date, sale.party.lang) if sale.sale_date else \'\' >
Transportation:
- <invoice.incoterm_location.party_name if invoice.incoterm_location else ''>
+ <sale.incoterm_location.party_name if sale.incoterm_location else \'\' >
Terms of delivery:
- <invoice.incoterm.code if invoice.incoterm else ''>
+ <sale.incoterm.code if sale.incoterm else \'\' >
From:
- <invoice.incoterm_location.name if invoice.incoterm_location else ''>
+ <sale.incoterm_location.name if sale.incoterm_location else \'\' >
To:
- <', '.join(filter(None, [invoice.party.addresses[0].city, invoice.party.addresses[0].country.name if invoice.party.addresses[0].country else ''])) if invoice.party.addresses else ''>
+ <', '.join(filter(None, [sale.party.addresses[0].city, sale.party.addresses[0].country.name if sale.party.addresses[0].country else ''])) if sale.party.addresses else ''>
Origin:
- <invoice.lines[0].product.origin_country.name if invoice.lines and invoice.lines[0].product and invoice.lines[0].product.origin_country else ''>
+ <sale.lines[0].product.origin_country.name if sale.lines and sale.lines[0].product and sale.lines[0].product.origin_country else \'\' >
@@ -2423,23 +2408,22 @@
US Dollar Amount
-
- <for each="line in invoice.lines"><line.quantity><line.unit.rec_name.upper() if line.unit else ''>
+ <for each="line in sale.lines"><line.quantity> <line.unit.rec_name.upper() if line.unit else \'\' >
- <line.product.name if line.product else ''>
+ <line.product.name if line.product else \'\' >
- <invoice.currency.symbol + ' ' + format_currency(line.unit_price, invoice.party.lang, invoice.currency) if line.unit_price else ''>
+ <format_currency(line.unit_price, sale.party.lang, sale.currency) if line.unit_price else \'\' > <sale.currency.name>
- <format_currency(line.amount, invoice.party.lang, invoice.currency)></for>
+ <format_currency(line.amount, sale.party.lang, sale.currency)></for>
@@ -2452,7 +2436,7 @@
FOB Value in USD
- <format_currency(invoice.untaxed_amount, invoice.party.lang, invoice.currency)>
+ <format_currency(sale.untaxed_amount, sale.party.lang, sale.currency)>
@@ -2460,7 +2444,7 @@
FREIGHT Value in USD
- <format_currency(invoice.freight_amount, invoice.party.lang, invoice.currency) if hasattr(invoice, 'freight_amount') else ''>
+ <format_currency(sale.freight_amount, sale.party.lang, sale.currency) if hasattr(sale, \'freight_amount\') else \'\' >
@@ -2468,7 +2452,7 @@
INSURANCE Value in USD
- <format_currency(invoice.insurance_amount, invoice.party.lang, invoice.currency) if hasattr(invoice, 'insurance_amount') else ''>
+ <format_currency(sale.insurance_amount, sale.party.lang, sale.currency) if hasattr(sale, \'insurance_amount\') else \'\' >
@@ -2476,7 +2460,7 @@
Total CIF ISKENDERUN Value in USD
- <format_currency(invoice.total_amount, invoice.party.lang, invoice.currency)>
+ <format_currency(sale.total_amount, sale.party.lang, sale.currency)>
@@ -2489,12 +2473,12 @@
- Net weight: <invoice.total_net_weight or ''>
- Gross weight: <invoice.total_gross_weight or ''>
+ Net weight: <sale.total_net_weight or \'\' >
+ Gross weight: <sale.total_gross_weight or \'\' >
- Packaging: <invoice.packaging_description if hasattr(invoice, 'packaging_description') else ''>
-
+ Packaging: <sale.comment or \'\' >
+
iVBORw0KGgoAAAANSUhEUgAAARwAAAC1CAYAAACNkEByAAAAAXNSR0IArs4c6QAAAARnQU1B
AACxjwv8YQUAAAAJcEhZcwAAIdUAACHVAQSctJ0AAHdDSURBVHhe5X13mBTF1jdpyTkusLvs
@@ -3070,6 +3054,7 @@
Description automatically generated
+
</for>