diff --git a/addons/account/report/account_invoice_report.py b/addons/account/report/account_invoice_report.py
index 62c2fe786a1..a410a3b52fd 100644
--- a/addons/account/report/account_invoice_report.py
+++ b/addons/account/report/account_invoice_report.py
@@ -109,7 +109,7 @@ class AccountInvoiceReport(models.Model):
1 AS nbr,
ai.type, ai.state, pt.categ_id, ai.date_due, ai.account_id, ail.account_id AS account_line_id,
ai.partner_bank_id,
- SUM ((invoice_type.sign * ail.quantity) / u.factor * u2.factor) AS product_qty,
+ SUM ((invoice_type.sign_qty * ail.quantity) / u.factor * u2.factor) AS product_qty,
SUM(ail.price_subtotal_signed * invoice_type.sign) AS price_total,
SUM(ABS(ail.price_subtotal_signed)) / CASE
WHEN SUM(ail.quantity / u.factor * u2.factor) <> 0::numeric
@@ -138,7 +138,11 @@ class AccountInvoiceReport(models.Model):
WHEN ai.type::text = ANY (ARRAY['in_refund'::character varying::text, 'in_invoice'::character varying::text])
THEN -1
ELSE 1
- END) AS sign
+ END) AS sign,(CASE
+ WHEN ai.type::text = ANY (ARRAY['out_refund'::character varying::text, 'in_invoice'::character varying::text])
+ THEN -1
+ ELSE 1
+ END) AS sign_qty
FROM account_invoice ai
) AS invoice_type ON invoice_type.id = ai.id
"""
diff --git a/odoo/addons/base/res/res_country_data.xml b/odoo/addons/base/res/res_country_data.xml
index 33a63286a1f..d121109adc6 100644
--- a/odoo/addons/base/res/res_country_data.xml
+++ b/odoo/addons/base/res/res_country_data.xml
@@ -1786,6 +1786,13 @@
+
+ Kosovo
+ xk
+
+
+
+
Europe
diff --git a/odoo/addons/base/static/img/country_flags/xk.png b/odoo/addons/base/static/img/country_flags/xk.png
new file mode 100644
index 00000000000..cbabf92cdcf
Binary files /dev/null and b/odoo/addons/base/static/img/country_flags/xk.png differ