diff --git a/MANIFEST.in b/MANIFEST.in
index 05c3f792e3..71b68f1526 100644
--- a/MANIFEST.in
+++ b/MANIFEST.in
@@ -6,7 +6,7 @@ include LICENSE
include tryton.cfg
include *.xml
include view/*.xml
-include *.odt
+include *.fodt
include locale/*.po
include doc/*
include tests/*.rst
diff --git a/sale.fodt b/sale.fodt
new file mode 100644
index 0000000000..84d1042165
--- /dev/null
+++ b/sale.fodt
@@ -0,0 +1,753 @@
+
+
+
+ LibreOffice/5.2.7.2$Linux_X86_64 LibreOffice_project/20m0$Build-22008-06-07T15:28:222009-01-10T16:03:331PT0S
+
+
+ 0
+ 0
+ 43760
+ 21691
+ true
+ false
+
+
+ view2
+ 13085
+ 5313
+ 0
+ 0
+ 43759
+ 21689
+ 0
+ 0
+ false
+ 100
+ false
+
+
+
+
+ false
+ true
+ true
+ true
+ 0
+ true
+ true
+
+ false
+ false
+ false
+ false
+ false
+ false
+ false
+ false
+ false
+ false
+ false
+ false
+ false
+ true
+ false
+ true
+ true
+ false
+ false
+ false
+ false
+
+ false
+ false
+ true
+ false
+ false
+
+ false
+ false
+ false
+ false
+ true
+ 1063272
+ false
+ true
+ false
+ false
+ true
+ true
+ false
+ true
+ 0
+ false
+ true
+ high-resolution
+ false
+ false
+ false
+ true
+ true
+ true
+
+ true
+ false
+ false
+ true
+ false
+ false
+ false
+
+ false
+ false
+ 204959
+ false
+ 1
+ true
+ false
+ false
+ 0
+ false
+ false
+
+
+ false
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <if test="company.header">
+ <for each="line in company.header.split('\n')">
+ <line>
+ </for>
+ </if>
+ <company.rec_name>
+
+
+ <if test="company.footer">
+ <for each="line in company.footer.split('\n')">
+ <line>
+ </for>
+ </if>
+
+
+
+
+
+
+
+
+
+
+
+
+ <for each="sale in records">
+ <set_lang(sale.party.lang and sale.party.lang.code or 'en')><sale.set_lang(sale.party.lang and sale.party.lang.code or 'en')>
+ <for each="line in sale.report_address.splitlines()">
+ <line>
+ </for>
+ <if test="sale.party.tax_identifier">
+ <sale.party.tax_identifier.type_string>: <sale.party.tax_identifier.code>
+ </if>
+ <choose test="">
+ <when test="sale.state == 'draft'">
+ Draft Sale Order
+ </when>
+ <when test="sale.state == 'quotation'">
+ Quotation N°: <sale.number>
+ </when>
+ <otherwise test="">
+ Sale Order N°: <sale.number>
+ </otherwise>
+ </when>
+ Description: <sale.description or ''>
+ Reference: <sale.reference or ''>
+ Date: <format_date(sale.sale_date, sale.party.lang) if sale.sale_date else ''>
+
+
+
+
+
+
+ Description
+
+
+ Quantity
+
+
+ Unit Price
+
+
+ Taxes
+
+
+ Amount
+
+
+
+
+
+ <for each="line in sale.lines">
+
+
+
+
+
+
+
+
+ <choose test="">
+
+
+
+
+
+
+
+
+ <when test="line.type == 'line'">
+
+
+
+
+
+
+
+
+ <for each="line in line.description.split('\n')">
+ <line>
+ </for>
+
+
+ <(format_number(line.quantity, sale.party.lang, digits=line.unit_digits) + (line.unit and (' ' + line.unit.symbol) or '')) or ''>
+
+
+ <format_number(line.unit_price, sale.party.lang, digits=line.__class__.unit_price.digits[1], monetary=sale.currency)>
+
+
+ <for each="tax in line.taxes">
+ <tax.description>
+ </for>
+
+
+ <format_currency(line.amount, sale.party.lang, sale.currency)>
+
+
+
+
+ </when>
+
+
+
+
+
+
+
+
+ <when test="line.type == 'subtotal'">
+
+
+
+
+
+
+
+
+ <for each="line in line.description.split('\n')">
+ <line>
+ </for>
+
+
+
+
+
+ <format_currency(line.amount, sale.party.lang, sale.currency)>
+
+
+
+
+ </when>
+
+
+
+
+
+
+
+
+ <when test="line.type == 'title'">
+
+
+
+
+
+
+
+
+ <for each="line in line.description.split('\n')">
+ <line>
+ </for>
+
+
+
+
+
+
+
+
+ </when>
+
+
+
+
+
+
+
+
+ <otherwise test="">
+
+
+
+
+
+
+
+
+ <for each="line in line.description.split('\n')">
+ <line>
+ </for>
+
+
+
+
+
+
+
+
+ </otherwise>
+
+
+
+
+
+
+
+
+ </choose>
+
+
+
+
+
+
+
+
+ </for>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Total (excl. taxes):
+
+
+ <format_currency(sale.untaxed_amount, sale.party.lang, sale.currency)>
+
+
+
+
+ Taxes:
+
+
+ <format_currency(sale.tax_amount, sale.party.lang, sale.currency)>
+
+
+
+
+ Total:
+
+
+ <format_currency(sale.total_amount, sale.party.lang, sale.currency)>
+
+
+
+
+
+
+
+ <for each="comment in (sale.comment or '').split('\n')">
+ <comment>
+ </for>
+ </for>
+
+
+
\ No newline at end of file
diff --git a/sale.odt b/sale.odt
deleted file mode 100644
index 352faae73a..0000000000
Binary files a/sale.odt and /dev/null differ
diff --git a/sale.xml b/sale.xml
index 3690ec790a..3adce539df 100644
--- a/sale.xml
+++ b/sale.xml
@@ -309,7 +309,7 @@ this repository contains the full copyright notices and license terms. -->
Sale
sale.sale
sale.sale
- sale/sale.odt
+ sale/sale.fodt
form_print
diff --git a/setup.py b/setup.py
index ebc052130e..baaeb40fc8 100644
--- a/setup.py
+++ b/setup.py
@@ -75,7 +75,7 @@ setup(name=name,
],
package_data={
'trytond.modules.sale': (info.get('xml', [])
- + ['tryton.cfg', 'view/*.xml', 'locale/*.po', 'sale.odt',
+ + ['tryton.cfg', 'view/*.xml', 'locale/*.po', '*.fodt',
'tests/*.rst']),
},
classifiers=[