diff --git a/addons/l10n_fi/__init__.py b/addons/l10n_fi/__init__.py
new file mode 100644
index 00000000000..7580dd305bf
--- /dev/null
+++ b/addons/l10n_fi/__init__.py
@@ -0,0 +1,5 @@
+#-*- coding:utf-8 -*-
+# Part of Odoo. See LICENSE file for full copyright and licensing details.
+
+from. import models
+from. import tests
diff --git a/addons/l10n_fi/__manifest__.py b/addons/l10n_fi/__manifest__.py
new file mode 100644
index 00000000000..0ab4f1e088f
--- /dev/null
+++ b/addons/l10n_fi/__manifest__.py
@@ -0,0 +1,40 @@
+# -*- coding: utf-8 -*-
+# Part of Odoo. See LICENSE file for full copyright and licensing details.
+
+{
+ "name": "Finnish Localization",
+ "version": "13.0.1",
+ "author": "Avoin.Systems, "
+ "Tawasta, "
+ "Vizucom, "
+ "Sprintit",
+ "category": "Localization",
+ "description": """
+This is the Odoo module to manage the accounting in Finland.
+============================================================
+
+After installing this module, you'll have access to :
+ * Finnish chart of account
+ * Fiscal positions
+ * Invoice Payment Reference Types (Finnish Standard Reference & Finnish Creditor Reference (RF))
+
+Set the payment reference type from the Sales Journal.
+ """,
+ "depends": [
+ 'account',
+ 'base_iban',
+ 'base_vat',
+ ],
+ "data": [
+ 'data/account_account_tag_data.xml',
+ 'data/account_chart_template_data.xml',
+ 'data/account.account.template.csv',
+ 'data/account_tax_report_line.xml',
+ 'data/account_tax_template_data.xml',
+ 'data/l10n_fi_chart_post_data.xml',
+ 'data/account_fiscal_position_template_data.xml',
+ 'data/account_chart_template_configuration_data.xml'
+ ],
+ "active": True,
+ "installable": True,
+}
diff --git a/addons/l10n_fi/data/account.account.template.csv b/addons/l10n_fi/data/account.account.template.csv
new file mode 100644
index 00000000000..bcb96b4ea04
--- /dev/null
+++ b/addons/l10n_fi/data/account.account.template.csv
@@ -0,0 +1,231 @@
+"id","code","name","user_type_id/id","chart_template_id/id","reconcile"
+"account_1020","1020","Kehittämismenot","account.data_account_type_non_current_assets","l10n_fi.fi_chart_template","False"
+"account_1030","1030","Aineettomat oikeudet","account.data_account_type_non_current_assets","l10n_fi.fi_chart_template","False"
+"account_1050","1050","Liikearvo","account.data_account_type_non_current_assets","l10n_fi.fi_chart_template","False"
+"account_1060","1060","Konserniliikearvo","account.data_account_type_non_current_assets","l10n_fi.fi_chart_template","False"
+"account_1070","1070","Muut pitkävaikutteiset menot","account.data_account_type_non_current_assets","l10n_fi.fi_chart_template","False"
+"account_1090","1090","Ennakkomaksut aineettomista hyödykkeistä","account.data_account_type_non_current_assets","l10n_fi.fi_chart_template","False"
+"account_1100","1100","Maa- ja vesialueet","account.data_account_type_non_current_assets","l10n_fi.fi_chart_template","False"
+"account_1120","1120","Rakennukset ja rakennelmat","account.data_account_type_non_current_assets","l10n_fi.fi_chart_template","False"
+"account_1160","1160","Koneet ja kalusto","account.data_account_type_non_current_assets","l10n_fi.fi_chart_template","False"
+"account_1300","1300","Muut aineelliset hyödykkeet","account.data_account_type_non_current_assets","l10n_fi.fi_chart_template","False"
+"account_1380","1380","Ennakkomaksut ja keskeneräiset hankinnat","account.data_account_type_non_current_assets","l10n_fi.fi_chart_template","False"
+"account_1400","1400","Osuudet saman konsernin yrityksissä","account.data_account_type_non_current_assets","l10n_fi.fi_chart_template","False"
+"account_1410","1410","Saamiset saman konsernin yrityksiltä","account.data_account_type_non_current_assets","l10n_fi.fi_chart_template","False"
+"account_1420","1420","Osuudet omistusyhteysyrityksissä","account.data_account_type_non_current_assets","l10n_fi.fi_chart_template","False"
+"account_1430","1430","Pitkäaikaiset saamiset omistusyhteysyrityksiltä","account.data_account_type_non_current_assets","l10n_fi.fi_chart_template","False"
+"account_1440","1440","Muut osakkeet ja osuudet","account.data_account_type_non_current_assets","l10n_fi.fi_chart_template","False"
+"account_1470","1470","Muut pitkäaikaiset saamiset","account.data_account_type_non_current_assets","l10n_fi.fi_chart_template","False"
+"account_1500","1500","Aineet ja tarvikkeet","account.data_account_type_current_assets","l10n_fi.fi_chart_template","False"
+"account_1510","1510","Keskeneräiset tuotteet","account.data_account_type_current_assets","l10n_fi.fi_chart_template","False"
+"account_1520","1520","Valmiit tuotteet","account.data_account_type_current_assets","l10n_fi.fi_chart_template","False"
+"account_1530","1530","Tavarat","account.data_account_type_current_assets","l10n_fi.fi_chart_template","False"
+"account_1540","1540","Muu vaihto-omaisuus","account.data_account_type_current_assets","l10n_fi.fi_chart_template","False"
+"account_1550","1550","Ennakkomaksut vaihto-omaisuudesta","account.data_account_type_current_assets","l10n_fi.fi_chart_template","False"
+"account_1600","1600","Pitkäaikaiset myyntisaamiset","account.data_account_type_receivable","l10n_fi.fi_chart_template","True"
+"account_1630","1630","Saamiset saman konsernin yrityksiltä, pitkäaikaiset","account.data_account_type_receivable","l10n_fi.fi_chart_template","True"
+"account_1640","1640","Saamiset omistusyhteysyrityksiltä, pitkäaikaiset","account.data_account_type_receivable","l10n_fi.fi_chart_template","True"
+"account_1650","1650","Lainasaamiset, pitkäaikaiset","account.data_account_type_receivable","l10n_fi.fi_chart_template","True"
+"account_1660","1660","Muut saamiset, pitkäaikaiset","account.data_account_type_receivable","l10n_fi.fi_chart_template","True"
+"account_1670","1670","Pitkäaikaiset maksamattomat osakkeet / osuudet","account.data_account_type_receivable","l10n_fi.fi_chart_template","True"
+"account_1680","1680","Pitkäaikaiset siirtosaamiset","account.data_account_type_receivable","l10n_fi.fi_chart_template","True"
+"account_1690","1690","Pitkäaikaiset laskennalliset verosaamiset","account.data_account_type_receivable","l10n_fi.fi_chart_template","True"
+"account_1700","1700","Myyntisaamiset","account.data_account_type_receivable","l10n_fi.fi_chart_template","True"
+"account_1701","1701","Myyntisaamiset (myyntipiste)","account.data_account_type_receivable","l10n_fi.fi_chart_template","True"
+"account_1710","1710","Myyntisaamiset vanha järjestelmä","account.data_account_type_receivable","l10n_fi.fi_chart_template","True"
+"account_1720","1720","Korttisaamiset","account.data_account_type_receivable","l10n_fi.fi_chart_template","True"
+"account_1730","1730","Saamiset saman konsernin yrityksiltä, lyhytaikaiset","account.data_account_type_receivable","l10n_fi.fi_chart_template","True"
+"account_1740","1740","Saamiset omistusyhteysyrityksiltä, lyhytaikaiset","account.data_account_type_receivable","l10n_fi.fi_chart_template","True"
+"account_1750","1750","Lainasaamiset, lyhytaikaiset","account.data_account_type_receivable","l10n_fi.fi_chart_template","True"
+"account_1760","1760","Muut saamiset, lyhytaikaiset","account.data_account_type_receivable","l10n_fi.fi_chart_template","True"
+"account_1765","1765","ALV-saamiset","account.data_account_type_current_assets","l10n_fi.fi_chart_template","True"
+"account_1777","1777","Selvittelytili","account.data_account_type_current_assets","l10n_fi.fi_chart_template","False"
+"account_1780","1780","Maksamattomat osakkeet / osuudet, lyhytaikaiset","account.data_account_type_current_assets","l10n_fi.fi_chart_template","False"
+"account_1800","1800","Siirtosaamiset, lyhytaikaiset","account.data_account_type_current_assets","l10n_fi.fi_chart_template","False"
+"account_1850","1850","Laskennalliset verosaamiset","account.data_account_type_current_assets","l10n_fi.fi_chart_template","False"
+"account_1860","1860","Osuudet saman konsernin yrityksissä","account.data_account_type_current_assets","l10n_fi.fi_chart_template","False"
+"account_1880","1880","Muut osakkeet ja osuudet (rahoitusomaisuus)","account.data_account_type_current_assets","l10n_fi.fi_chart_template","False"
+"account_1890","1890","Muut rahoitusarvopaperit","account.data_account_type_current_assets","l10n_fi.fi_chart_template","False"
+"account_1900","1900","Rahat / käteisvarat","account.data_account_type_liquidity","l10n_fi.fi_chart_template","False"
+"account_1910","1910","Pankkisaamiset","account.data_account_type_liquidity","l10n_fi.fi_chart_template","False"
+"account_1920","1920","Pankkisaamiset, pankki2","account.data_account_type_liquidity","l10n_fi.fi_chart_template","False"
+"account_1930","1930","Pankkisaamiset, pankki3","account.data_account_type_liquidity","l10n_fi.fi_chart_template","False"
+"account_1940","1940","Pankkisaamiset, pankki4","account.data_account_type_liquidity","l10n_fi.fi_chart_template","False"
+"account_1990","1990","Rahansiirrot ja täsmäytykset","account.data_account_type_liquidity","l10n_fi.fi_chart_template","False"
+"account_2000","2000","Osakepääoma","account.data_account_type_equity","l10n_fi.fi_chart_template","False"
+"account_2010","2010","Osakeanti","account.data_account_type_equity","l10n_fi.fi_chart_template","False"
+"account_2020","2020","Ylikurssirahasto","account.data_account_type_equity","l10n_fi.fi_chart_template","False"
+"account_2030","2030","Arvonkorotusrahasto (oy)","account.data_account_type_equity","l10n_fi.fi_chart_template","False"
+"account_2050","2050","Vararahasto (oy)","account.data_account_type_equity","l10n_fi.fi_chart_template","False"
+"account_2060","2060","Sijoitetun vapaan oman pääoman rahasto","account.data_account_type_equity","l10n_fi.fi_chart_template","False"
+"account_2070","2070","Yhtiöjärjestyksen mukainen rahasto","account.data_account_type_equity","l10n_fi.fi_chart_template","False"
+"account_2080","2080","Muut rahastot (oy)","account.data_account_type_equity","l10n_fi.fi_chart_template","False"
+"account_2100","2100","Osuuspääoma","account.data_account_type_equity","l10n_fi.fi_chart_template","False"
+"account_2110","2110","Arvonkorotusrahasto (osk)","account.data_account_type_equity","l10n_fi.fi_chart_template","False"
+"account_2120","2120","Vararahasto (osk)","account.data_account_type_equity","l10n_fi.fi_chart_template","False"
+"account_2130","2130","Sääntöjen mukainen rahasto","account.data_account_type_equity","l10n_fi.fi_chart_template","False"
+"account_2140","2140","Muut rahastot (osk)","account.data_account_type_equity","l10n_fi.fi_chart_template","False"
+"account_2150","2150","Pääomapanokset (ay)","account.data_account_type_equity","l10n_fi.fi_chart_template","False"
+"account_2160","2160","Arvonkorotusrahasto (ay)","account.data_account_type_equity","l10n_fi.fi_chart_template","False"
+"account_2170","2170","Pääomapanokset (ky)","account.data_account_type_equity","l10n_fi.fi_chart_template","False"
+"account_2190","2190","Arvonkorotusrahasto (ky)","account.data_account_type_equity","l10n_fi.fi_chart_template","False"
+"account_2200","2200","Peruspääoma","account.data_account_type_equity","l10n_fi.fi_chart_template","False"
+"account_2210","2210","Arvonkorotusrahasto (tmi)","account.data_account_type_equity","l10n_fi.fi_chart_template","False"
+"account_2250","2250","Edellisten tilikausien voitto / tappio","account.data_account_type_equity","l10n_fi.fi_chart_template","False"
+"account_2330","2330","Pääomavajaus edellisiltä tilikausilta","account.data_account_type_equity","l10n_fi.fi_chart_template","False"
+"account_2340","2340","Yksityistilit tilikaudella","account.data_account_type_equity","l10n_fi.fi_chart_template","False"
+"account_2370","2370","Tilikauden tulos","account.data_unaffected_earnings","l10n_fi.fi_chart_template","False"
+"account_2390","2390","Vähemmistöosuus","account.data_account_type_non_current_liabilities","l10n_fi.fi_chart_template","False"
+"account_2400","2400","Poistoero","account.data_account_type_non_current_liabilities","l10n_fi.fi_chart_template","False"
+"account_2450","2450","Verotusperusteiset varaukset","account.data_account_type_non_current_liabilities","l10n_fi.fi_chart_template","False"
+"account_2500","2500","Eläkevaraukset","account.data_account_type_non_current_liabilities","l10n_fi.fi_chart_template","False"
+"account_2530","2530","Verovaraukset","account.data_account_type_non_current_liabilities","l10n_fi.fi_chart_template","False"
+"account_2550","2550","Muut pakolliset varaukset","account.data_account_type_non_current_liabilities","l10n_fi.fi_chart_template","False"
+"account_2590","2590","Konsernireservi","account.data_account_type_non_current_liabilities","l10n_fi.fi_chart_template","False"
+"account_2600","2600","Pääomalainat, pitkäaikaiset","account.data_account_type_current_liabilities","l10n_fi.fi_chart_template","False"
+"account_2610","2610","Joukkovelkakirjalainat, pitkäaikaiset","account.data_account_type_current_liabilities","l10n_fi.fi_chart_template","False"
+"account_2620","2620","Pitkäaikaiset vaihtovelkakirjalainat","account.data_account_type_current_liabilities","l10n_fi.fi_chart_template","False"
+"account_2630","2630","Lainat rahoituslaitoksilta","account.data_account_type_current_liabilities","l10n_fi.fi_chart_template","False"
+"account_2650","2650","Pitkäaikaiset takaisinlainat työeläkelaitoksilta","account.data_account_type_current_liabilities","l10n_fi.fi_chart_template","False"
+"account_2660","2660","Pitkäaikaiset saadut ennakot","account.data_account_type_current_liabilities","l10n_fi.fi_chart_template","False"
+"account_2670","2670","Ostovelat, pitkäaikaiset","account.data_account_type_payable","l10n_fi.fi_chart_template","True"
+"account_2690","2690","Pitkäaikaiset rahoitusvekselit","account.data_account_type_current_liabilities","l10n_fi.fi_chart_template","False"
+"account_2700","2700","Velat saman konsernin yrityksille, pitkäaikaiset","account.data_account_type_payable","l10n_fi.fi_chart_template","True"
+"account_2710","2710","Velat omistusyhteysyrityksille, pitkäaikaiset","account.data_account_type_current_liabilities","l10n_fi.fi_chart_template","False"
+"account_2720","2720","Muut velat, pitkäaikaiset","account.data_account_type_current_liabilities","l10n_fi.fi_chart_template","False"
+"account_2750","2750","Pitkäaikaiset siirtovelat","account.data_account_type_current_liabilities","l10n_fi.fi_chart_template","False"
+"account_2770","2770","Pitkäaikaiset laskennalliset verovelat","account.data_account_type_current_liabilities","l10n_fi.fi_chart_template","False"
+"account_2800","2800","Pääomalainat, lyhytaikaiset","account.data_account_type_current_liabilities","l10n_fi.fi_chart_template","False"
+"account_2810","2810","Joukkovelkakirjalainat","account.data_account_type_current_liabilities","l10n_fi.fi_chart_template","False"
+"account_2820","2820","Vaihtovelkakirjalainat","account.data_account_type_current_liabilities","l10n_fi.fi_chart_template","False"
+"account_2830","2830","Lainat rahoituslaitoksilta","account.data_account_type_current_liabilities","l10n_fi.fi_chart_template","False"
+"account_2850","2850","Työeläkelaitoksien takaisinlainojen lyhennyserät","account.data_account_type_current_liabilities","l10n_fi.fi_chart_template","False"
+"account_2860","2860","Saadut ennakot","account.data_account_type_current_liabilities","l10n_fi.fi_chart_template","False"
+"account_2870","2870","Ostovelat","account.data_account_type_payable","l10n_fi.fi_chart_template","True"
+"account_2880","2880","Maksuliikennetili","account.data_account_type_payable","l10n_fi.fi_chart_template","True"
+"account_2890","2890","Rahoitusvekselit","account.data_account_type_current_liabilities","l10n_fi.fi_chart_template","False"
+"account_2900","2900","Velat saman konsernin yrityksille","account.data_account_type_current_liabilities","l10n_fi.fi_chart_template","False"
+"account_2910","2910","Velat omistusyhteysyrityksille","account.data_account_type_current_liabilities","l10n_fi.fi_chart_template","False"
+"account_2920","2920","Ennakonpidätys- ja stm-velka","account.data_account_type_current_liabilities","l10n_fi.fi_chart_template","False"
+"account_2930","2930","Suoritettava arvonlisävero","account.data_account_type_current_liabilities","l10n_fi.fi_chart_template","False"
+"account_2935","2935","OmaVero-tapahtumat","account.data_account_type_current_liabilities","l10n_fi.fi_chart_template","False"
+"account_2940","2940","Muut velat","account.data_account_type_current_liabilities","l10n_fi.fi_chart_template","False"
+"account_2950","2950","Palkkojen siirtovelat","account.data_account_type_current_liabilities","l10n_fi.fi_chart_template","False"
+"account_2951","2951","Muut siirtovelat","account.data_account_type_current_liabilities","l10n_fi.fi_chart_template","False"
+"account_2952","2952","Palkkojen jaksotus","account.data_account_type_current_liabilities","l10n_fi.fi_chart_template","False"
+"account_2980","2980","Laskennalliset verovelat","account.data_account_type_current_liabilities","l10n_fi.fi_chart_template","False"
+"account_3000","3000","Myynti","account.data_account_type_revenue","l10n_fi.fi_chart_template","False"
+"account_3200","3200","Oheispalvelut","account.data_account_type_revenue","l10n_fi.fi_chart_template","False"
+"account_3250","3250","Toimitusveloitukset ja osamaksulisät","account.data_account_type_revenue","l10n_fi.fi_chart_template","False"
+"account_3300","3300","Komissiokauppa ja agentuuri","account.data_account_type_revenue","l10n_fi.fi_chart_template","False"
+"account_3330","3330","Tavaramyynti Ahvenanmaalle","account.data_account_type_revenue","l10n_fi.fi_chart_template","False"
+"account_3350","3350","Yhteisömyynti","account.data_account_type_revenue","l10n_fi.fi_chart_template","False"
+"account_3380","3380","Myynti yhteisön ulkopuolelle","account.data_account_type_revenue","l10n_fi.fi_chart_template","False"
+"account_3400","3400","Myynti, käytetyt tavarat ja taide-, keräily- ja antiikkiesineet","account.data_account_type_revenue","l10n_fi.fi_chart_template","False"
+"account_3440","3440","Myynti, arvopaperit ja kiinteistöt","account.data_account_type_revenue","l10n_fi.fi_chart_template","False"
+"account_3500","3500","Myynnin alennukset","account.data_account_type_revenue","l10n_fi.fi_chart_template","False"
+"account_3550","3550","Välilliset verot","account.data_account_type_revenue","l10n_fi.fi_chart_template","False"
+"account_3570","3570","Tulonsiirto- ja läpikulkuerät","account.data_account_type_revenue","l10n_fi.fi_chart_template","False"
+"account_3580","3580","Myynnin valuuttakurssierot","account.data_account_type_revenue","l10n_fi.fi_chart_template","False"
+"account_3590","3590","Muut myynnin oikaisuerät","account.data_account_type_revenue","l10n_fi.fi_chart_template","False"
+"account_3600","3600","Valmiiden ja keskeneräisten tuotteiden varastojen lisäys (+) tai vähennys (-)","account.data_account_type_direct_costs","l10n_fi.fi_chart_template","False"
+"account_3630","3630","Valmistus omaan käyttöön","account.data_account_type_direct_costs","l10n_fi.fi_chart_template","False"
+"account_3650","3650","Myyntivoitot pysyvistä vastaavista","account.data_account_type_other_income","l10n_fi.fi_chart_template","False"
+"account_3700","3700","Leasinghyvitykset","account.data_account_type_other_income","l10n_fi.fi_chart_template","False"
+"account_3710","3710","Keskeytys- ym. vakuuskorvaukset","account.data_account_type_other_income","l10n_fi.fi_chart_template","False"
+"account_3750","3750","Vuokratuotot","account.data_account_type_other_income","l10n_fi.fi_chart_template","False"
+"account_3800","3800","Saadut avustukset ja tuet","account.data_account_type_other_income","l10n_fi.fi_chart_template","False"
+"account_3850","3850","Palvelutuotot","account.data_account_type_other_income","l10n_fi.fi_chart_template","False"
+"account_3900","3900","Palkkiot ja korvaukset","account.data_account_type_other_income","l10n_fi.fi_chart_template","False"
+"account_3980","3980","Muut tuotot","account.data_account_type_other_income","l10n_fi.fi_chart_template","False"
+"account_4000","4000","Ostot","account.data_account_type_expenses","l10n_fi.fi_chart_template","False"
+"account_4090","4090","Tavaraostot Ahvenanmaalta","account.data_account_type_expenses","l10n_fi.fi_chart_template","False"
+"account_4110","4110","Yhteisöhankinnat","account.data_account_type_expenses","l10n_fi.fi_chart_template","False"
+"account_4130","4130","Tuontiostot yhteisön ulkopuolelta","account.data_account_type_expenses","l10n_fi.fi_chart_template","False"
+"account_4150","4150","Ostot, käytetyt tavarat ja taide-, keräily- ja antiikkiesineet","account.data_account_type_expenses","l10n_fi.fi_chart_template","False"
+"account_4200","4200","Ostot, arvopaperit ja kiinteistöt","account.data_account_type_expenses","l10n_fi.fi_chart_template","False"
+"account_4230","4230","Ostojen alennukset","account.data_account_type_expenses","l10n_fi.fi_chart_template","False"
+"account_4260","4260","Palautetut tavarat","account.data_account_type_expenses","l10n_fi.fi_chart_template","False"
+"account_4270","4270","Saadut vahingonkorvaukset ja avustukset","account.data_account_type_expenses","l10n_fi.fi_chart_template","False"
+"account_4290","4290","Rahdit, huolinta ja muut hankintakulut","account.data_account_type_expenses","l10n_fi.fi_chart_template","False"
+"account_4340","4340","Siirrot muuhun kuin myyntitarkoitukseen","account.data_account_type_expenses","l10n_fi.fi_chart_template","False"
+"account_4370","4370","Ostojen valuuttakurssierot","account.data_account_type_expenses","l10n_fi.fi_chart_template","False"
+"account_4380","4380","Muut ostojen oikaisuerät","account.data_account_type_expenses","l10n_fi.fi_chart_template","False"
+"account_4400","4400","Varastojen lisäys (+) tai vähennys (-)","account.data_account_type_expenses","l10n_fi.fi_chart_template","False"
+"account_4450","4450","Alihankinta","account.data_account_type_expenses","l10n_fi.fi_chart_template","False"
+"account_4480","4480","Vuokrattu työvoima","account.data_account_type_expenses","l10n_fi.fi_chart_template","False"
+"account_4490","4490","Muut ulkopuoliset palvelut","account.data_account_type_expenses","l10n_fi.fi_chart_template","False"
+"account_5000","5000","Työssäoloajan normaalipalkat","account.data_account_type_expenses","l10n_fi.fi_chart_template","False"
+"account_5100","5100","Lisät ja korvaukset","account.data_account_type_expenses","l10n_fi.fi_chart_template","False"
+"account_5200","5200","Palkkiot","account.data_account_type_expenses","l10n_fi.fi_chart_template","False"
+"account_5300","5300","Loma-ajan ja sosiaalipalkat","account.data_account_type_expenses","l10n_fi.fi_chart_template","False"
+"account_5330","5330","Palkkojen jaksotus","account.data_account_type_expenses","l10n_fi.fi_chart_template","False"
+"account_5400","5400","Luontoisedut","account.data_account_type_expenses","l10n_fi.fi_chart_template","False"
+"account_5470","5470","Saadut korvaukset palkoista","account.data_account_type_expenses","l10n_fi.fi_chart_template","False"
+"account_5600","5600","Johdon palkat ja palkkiot","account.data_account_type_expenses","l10n_fi.fi_chart_template","False"
+"account_5700","5700","Johdon luontoisedut","account.data_account_type_expenses","l10n_fi.fi_chart_template","False"
+"account_5770","5770","Saadut korvaukset johdon palkoista","account.data_account_type_expenses","l10n_fi.fi_chart_template","False"
+"account_5800","5800","Osakkaiden ja omaisten palkat ja palkkiot","account.data_account_type_expenses","l10n_fi.fi_chart_template","False"
+"account_5900","5900","Osakkaiden ja omaisten luontoisedut","account.data_account_type_expenses","l10n_fi.fi_chart_template","False"
+"account_5960","5960","Saadut korvaukset osakkaiden ja omaisten palkoista","account.data_account_type_expenses","l10n_fi.fi_chart_template","False"
+"account_5990","5990","Luontoisetujen vastatili","account.data_account_type_expenses","l10n_fi.fi_chart_template","False"
+"account_6000","6000","Maksetut eläkkeet","account.data_account_type_expenses","l10n_fi.fi_chart_template","False"
+"account_6100","6100","Eläkevakuutusmaksut","account.data_account_type_expenses","l10n_fi.fi_chart_template","False"
+"account_6290","6290","Tilikauden aikainen jaksotus","account.data_account_type_expenses","l10n_fi.fi_chart_template","False"
+"account_6300","6300","Sosiaaliturvamaksut","account.data_account_type_expenses","l10n_fi.fi_chart_template","False"
+"account_6400","6400","Pakolliset vakuutusmaksut","account.data_account_type_expenses","l10n_fi.fi_chart_template","False"
+"account_6500","6500","Muut henkilöstön vakuutusmaksut","account.data_account_type_expenses","l10n_fi.fi_chart_template","False"
+"account_6690","6690","Tilikauden aikainen jaksotus","account.data_account_type_expenses","l10n_fi.fi_chart_template","False"
+"account_6800","6800","Suunnitelman mukaiset poistot","account.data_account_type_expenses","l10n_fi.fi_chart_template","False"
+"account_6930","6930","Konserniliikearvon poisto ja konsenireservin vähennys","account.data_account_type_expenses","l10n_fi.fi_chart_template","False"
+"account_6950","6950","Arvonalentumiset pysyvien vastaavien hyödykkeistä","account.data_account_type_expenses","l10n_fi.fi_chart_template","False"
+"account_6990","6990","Vaihtuvien vastaavien poikkeukselliset arvonalentumiset","account.data_account_type_expenses","l10n_fi.fi_chart_template","False"
+"account_7000","7000","Vapaaehtoiset henkilösivukulut","account.data_account_type_expenses","l10n_fi.fi_chart_template","False"
+"account_7200","7200","Toimitilakulut","account.data_account_type_expenses","l10n_fi.fi_chart_template","False"
+"account_7230","7230","Toimitilavuokrat","account.data_account_type_expenses","l10n_fi.fi_chart_template","False"
+"account_7250","7250","Varastovuokrat","account.data_account_type_expenses","l10n_fi.fi_chart_template","False"
+"account_7270","7270","Autotalli- ja autopaikkavuokrat","account.data_account_type_expenses","l10n_fi.fi_chart_template","False"
+"account_7500","7500","Ajoneuvokulut","account.data_account_type_expenses","l10n_fi.fi_chart_template","False"
+"account_7520","7520","Ajoneuvovuokrat","account.data_account_type_expenses","l10n_fi.fi_chart_template","False"
+"account_7640","7640","Atk-laite ja -ohjelmakulut","account.data_account_type_expenses","l10n_fi.fi_chart_template","False"
+"account_7650","7650","Atk-laite ja ohjelm. vuokrat","account.data_account_type_expenses","l10n_fi.fi_chart_template","False"
+"account_7710","7710","Kone- ja kalustokulut","account.data_account_type_expenses","l10n_fi.fi_chart_template","False"
+"account_7720","7720","Kone- ja kalustovuokrat","account.data_account_type_expenses","l10n_fi.fi_chart_template","False"
+"account_7800","7800","Matkakulut","account.data_account_type_expenses","l10n_fi.fi_chart_template","False"
+"account_7950","7950","Edustuskulut","account.data_account_type_expenses","l10n_fi.fi_chart_template","False"
+"account_8000","8000","Myyntikulut","account.data_account_type_expenses","l10n_fi.fi_chart_template","False"
+"account_8050","8050","Markkinointikulut","account.data_account_type_expenses","l10n_fi.fi_chart_template","False"
+"account_8300","8300","Tutkimus- ja kehityskulut","account.data_account_type_expenses","l10n_fi.fi_chart_template","False"
+"account_8370","8370","Ostetut hallintopalvelut","account.data_account_type_expenses","l10n_fi.fi_chart_template","False"
+"account_8450","8450","Muut hallintokulut","account.data_account_type_expenses","l10n_fi.fi_chart_template","False"
+"account_8451","8451","Puhelin- ja tietoliikennekulut","account.data_account_type_expenses","l10n_fi.fi_chart_template","False"
+"account_8452","8452","Vakuutukset ja vahingonkorvaukset","account.data_account_type_expenses","l10n_fi.fi_chart_template","False"
+"account_8453","8453","Toimisto- ja hallintokulut","account.data_account_type_expenses","l10n_fi.fi_chart_template","False"
+"account_8455","8455","Muut hallintokulut","account.data_account_type_expenses","l10n_fi.fi_chart_template","False"
+"account_8700","8700","Muut liikekulut","account.data_account_type_expenses","l10n_fi.fi_chart_template","False"
+"account_8730","8730","Myynnin luottotappiot","account.data_account_type_expenses","l10n_fi.fi_chart_template","False"
+"account_8790","8790","Fuusiotappio","account.data_account_type_expenses","l10n_fi.fi_chart_template","False"
+"account_8800","8800","Vähennyskelvottomat liikekulut","account.data_account_type_expenses","l10n_fi.fi_chart_template","False"
+"account_8850","8850","Käyttöomaisuuden luovutustappiot","account.data_account_type_expenses","l10n_fi.fi_chart_template","False"
+"account_8890","8890","Täsmäytyserot","account.data_account_type_expenses","l10n_fi.fi_chart_template","False"
+"account_8990","8990","Osuus osakkuusyritysten tuloksesta","account.data_account_type_expenses","l10n_fi.fi_chart_template","False"
+"account_9000","9000","Tuotot osuuksista saman konsernin yrityksissä","account.data_account_type_other_income","l10n_fi.fi_chart_template","False"
+"account_9030","9030","Osuus osakkuusyritysten voitosta (tappiosta)","account.data_account_type_other_income","l10n_fi.fi_chart_template","False"
+"account_9040","9040","Tuotot osuuksista omistusyhteysyrityksissä","account.data_account_type_other_income","l10n_fi.fi_chart_template","False"
+"account_9070","9070","Tuotot osuuksista muissa omistusyhteysyrityksissä","account.data_account_type_other_income","l10n_fi.fi_chart_template","False"
+"account_9080","9080","Sijoitustuotot pysyvien vastaavien sijoituksista, konserni","account.data_account_type_other_income","l10n_fi.fi_chart_template","False"
+"account_9090","9090","Sijoitustuotot pysyvien vastaavien sijoituksista, muut","account.data_account_type_other_income","l10n_fi.fi_chart_template","False"
+"account_9150","9150","Muut korko- ja rahoitustuotot, konserni","account.data_account_type_other_income","l10n_fi.fi_chart_template","False"
+"account_9160","9160","Muut korko- ja rahoitustuotot, muut","account.data_account_type_other_income","l10n_fi.fi_chart_template","False"
+"account_9300","9300","Arvonalentumiset pysyvien vastaavien sijoituksista","account.data_account_type_expenses","l10n_fi.fi_chart_template","False"
+"account_9370","9370","Arvonalentumiset vaihtuvien vastaavien rahoitusarvopapereista","account.data_account_type_expenses","l10n_fi.fi_chart_template","False"
+"account_9420","9420","Korkokulut ja muut rahoituskulut, konserni","account.data_account_type_expenses","l10n_fi.fi_chart_template","False"
+"account_9440","9440","Korkokulut ja muut rahoituskulut, muut","account.data_account_type_expenses","l10n_fi.fi_chart_template","False"
+"account_9800","9800","Poistoeron lisäys (-) tai vähennys (+)","account.data_account_type_expenses","l10n_fi.fi_chart_template","False"
+"account_9840","9840","Verotusperusteisten varausten lisäys (-) tai vähennys (+)","account.data_account_type_expenses","l10n_fi.fi_chart_template","False"
+"account_9850","9850","Konserniavustukset, saadut","account.data_account_type_expenses","l10n_fi.fi_chart_template","False"
+"account_9860","9860","Konserniavustukset, maksetut","account.data_account_type_expenses","l10n_fi.fi_chart_template","False"
+"account_9900","9900","Tilikauden ja aikaisempien tilikausien verot","account.data_account_type_expenses","l10n_fi.fi_chart_template","False"
+"account_9970","9970","Laskennalliset verot","account.data_account_type_expenses","l10n_fi.fi_chart_template","False"
+"account_9980","9980","Muut välittömät verot","account.data_account_type_expenses","l10n_fi.fi_chart_template","False"
+"account_9990","9990","Vähemmistöosuudet","account.data_account_type_expenses","l10n_fi.fi_chart_template","False"
diff --git a/addons/l10n_fi/data/account_account_tag_data.xml b/addons/l10n_fi/data/account_account_tag_data.xml
new file mode 100644
index 00000000000..c9ce0519921
--- /dev/null
+++ b/addons/l10n_fi/data/account_account_tag_data.xml
@@ -0,0 +1,548 @@
+
+
+
+
+ Tase: Kehittämismenot
+ accounts
+
+
+ Tase: Aineettomat oikeudet
+ accounts
+
+
+ Tase: Liikearvo
+ accounts
+
+
+ Tase: Muut pitkävaikutteiset menot
+ accounts
+
+
+ Tase: Ennakkomaksut aineettomat
+ accounts
+
+
+ Tase: Maa- ja vesialueet omistetut
+ accounts
+
+
+ Tase: Maa- ja vesialueet vuokraoikeudet
+ accounts
+
+
+ Tase: Rakennukset omistetut
+ accounts
+
+
+ Tase: Rakennukset vuokraoikeudet
+ accounts
+
+
+ Tase: Koneet ja kalusto
+ accounts
+
+
+ Tase: Muut aineelliset hyödykkeet
+ accounts
+
+
+ Tase: Ennakkomaksut aineelliset
+ accounts
+
+
+ Tase: Osuudet saman konsernin yrityksissä
+ accounts
+
+
+ Tase: Saamiset saman konsernin yrityksiltä sijoitukset
+ accounts
+
+
+ Tase: Osuudet omistusyhteysyrityksissä
+ accounts
+
+
+ Tase: Saamiset omistusyhteysyrityksiltä sijoitukset
+ accounts
+
+
+ Tase: Muut osakkeet ja osuudet
+ accounts
+
+
+ Tase: Muut saamiset sijoitukset
+ accounts
+
+
+ Tase: Aineet ja tarvikkeet vaihto-omaisuus
+ accounts
+
+
+ Tase: Keskeneräiset tuotteet
+ accounts
+
+
+ Tase: Valmiit tuotteet ja tavarat vaihto-omaisuus
+ accounts
+
+
+ Tase: Matkalla olevat tavarat
+ accounts
+
+
+ Tase: Muu vaihto-omaisuus
+ accounts
+
+
+ Tase: Ennakkomaksut vaihto-omaisuus
+ accounts
+
+
+ Tase: Myyntisaamiset pitkäaikaiset
+ accounts
+
+
+ Tase: Saamiset konserni pitkäaikaiset
+ accounts
+
+
+ Tase: Saamiset omistusyhteysyritykset pitkäaikaiset
+ accounts
+
+
+ Tase: Lainasaamiset pitkäaikaiset
+ accounts
+
+
+ Tase: Laskennalliset verosaamiset pitkäaikaiset
+ accounts
+
+
+ Tase: Muut saamiset pitkäaikaiset
+ accounts
+
+
+ Tase: Maksamattomat osuudet pitkäaikaiset
+ accounts
+
+
+ Tase: Siirtosaamiset pitkäaikaiset
+ accounts
+
+
+ Tase: Myyntisaamiset
+ accounts
+
+
+ Tase: Myyntisaamiset konserni
+ accounts
+
+
+ Tase: Saamiset konserni
+ accounts
+
+
+ Tase: Myyntisaamiset omistusyhteysyritykset
+ accounts
+
+
+ Tase: Saamiset omistusyhteysyritykset
+ accounts
+
+
+ Tase: Lainasaamiset
+ accounts
+
+
+ Tase: Laskennalliset verosaamiset
+ accounts
+
+
+ Tase: Muut saamiset
+ accounts
+
+
+ Tase: Maksamattomat osuudet
+ accounts
+
+
+ Tase: Siirtosaamiset
+ accounts
+
+
+ Tase: Osuudet konserni rahoitusarvopaperit
+ accounts
+
+
+ Tase: Muut osakkeet ja osuudet rahoitusarvopaperit
+ accounts
+
+
+ Tase: Muut rahoitusarvopaperit
+ accounts
+
+
+ Tase: Rahat ja pankkisaamiset
+ accounts
+
+
+ Tase: Osake-, osuus- tai muu vastaava pääoma
+ accounts
+
+
+ Tase: Ylikurssirahasto
+ accounts
+
+
+ Tase: Arvonkorotusrahasto
+ accounts
+
+
+ Tase: Sijoitetun vapaan oman pääoman rahasto
+ accounts
+
+
+ Tase: Vararahasto
+ accounts
+
+
+ Tase: Yhtiöjärjestyksen tai sääntöjen mukainen rahasto
+ accounts
+
+
+ Tase: Käyvän arvon rahasto
+ accounts
+
+
+ Tase: Muut rahastot
+ accounts
+
+
+ Tase: Edellisten tilikausien tulos
+ accounts
+
+
+ Tase: Tilikauden tulos
+ accounts
+
+
+ Tase: Poistoero
+ accounts
+
+
+ Tase: Verotusperäiset varaukset
+ accounts
+
+
+ Tase: Eläkevaraukset
+ accounts
+
+
+ Tase: Verovaraukset
+ accounts
+
+
+ Tase: Muut pakolliset varaukset
+ accounts
+
+
+ Tase: Pääomalainat pitkäaikaiset
+ accounts
+
+
+ Tase: Joukkovelkakirjalainat pitkäaikaiset
+ accounts
+
+
+ Tase: Vaihtovelkakirjalainat pitkäaikaiset
+ accounts
+
+
+ Tase: Lainat rahoituslaitoksilta pitkäaikaiset
+ accounts
+
+
+ Tase: Eläkelainat pitkäaikaiset
+ accounts
+
+
+ Tase: Saadut ennakot pitkäaikaiset
+ accounts
+
+
+ Tase: Ostovelat pitkäaikaiset
+ accounts
+
+
+ Tase: Rahoitusvekselit pitkäaikaiset
+ accounts
+
+
+ Tase: Velat konserni pitkäaikaiset
+ accounts
+
+
+ Tase: Velat omistusyhteysyritykset pitkäaikaiset
+ accounts
+
+
+ Tase: Laskennalliset verovelat pitkäaikaiset
+ accounts
+
+
+ Tase: Muut velat pitkäaikaiset
+ accounts
+
+
+ Tase: Siirtovelat pitkäaikaiset
+ accounts
+
+
+ Tase: Pääomalainat lyhytaikaiset
+ accounts
+
+
+ Tase: Joukkovelkakirjalainat lyhytaikaiset
+ accounts
+
+
+ Tase: Vaihtovelkakirjalainat lyhytaikaiset
+ accounts
+
+
+ Tase: Lainat rahoituslaitoksilta lyhytaikaiset
+ accounts
+
+
+ Tase: Eläkelainat lyhytaikaiset
+ accounts
+
+
+ Tase: Saadut ennakot lyhytaikaiset
+ accounts
+
+
+ Tase: Ostovelat
+ accounts
+
+
+ Tase: Rahoitusvekselit lyhytaikaiset
+ accounts
+
+
+ Tase: Ostovelat konserni
+ accounts
+
+
+ Tase: Velat konserni lyhytaikaiset
+ accounts
+
+
+ Tase: Ostovelat omistusyhteysyritykset
+ accounts
+
+
+ Tase: Velat omistusyhteysyritykset
+ accounts
+
+
+ Tase: Laskennalliset verovelat lyhytaikaiset
+ accounts
+
+
+ Tase: Muut velat lyhytaikaiset
+ accounts
+
+
+ Tase: Siirtovelat lyhytaikaiset
+ accounts
+
+
+ Tulos: Myynti
+ accounts
+
+
+ Tulos: Myynnin oikaisuerät
+ accounts
+
+
+ Tulos: Valmiiden ja keskeneräisten tuotteiden varastojen muutos
+ accounts
+
+
+ Tulos: Valmistus omaan käyttöön
+ accounts
+
+
+ Tulos: Liiketoiminnan muut tuotot
+ accounts
+
+
+ Tulos: Ostot
+ accounts
+
+
+ Tulos: Ostojen oikaisuerät
+ accounts
+
+
+ Tulos: Varastojen muutos
+ accounts
+
+
+ Tulos: Ulkopuoliset palvelut
+ accounts
+
+
+ Tulos: Palkat ja palkkiot tuotanto
+ accounts
+
+
+ Tulos: Palkat ja palkkiot muut
+ accounts
+
+
+ Tulos: Eläkekulut tuotanto
+ accounts
+
+
+ Tulos: Eläkekulut muut
+ accounts
+
+
+ Tulos: Muut sivukulut tuotanto
+ accounts
+
+
+ Tulos: Muut sivukulut muut
+ accounts
+
+
+ Tulos: Suunnitelman mukaiset poistot
+ accounts
+
+
+ Tulos: Arvonalentumiset pysyvät vastaavat
+ accounts
+
+
+ Tulos: Arvonalentumiset vaihtuvat vastaavat
+ accounts
+
+
+ Tulos: Henkilöstö muut
+ accounts
+
+
+ Tulos: Toimitilakulut
+ accounts
+
+
+ Tulos: Ajoneuvokulut
+ accounts
+
+
+ Tulos: IT-kulut
+ accounts
+
+
+ Tulos: Kone- ja kalustokulut
+ accounts
+
+
+ Tulos: Matkat
+ accounts
+
+
+ Tulos: Edustus
+ accounts
+
+
+ Tulos: Myyntikulut
+ accounts
+
+
+ Tulos: Markkinointikulut
+ accounts
+
+
+ Tulos: Tutkimus ja kehitys
+ accounts
+
+
+ Tulos: Hallintopalvelut
+ accounts
+
+
+ Tulos: Muut hallintokulut
+ accounts
+
+
+ Tulos: Muut kiinteät kulut
+ accounts
+
+
+ Tulos: Tuotot osuuksista konserni
+ accounts
+
+
+ Tulos: Tuotot osuuksista omistusyhteysyritys
+ accounts
+
+
+ Tulos: Sijoitustuotot muut pysyvät vastaavat konserni
+ accounts
+
+
+ Tulos: Muut sijoitustuotot pysyvät vastaavat
+ accounts
+
+
+ Tulos: Korko ja rahoitustuotot konserni
+ accounts
+
+
+ Tulos: Muut korko ja rahoitustuotot
+ accounts
+
+
+ Tulos: Arvonalentumiset sijoitukset pysyvät vastaavat
+ accounts
+
+
+ Tulos: Arvonalentumiset rahoitusarvopaperit vaihtuvat vastaavat
+ accounts
+
+
+ Tulos: Rahoituskulut konserni
+ accounts
+
+
+ Tulos: Rahoituskulut muut
+ accounts
+
+
+ Tulos: Poistoeron muutos
+ accounts
+
+
+ Tulos: Varausten muutos
+ accounts
+
+
+ Tulos: Konserniavustus
+ accounts
+
+
+ Tulos: Tilikauden verot
+ accounts
+
+
+ Tulos: Laskennalliset verot
+ accounts
+
+
+ Tulos: Muut välittömät verot
+ accounts
+
+
diff --git a/addons/l10n_fi/data/account_chart_template_configuration_data.xml b/addons/l10n_fi/data/account_chart_template_configuration_data.xml
new file mode 100644
index 00000000000..a283a5175e8
--- /dev/null
+++ b/addons/l10n_fi/data/account_chart_template_configuration_data.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
diff --git a/addons/l10n_fi/data/account_chart_template_data.xml b/addons/l10n_fi/data/account_chart_template_data.xml
new file mode 100644
index 00000000000..c4b2ad4c0d6
--- /dev/null
+++ b/addons/l10n_fi/data/account_chart_template_data.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+ Finnish Chart of Accounts
+ 1910
+ 1921
+ 1950
+ 4
+
+
+
diff --git a/addons/l10n_fi/data/account_fiscal_position_template_data.xml b/addons/l10n_fi/data/account_fiscal_position_template_data.xml
new file mode 100644
index 00000000000..1e37ffe7571
--- /dev/null
+++ b/addons/l10n_fi/data/account_fiscal_position_template_data.xml
@@ -0,0 +1,288 @@
+
+
+
+
+
+ Aland
+
+
+
+
+ 1
+
+
+
+ Finland
+
+
+
+
+ 3
+
+
+
+ EU
+
+
+
+
+ 4
+
+
+
+ EU no VAT
+
+
+
+ 5
+
+
+
+ Non EU
+
+
+ 6
+
+
+
+ Construction services + Scrap metal
+
+
+ 7
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/addons/l10n_fi/data/account_tax_report_line.xml b/addons/l10n_fi/data/account_tax_report_line.xml
new file mode 100644
index 00000000000..6c2f4c054dd
--- /dev/null
+++ b/addons/l10n_fi/data/account_tax_report_line.xml
@@ -0,0 +1,133 @@
+
+
+
+ VAT Report
+
+
+
+
+ Vero kotimaan myynneistä verokannoittain
+ 0
+
+
+
+ 24 %:n vero
+ sale_24
+ fi_301
+ 1
+
+
+
+
+ 14 %:n vero
+ sale_14
+ fi_302
+ 2
+
+
+
+
+ 10 %:n vero
+ sale_10
+ fi_303
+ 3
+
+
+
+
+ Vero tavaraostoista muista EU-maista
+ goods_eu
+ fi_305
+ 4
+
+
+
+ Vero palveluostoista muista EU-maista
+ service_eu
+ fi_tax_306
+ 5
+
+
+
+ Vero tavaroiden maahantuonneista EU:n ulkopuolelta
+ goods_no_eu
+ fi_340
+ 6
+
+
+
+ Vero rakentamispalvelun ja metalliromun ostoista (käännetty verovelvollisuus)
+ construct
+ fi_318
+ 7
+
+
+
+ Verokauden vähennettävä vero
+ deductible
+ fi_307
+ 8
+
+
+
+ Alarajahuojennuksen määrä
+ fi_vat_relief
+ 9
+
+
+
+ Maksettava vero / Palautukseen oikeuttava vero (-)
+ sale_24 + sale_14 + sale_10 + goods_eu + service_eu + goods_no_eu + construct - deductible
+ 10
+
+
+
+
+ 0-verokannan alainen liikevaihto
+ fi_304
+ 11
+
+
+
+ Tavaroiden myynnit muihin EU-maihin
+ fi_311
+ 12
+
+
+
+ Palvelujen myynnit muihin EU-maihin
+ fi_312
+ 13
+
+
+
+ Tavaraostot muista EU-maista
+ fi_base_purchase_goods_eu
+ 14
+
+
+
+ Palveluostot muista EU-maista
+ fi_base_306
+ 15
+
+
+
+ Tavaroiden maahantuonnit EU:n ulkopuolelta
+ fi_base_340
+ 16
+
+
+
+ Rakentamispalvelun ja metalliromun myynnit (käännetty verovelvollisuus)
+ fi_319
+ 17
+
+
+
+ Rakentamispalvelun ja metalliromun ostot (käännetty verovelvollisuus)
+ fi_base_318
+ 18
+
+
+
diff --git a/addons/l10n_fi/data/account_tax_template_data.xml b/addons/l10n_fi/data/account_tax_template_data.xml
new file mode 100644
index 00000000000..8570178ce56
--- /dev/null
+++ b/addons/l10n_fi/data/account_tax_template_data.xml
@@ -0,0 +1,1259 @@
+
+
+
+
+
+
+
+ VAT 24%
+ VAT 24%
+ 24.0
+ sale
+ percent
+
+
+
+
+
+ VAT 14%
+ VAT 14%
+ 14.0
+ sale
+ percent
+
+
+
+
+
+ VAT 10%
+ VAT 10%
+ 10.0
+ sale
+ percent
+
+
+
+
+
+
+ VAT 0%
+ VAT 0%
+ 0.0
+ sale
+ percent
+
+
+
+
+
+
+
+
+ VAT 24% Service
+ VAT 24% Service
+ 24.0
+ sale
+ percent
+
+
+
+
+
+
+ VAT 14% Service
+ VAT 14% Service
+ 14.0
+ sale
+ percent
+
+
+
+
+
+
+ VAT 10% Service
+ VAT 10% Service
+ 10.0
+ sale
+ percent
+
+
+
+
+
+
+
+
+
+ Purchase 24%
+ Purchase 24%
+ 24.0
+ purchase
+ percent
+
+
+
+
+
+ Purchase 14%
+ Purchase 14%
+ 14.0
+ purchase
+ percent
+
+
+
+
+
+ Purchase 10%
+ Purchase 10%
+ 10.0
+ purchase
+ percent
+
+
+
+
+
+
+
+ Purchase 24% Service
+ Purchase 24% Service
+ 24.0
+ purchase
+ percent
+
+
+
+
+
+ Purchase 14% Service
+ Purchase 14% Service
+ 14.0
+ purchase
+ percent
+
+
+
+
+
+ Purchase 10% Service
+ Purchase 10% Service
+ 10.0
+ purchase
+ percent
+
+
+
+
+
+
+
+ Purchase 24% (brutto)
+ Purchase 24% (brutto)
+ 24.0
+ purchase
+ percent
+
+
+
+
+
+ Purchase 14% (brutto)
+ Purchase 14% (brutto)
+ 14.0
+ purchase
+ percent
+
+
+
+
+
+ Purchase 10% (brutto)
+ Purchase 10% (brutto)
+ 10.0
+ purchase
+ percent
+
+
+
+
+
+
+
+ Purchase 0%
+ Purchase 0%
+ 0.0
+ purchase
+ percent
+
+
+
+
+
+
+
+ VAT 0% EU Goods
+ VAT 0% EU Goods
+ 0.0
+ sale
+ percent
+
+
+
+
+
+
+
+ VAT 0% EU Service
+ VAT 0% EU Service
+ 0.0
+ sale
+ percent
+
+
+
+
+
+
+
+
+ Purchase 24% EU Goods
+ Purchase 24% EU Goods
+ 24.0
+ purchase
+ percent
+
+
+
+
+
+ Purchase 14% EU Goods
+ Purchase 14% EU Goods
+ 14.0
+ purchase
+ percent
+
+
+
+
+
+ Purchase 10% EU Goods
+ Purchase 10% EU Goods
+ 10.0
+ purchase
+ percent
+
+
+
+
+
+
+
+ Purchase 24% EU Service
+ Purchase 24% EU Service
+ 24.0
+ purchase
+ percent
+
+
+
+
+
+ Purchase 14% EU Service
+ Purchase 14% EU Service
+ 14.0
+ purchase
+ percent
+
+
+
+
+
+ Purchase 10% EU Service
+ Purchase 10% EU Service
+ 10.0
+ purchase
+ percent
+
+
+
+
+
+
+
+ VAT 0% Triangulation
+ VAT 0% Triangulation
+ 0.0
+ sale
+ percent
+
+
+
+
+
+ Triangulation Purchase
+ Triangulation Purchase
+ 0.0
+ purchase
+ percent
+
+
+
+
+
+
+
+ Construct 0%
+ Construct 0%
+ 0.0
+ sale
+ percent
+
+
+
+
+
+ Purchase 24% Construct
+ Purchase 24% Construct
+ 24.0
+ purchase
+ percent
+
+
+
+
+
+ Purchase 24% FI Construct
+ Purchase 24% FI Construct
+ 24.0
+ purchase
+ percent
+
+
+
+
+
+
+
+
+ Aland 0%
+ Aland 0%
+ 0.0
+ sale
+ percent
+
+
+
+
+
+
+
+
+
+ Purchase 24% Non EU Goods
+ Purchase 24% Non EU Goods
+ 24.0
+ purchase
+ percent
+
+
+
+
+
+ Purchase 14% Non EU Goods
+ Purchase 14% Non EU Goods
+ 14.0
+ purchase
+ percent
+
+
+
+
+
+ Purchase 10% Non EU Goods
+ Purchase 10% Non EU Goods
+ 10.0
+ purchase
+ percent
+
+
+
+
+
+
+
+ VAT 0% Export
+ VAT 0% Export
+ 0.0
+ sale
+ percent
+
+
+
+
+
+
+ Import Pay24
+ 24%
+ 24.0
+ purchase
+ percent
+
+
+
+
+
+ Import Deduct24
+ 24%
+ 24.0
+ purchase
+ percent
+
+
+
+
+
diff --git a/addons/l10n_fi/data/l10n_fi_chart_post_data.xml b/addons/l10n_fi/data/l10n_fi_chart_post_data.xml
new file mode 100644
index 00000000000..deede96b9c0
--- /dev/null
+++ b/addons/l10n_fi/data/l10n_fi_chart_post_data.xml
@@ -0,0 +1,17 @@
+
+
+
+ 4
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/addons/l10n_fi/i18n/fi.po b/addons/l10n_fi/i18n/fi.po
new file mode 100644
index 00000000000..44fc63bd09f
--- /dev/null
+++ b/addons/l10n_fi/i18n/fi.po
@@ -0,0 +1,266 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+# * l10n_fi_payment_reference
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Odoo Server 11.0\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2020-03-16 19:02+0200\n"
+"PO-Revision-Date: 2020-03-16 19:10+0200\n"
+"Last-Translator: Miku Laitinen \n"
+"Language-Team: \n"
+"Language: fi\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"X-Generator: Poedit 1.8.7.1\n"
+
+#. module: l10n_fi
+#: model:ir.model.constraint,message:l10n_fi.constraint_res_partner_operator_einvoice_operator_identifier_uniq
+msgid "\"Identifier\" should be unique!"
+msgstr "Tunnisteen on oltava uniikki"
+
+#. module: l10n_fi
+#: model:ir.model.fields,field_description:l10n_fi.field_res_partner_operator_einvoice__active
+msgid "Active"
+msgstr "Aktiivinen"
+
+#. module: l10n_fi
+#: model_terms:ir.ui.view,arch_db:l10n_fi.res_partner_operator_einvoice_view_search
+msgid "Archived"
+msgstr "Arkistoitu"
+
+#. module: l10n_fi
+#: model:ir.model.fields.selection,name:l10n_fi.selection__res_partner_operator_einvoice__ttype__bank
+msgid "Bank with Finvoice brokerage service"
+msgstr "Verkkolaskuja välittävä pankki"
+
+#. module: l10n_fi
+#: model:ir.model.fields,field_description:l10n_fi.field_res_partner__business_code
+#: model:ir.model.fields,field_description:l10n_fi.field_res_users__business_code
+#: model_terms:ir.ui.view,arch_db:l10n_fi.view_partner_form_l10n_fi
+msgid "Business ID"
+msgstr "Y-tunnus"
+
+#. module: l10n_fi
+#: model:ir.model.fields.selection,name:l10n_fi.selection__res_partner_operator_einvoice__ttype__broker
+msgid "Carrier broker"
+msgstr "Verkkolaskuvälittäjä"
+
+#. module: l10n_fi
+#: model:ir.model.fields,field_description:l10n_fi.field_account_journal__invoice_reference_model
+msgid "Communication Standard"
+msgstr "Maksuviitteen tyyppi"
+
+#. module: l10n_fi
+#: model:ir.model,name:l10n_fi.model_res_company
+msgid "Companies"
+msgstr "Yritykset"
+
+#. module: l10n_fi
+#: model:ir.model,name:l10n_fi.model_res_config_settings
+msgid "Config Settings"
+msgstr "Asetukset"
+
+#. module: l10n_fi
+#: model:ir.model,name:l10n_fi.model_res_partner
+msgid "Contact"
+msgstr "Kontakti"
+
+#. module: l10n_fi
+#: model:ir.model.fields,field_description:l10n_fi.field_res_partner_operator_einvoice__create_uid
+msgid "Created by"
+msgstr "Luonut"
+
+#. module: l10n_fi
+#: model:ir.model.fields,field_description:l10n_fi.field_res_partner_operator_einvoice__create_date
+msgid "Created on"
+msgstr "Luotu"
+
+#. module: l10n_fi
+#: model:ir.model.fields,field_description:l10n_fi.field_res_partner_operator_einvoice__display_name
+msgid "Display Name"
+msgstr "Näyttönimi"
+
+#. module: l10n_fi
+#: model:ir.ui.menu,name:l10n_fi.account_einvoicing_menu
+#: model_terms:ir.ui.view,arch_db:l10n_fi.res_config_settings_view_form
+msgid "E-Invoicing"
+msgstr "Verkkolaskutus"
+
+#. module: l10n_fi
+#: model:ir.model.fields,field_description:l10n_fi.field_res_company__edicode
+#: model:ir.model.fields,field_description:l10n_fi.field_res_config_settings__edicode
+#: model:ir.model.fields,field_description:l10n_fi.field_res_partner__edicode
+#: model:ir.model.fields,field_description:l10n_fi.field_res_users__edicode
+msgid "Edicode"
+msgstr "Verkkolaskuosoite"
+
+#. module: l10n_fi
+#: model:ir.model.fields,help:l10n_fi.field_res_config_settings__edicode
+msgid "Edicode for eInvoice documents"
+msgstr "Verkkolaskuosoite verkkolaskuille"
+
+#. module: l10n_fi
+#: model:ir.model.fields.selection,name:l10n_fi.selection__account_journal__invoice_reference_model__finnish_rf
+msgid "Finnish Creditor Reference (RF)"
+msgstr "Suomalainen RF-viite"
+
+#. module: l10n_fi
+#: model:ir.model.fields.selection,name:l10n_fi.selection__account_journal__invoice_reference_model__finnish
+msgid "Finnish Standard Reference"
+msgstr "Suomalainen maksuviite"
+
+#. module: l10n_fi
+#: model_terms:ir.ui.view,arch_db:l10n_fi.res_partner_operator_einvoice_view_search
+msgid "Group by..."
+msgstr "Ryhmittely.."
+
+#. module: l10n_fi
+#: model:ir.model.fields,field_description:l10n_fi.field_res_partner_operator_einvoice__id
+msgid "ID"
+msgstr "ID"
+
+#. module: l10n_fi
+#: model:ir.model.fields,field_description:l10n_fi.field_res_partner_operator_einvoice__identifier
+msgid "Identifier"
+msgstr "Tunniste"
+
+#. module: l10n_fi
+#: model:ir.model.fields,help:l10n_fi.field_res_company__einvoice_operator_id
+#: model:ir.model.fields,help:l10n_fi.field_res_config_settings__einvoice_operator_id
+#: model:ir.model.fields,help:l10n_fi.field_res_partner__einvoice_operator_id
+#: model:ir.model.fields,help:l10n_fi.field_res_users__einvoice_operator_id
+msgid "Intermediator for eInvoice documents"
+msgstr "Välittäjä verkkolaskuille"
+
+#. module: l10n_fi
+#: code:addons/l10n_fi/models/account_move.py:0
+#, python-format
+msgid "Invoice number must contain numeric characters"
+msgstr "Laskun numeron on sisällettävä numeerisia merkkejä"
+
+#. module: l10n_fi
+#: model:ir.model,name:l10n_fi.model_account_journal
+msgid "Journal"
+msgstr "Päiväkirja"
+
+#. module: l10n_fi
+#: model:ir.model,name:l10n_fi.model_account_move
+msgid "Journal Entries"
+msgstr "Päiväkirjaviennit"
+
+#. module: l10n_fi
+#: model:ir.model.fields,field_description:l10n_fi.field_res_partner_operator_einvoice____last_update
+msgid "Last Modified on"
+msgstr "Viimeksi muokattu"
+
+#. module: l10n_fi
+#: model:ir.model.fields,field_description:l10n_fi.field_res_partner_operator_einvoice__write_uid
+msgid "Last Updated by"
+msgstr "Viimeksi päivittänyt"
+
+#. module: l10n_fi
+#: model:ir.model.fields,field_description:l10n_fi.field_res_partner_operator_einvoice__write_date
+msgid "Last Updated on"
+msgstr "Viimeksi päivitetty"
+
+#. module: l10n_fi
+#: model:ir.model.fields,help:l10n_fi.field_res_partner_operator_einvoice__identifier
+msgid "Monetary Institution Identifier (see https://tieke.fi)"
+msgstr "Rahalaitostunniste (katso https://tieke.fi)"
+
+#. module: l10n_fi
+#: model:ir.model.fields,field_description:l10n_fi.field_res_partner_operator_einvoice__name
+msgid "Operator"
+msgstr "Välittäjä"
+
+#. module: l10n_fi
+#: model_terms:ir.ui.view,arch_db:l10n_fi.res_partner_operator_einvoice_view_form
+msgid "Operator Name"
+msgstr "Välittäjän nimi"
+
+#. module: l10n_fi
+#: model_terms:ir.ui.view,arch_db:l10n_fi.res_partner_operator_einvoice_view_search
+msgid "Operator Type"
+msgstr "Välittäjän tunnus"
+
+#. module: l10n_fi
+#: model:ir.model.fields,help:l10n_fi.field_res_company__edicode
+msgid "Our Company's Edicode for eInvoice documents"
+msgstr "Yrityksen verkkolaskuosoite"
+
+#. module: l10n_fi
+#: model_terms:ir.ui.view,arch_db:l10n_fi.res_config_settings_view_form
+msgid "Our company's Edicode for eInvoice documents."
+msgstr "Yrityksen verkkolaskuosoite"
+
+#. module: l10n_fi
+#: model_terms:ir.ui.view,arch_db:l10n_fi.res_config_settings_view_form
+msgid "Our company's provider for eInvoice documents."
+msgstr "Yrityksen verkkolaskuosoite"
+
+#. module: l10n_fi
+#: model_terms:ir.ui.view,arch_db:l10n_fi.res_partner_operator_einvoice_view_search
+msgid "Search for eInvoice Operator"
+msgstr "Verkkolaskuvälittäjän haku"
+
+#. module: l10n_fi
+#: model:ir.model.fields,field_description:l10n_fi.field_res_partner_operator_einvoice__sequence
+msgid "Sequence"
+msgstr "Järjestys"
+
+#. module: l10n_fi
+#: model:ir.model.fields,help:l10n_fi.field_res_partner__business_code
+#: model:ir.model.fields,help:l10n_fi.field_res_users__business_code
+msgid "The unique business registry identifier"
+msgstr "Uniikki y-tunnus"
+
+#. module: l10n_fi
+#: model:ir.model.fields,field_description:l10n_fi.field_res_partner_operator_einvoice__ttype
+msgid "Type"
+msgstr "Tyyppi"
+
+#. module: l10n_fi
+#: model:ir.model.fields,help:l10n_fi.field_account_journal__invoice_reference_model
+msgid ""
+"You can choose different models for each type of reference. The default one "
+"is the Odoo reference."
+msgstr "Voit valita erilaisen maksuviitetyypin. Oletus on Odoon laskuviite."
+
+#. module: l10n_fi
+#: model:ir.model,name:l10n_fi.model_res_partner_operator_einvoice
+#: model:ir.model.fields,field_description:l10n_fi.field_res_company__einvoice_operator_id
+#: model:ir.model.fields,field_description:l10n_fi.field_res_config_settings__einvoice_operator_id
+#: model:ir.model.fields,field_description:l10n_fi.field_res_partner__einvoice_operator_id
+#: model:ir.model.fields,field_description:l10n_fi.field_res_users__einvoice_operator_id
+#: model_terms:ir.ui.view,arch_db:l10n_fi.res_partner_operator_einvoice_view_form
+msgid "eInvoice Operator"
+msgstr "Verkkolaskuvälittäjä"
+
+#. module: l10n_fi
+#: model:ir.actions.act_window,name:l10n_fi.res_partner_operator_einvoice_action
+#: model:ir.ui.menu,name:l10n_fi.res_partner_operator_einvoice_menu
+#: model_terms:ir.ui.view,arch_db:l10n_fi.res_partner_operator_einvoice_view_tree
+msgid "eInvoice Operators"
+msgstr "Verkkolaskuvälittäjät"
+
+#~ msgid "Choose the type of payment reference used on customer invoices"
+#~ msgstr "Valitse myyntilaskuilla käytettävä maksuviitetyyppi"
+
+#~ msgid "Free Reference"
+#~ msgstr "Vapaa viite"
+
+#~ msgid "Payment Reference"
+#~ msgstr "Maksuviite"
+
+#~ msgid "Payment Reference Number"
+#~ msgstr "Maksuviite"
+
+#~ msgid "Payment Reference Type"
+#~ msgstr "Maksuviitteen tyyppi"
+
+#~ msgid "The default payment reference for sales invoices"
+#~ msgstr "Oletusmaksuviite myyntilaskuille"
diff --git a/addons/l10n_fi/i18n/l10n_fi.pot b/addons/l10n_fi/i18n/l10n_fi.pot
new file mode 100644
index 00000000000..61edc187729
--- /dev/null
+++ b/addons/l10n_fi/i18n/l10n_fi.pot
@@ -0,0 +1,246 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+# * l10n_fi
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Odoo Server 13.0+e-20200204\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2020-03-16 17:01+0000\n"
+"PO-Revision-Date: 2020-03-16 17:01+0000\n"
+"Last-Translator: \n"
+"Language-Team: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Plural-Forms: \n"
+
+#. module: l10n_fi
+#: model:ir.model.constraint,message:l10n_fi.constraint_res_partner_operator_einvoice_operator_identifier_uniq
+msgid "\"Identifier\" should be unique!"
+msgstr ""
+
+#. module: l10n_fi
+#: model:ir.model.fields,field_description:l10n_fi.field_res_partner_operator_einvoice__active
+msgid "Active"
+msgstr ""
+
+#. module: l10n_fi
+#: model_terms:ir.ui.view,arch_db:l10n_fi.res_partner_operator_einvoice_view_search
+msgid "Archived"
+msgstr ""
+
+#. module: l10n_fi
+#: model:ir.model.fields.selection,name:l10n_fi.selection__res_partner_operator_einvoice__ttype__bank
+msgid "Bank with Finvoice brokerage service"
+msgstr ""
+
+#. module: l10n_fi
+#: model:ir.model.fields,field_description:l10n_fi.field_res_partner__business_code
+#: model:ir.model.fields,field_description:l10n_fi.field_res_users__business_code
+#: model_terms:ir.ui.view,arch_db:l10n_fi.view_partner_form_l10n_fi
+msgid "Business ID"
+msgstr ""
+
+#. module: l10n_fi
+#: model:ir.model.fields.selection,name:l10n_fi.selection__res_partner_operator_einvoice__ttype__broker
+msgid "Carrier broker"
+msgstr ""
+
+#. module: l10n_fi
+#: model:ir.model.fields,field_description:l10n_fi.field_account_journal__invoice_reference_model
+msgid "Communication Standard"
+msgstr ""
+
+#. module: l10n_fi
+#: model:ir.model,name:l10n_fi.model_res_company
+msgid "Companies"
+msgstr ""
+
+#. module: l10n_fi
+#: model:ir.model,name:l10n_fi.model_res_config_settings
+msgid "Config Settings"
+msgstr ""
+
+#. module: l10n_fi
+#: model:ir.model,name:l10n_fi.model_res_partner
+msgid "Contact"
+msgstr ""
+
+#. module: l10n_fi
+#: model:ir.model.fields,field_description:l10n_fi.field_res_partner_operator_einvoice__create_uid
+msgid "Created by"
+msgstr ""
+
+#. module: l10n_fi
+#: model:ir.model.fields,field_description:l10n_fi.field_res_partner_operator_einvoice__create_date
+msgid "Created on"
+msgstr ""
+
+#. module: l10n_fi
+#: model:ir.model.fields,field_description:l10n_fi.field_res_partner_operator_einvoice__display_name
+msgid "Display Name"
+msgstr ""
+
+#. module: l10n_fi
+#: model:ir.ui.menu,name:l10n_fi.account_einvoicing_menu
+#: model_terms:ir.ui.view,arch_db:l10n_fi.res_config_settings_view_form
+msgid "E-Invoicing"
+msgstr ""
+
+#. module: l10n_fi
+#: model:ir.model.fields,field_description:l10n_fi.field_res_company__edicode
+#: model:ir.model.fields,field_description:l10n_fi.field_res_config_settings__edicode
+#: model:ir.model.fields,field_description:l10n_fi.field_res_partner__edicode
+#: model:ir.model.fields,field_description:l10n_fi.field_res_users__edicode
+msgid "Edicode"
+msgstr ""
+
+#. module: l10n_fi
+#: model:ir.model.fields,help:l10n_fi.field_res_config_settings__edicode
+msgid "Edicode for eInvoice documents"
+msgstr ""
+
+#. module: l10n_fi
+#: model:ir.model.fields.selection,name:l10n_fi.selection__account_journal__invoice_reference_model__finnish_rf
+msgid "Finnish Creditor Reference (RF)"
+msgstr ""
+
+#. module: l10n_fi
+#: model:ir.model.fields.selection,name:l10n_fi.selection__account_journal__invoice_reference_model__finnish
+msgid "Finnish Standard Reference"
+msgstr ""
+
+#. module: l10n_fi
+#: model_terms:ir.ui.view,arch_db:l10n_fi.res_partner_operator_einvoice_view_search
+msgid "Group by..."
+msgstr ""
+
+#. module: l10n_fi
+#: model:ir.model.fields,field_description:l10n_fi.field_res_partner_operator_einvoice__id
+msgid "ID"
+msgstr ""
+
+#. module: l10n_fi
+#: model:ir.model.fields,field_description:l10n_fi.field_res_partner_operator_einvoice__identifier
+msgid "Identifier"
+msgstr ""
+
+#. module: l10n_fi
+#: model:ir.model.fields,help:l10n_fi.field_res_company__einvoice_operator_id
+#: model:ir.model.fields,help:l10n_fi.field_res_config_settings__einvoice_operator_id
+#: model:ir.model.fields,help:l10n_fi.field_res_partner__einvoice_operator_id
+#: model:ir.model.fields,help:l10n_fi.field_res_users__einvoice_operator_id
+msgid "Intermediator for eInvoice documents"
+msgstr ""
+
+#. module: l10n_fi
+#: code:addons/l10n_fi/models/account_move.py:0
+#, python-format
+msgid "Invoice number must contain numeric characters"
+msgstr ""
+
+#. module: l10n_fi
+#: model:ir.model,name:l10n_fi.model_account_journal
+msgid "Journal"
+msgstr ""
+
+#. module: l10n_fi
+#: model:ir.model,name:l10n_fi.model_account_move
+msgid "Journal Entries"
+msgstr ""
+
+#. module: l10n_fi
+#: model:ir.model.fields,field_description:l10n_fi.field_res_partner_operator_einvoice____last_update
+msgid "Last Modified on"
+msgstr ""
+
+#. module: l10n_fi
+#: model:ir.model.fields,field_description:l10n_fi.field_res_partner_operator_einvoice__write_uid
+msgid "Last Updated by"
+msgstr ""
+
+#. module: l10n_fi
+#: model:ir.model.fields,field_description:l10n_fi.field_res_partner_operator_einvoice__write_date
+msgid "Last Updated on"
+msgstr ""
+
+#. module: l10n_fi
+#: model:ir.model.fields,help:l10n_fi.field_res_partner_operator_einvoice__identifier
+msgid "Monetary Institution Identifier (see https://tieke.fi)"
+msgstr ""
+
+#. module: l10n_fi
+#: model:ir.model.fields,field_description:l10n_fi.field_res_partner_operator_einvoice__name
+msgid "Operator"
+msgstr ""
+
+#. module: l10n_fi
+#: model_terms:ir.ui.view,arch_db:l10n_fi.res_partner_operator_einvoice_view_form
+msgid "Operator Name"
+msgstr ""
+
+#. module: l10n_fi
+#: model_terms:ir.ui.view,arch_db:l10n_fi.res_partner_operator_einvoice_view_search
+msgid "Operator Type"
+msgstr ""
+
+#. module: l10n_fi
+#: model:ir.model.fields,help:l10n_fi.field_res_company__edicode
+msgid "Our Company's Edicode for eInvoice documents"
+msgstr ""
+
+#. module: l10n_fi
+#: model_terms:ir.ui.view,arch_db:l10n_fi.res_config_settings_view_form
+msgid "Our company's Edicode for eInvoice documents."
+msgstr ""
+
+#. module: l10n_fi
+#: model_terms:ir.ui.view,arch_db:l10n_fi.res_config_settings_view_form
+msgid "Our company's provider for eInvoice documents."
+msgstr ""
+
+#. module: l10n_fi
+#: model_terms:ir.ui.view,arch_db:l10n_fi.res_partner_operator_einvoice_view_search
+msgid "Search for eInvoice Operator"
+msgstr ""
+
+#. module: l10n_fi
+#: model:ir.model.fields,field_description:l10n_fi.field_res_partner_operator_einvoice__sequence
+msgid "Sequence"
+msgstr ""
+
+#. module: l10n_fi
+#: model:ir.model.fields,help:l10n_fi.field_res_partner__business_code
+#: model:ir.model.fields,help:l10n_fi.field_res_users__business_code
+msgid "The unique business registry identifier"
+msgstr ""
+
+#. module: l10n_fi
+#: model:ir.model.fields,field_description:l10n_fi.field_res_partner_operator_einvoice__ttype
+msgid "Type"
+msgstr ""
+
+#. module: l10n_fi
+#: model:ir.model.fields,help:l10n_fi.field_account_journal__invoice_reference_model
+msgid ""
+"You can choose different models for each type of reference. The default one "
+"is the Odoo reference."
+msgstr ""
+
+#. module: l10n_fi
+#: model:ir.model,name:l10n_fi.model_res_partner_operator_einvoice
+#: model:ir.model.fields,field_description:l10n_fi.field_res_company__einvoice_operator_id
+#: model:ir.model.fields,field_description:l10n_fi.field_res_config_settings__einvoice_operator_id
+#: model:ir.model.fields,field_description:l10n_fi.field_res_partner__einvoice_operator_id
+#: model:ir.model.fields,field_description:l10n_fi.field_res_users__einvoice_operator_id
+#: model_terms:ir.ui.view,arch_db:l10n_fi.res_partner_operator_einvoice_view_form
+msgid "eInvoice Operator"
+msgstr ""
+
+#. module: l10n_fi
+#: model:ir.actions.act_window,name:l10n_fi.res_partner_operator_einvoice_action
+#: model:ir.ui.menu,name:l10n_fi.res_partner_operator_einvoice_menu
+#: model_terms:ir.ui.view,arch_db:l10n_fi.res_partner_operator_einvoice_view_tree
+msgid "eInvoice Operators"
+msgstr ""
diff --git a/addons/l10n_fi/models/__init__.py b/addons/l10n_fi/models/__init__.py
new file mode 100644
index 00000000000..4d4bcc7f305
--- /dev/null
+++ b/addons/l10n_fi/models/__init__.py
@@ -0,0 +1,5 @@
+# -*- coding:utf-8 -*-
+# Part of Odoo. See LICENSE file for full copyright and licensing details.
+
+from . import account_journal
+from . import account_move
diff --git a/addons/l10n_fi/models/account_journal.py b/addons/l10n_fi/models/account_journal.py
new file mode 100644
index 00000000000..aab269d8035
--- /dev/null
+++ b/addons/l10n_fi/models/account_journal.py
@@ -0,0 +1,13 @@
+# Part of Odoo. See LICENSE file for full copyright and licensing details.
+from odoo import models, fields
+
+
+class AccountJournal(models.Model):
+
+ _inherit = 'account.journal'
+
+ invoice_reference_model = fields.Selection(selection_add=[
+ ('fi', 'Finnish Standard Reference'),
+ ('fi_rf', 'Finnish Creditor Reference (RF)'),
+ ], ondelete={'fi': lambda recs: recs.write({'invoice_reference_model': 'odoo'}),
+ 'fi_rf': lambda recs: recs.write({'invoice_reference_model': 'odoo'})})
diff --git a/addons/l10n_fi/models/account_move.py b/addons/l10n_fi/models/account_move.py
new file mode 100644
index 00000000000..cd34a73c67a
--- /dev/null
+++ b/addons/l10n_fi/models/account_move.py
@@ -0,0 +1,88 @@
+# Part of Odoo. See LICENSE file for full copyright and licensing details.
+import re
+from odoo import api, models, _
+from odoo.exceptions import UserError
+import logging
+
+log = logging.getLogger(__name__)
+
+
+class AccountInvoiceFinnish(models.Model):
+ _inherit = 'account.move'
+
+ @api.model
+ def number2numeric(self, number):
+
+ invoice_number = re.sub(r'\D', '', number)
+
+ if invoice_number == '' or invoice_number is False:
+ raise UserError(_('Invoice number must contain numeric characters'))
+
+ # Make sure the base number is 3...19 characters long
+ if len(invoice_number) < 3:
+ invoice_number = ('11' + invoice_number)[-3:]
+ elif len(invoice_number) > 19:
+ invoice_number = invoice_number[:19]
+
+ return invoice_number
+
+ @api.model
+ def get_finnish_check_digit(self, base_number):
+ # Multiply digits from end to beginning with 7, 3 and 1 and
+ # calculate the sum of the products
+ total = sum((7, 3, 1)[idx % 3] * int(val) for idx, val in
+ enumerate(base_number[::-1]))
+
+ # Subtract the sum from the next decade. 10 = 0
+ return str((10 - (total % 10)) % 10)
+
+ @api.model
+ def get_rf_check_digits(self, base_number):
+ check_base = base_number + 'RF00'
+ # 1. Convert all non-digits to digits
+ # 2. Calculate the modulo 97
+ # 3. Subtract the remainder from 98
+ # 4. Add leading zeros if necessary
+ return ''.join(
+ ['00', str(98 - (int(''.join(
+ [x if x.isdigit() else str(ord(x) - 55) for x in
+ check_base])) % 97))])[-2:]
+
+ @api.model
+ def compute_payment_reference_finnish(self, number):
+ # Drop all non-numeric characters
+ invoice_number = self.number2numeric(number)
+
+ # Calculate the Finnish check digit
+ check_digit = self.get_finnish_check_digit(invoice_number)
+
+ return invoice_number + check_digit
+
+ @api.model
+ def compute_payment_reference_finnish_rf(self, number):
+ # Drop all non-numeric characters
+ invoice_number = self.number2numeric(number)
+
+ # Calculate the Finnish check digit
+ invoice_number += self.get_finnish_check_digit(invoice_number)
+
+ # Calculate the RF check digits
+ rf_check_digits = self.get_rf_check_digits(invoice_number)
+
+ return 'RF' + rf_check_digits + invoice_number
+
+ def _get_invoice_reference_fi_rf_invoice(self):
+ self.ensure_one()
+ return self.compute_payment_reference_finnish_rf(self.name)
+
+ def _get_invoice_reference_fi_rf_partner(self):
+ self.ensure_one()
+ return self.compute_payment_reference_finnish_rf(str(self.partner_id.id))
+
+ def _get_invoice_reference_fi_invoice(self):
+ self.ensure_one()
+ return self.compute_payment_reference_finnish(self.name)
+
+ def _get_invoice_reference_fi_partner(self):
+ self.ensure_one()
+ return self.compute_payment_reference_finnish(str(self.partner_id.id))
diff --git a/addons/l10n_fi/static/description/icon.png b/addons/l10n_fi/static/description/icon.png
new file mode 100644
index 00000000000..0d382126003
Binary files /dev/null and b/addons/l10n_fi/static/description/icon.png differ
diff --git a/addons/l10n_fi/tests/__init__.py b/addons/l10n_fi/tests/__init__.py
new file mode 100644
index 00000000000..7bbb598cf01
--- /dev/null
+++ b/addons/l10n_fi/tests/__init__.py
@@ -0,0 +1,5 @@
+# -*- coding:utf-8 -*-
+# Part of Odoo. See LICENSE file for full copyright and licensing details.
+
+from . import test_references
+from . import test_get_reference
diff --git a/addons/l10n_fi/tests/test_get_reference.py b/addons/l10n_fi/tests/test_get_reference.py
new file mode 100644
index 00000000000..c15590f17d8
--- /dev/null
+++ b/addons/l10n_fi/tests/test_get_reference.py
@@ -0,0 +1,39 @@
+# Part of Odoo. See LICENSE file for full copyright and licensing details.
+from odoo.addons.account.tests.common import AccountTestInvoicingCommon
+from odoo.tests import tagged
+
+
+@tagged('post_install', '-at_install')
+class InvoiceGetReferenceTest(AccountTestInvoicingCommon):
+
+ @classmethod
+ def setUpClass(cls):
+ super(InvoiceGetReferenceTest, cls).setUpClass()
+
+ cls.invoice = cls.init_invoice('out_invoice')
+
+ def test_get_reference_finnish_invoice(self):
+ self.assertFalse(self.invoice.payment_reference)
+ self.invoice.journal_id.invoice_reference_model = 'fi'
+ self.invoice.post()
+ self.assertTrue(self.invoice.payment_reference)
+
+ def test_get_reference_finnish_partner(self):
+ self.assertFalse(self.invoice.payment_reference)
+ self.invoice.journal_id.invoice_reference_type = 'partner'
+ self.invoice.journal_id.invoice_reference_model = 'fi'
+ self.invoice.post()
+ self.assertTrue(self.invoice.payment_reference)
+
+ def test_get_reference_finnish_rf_invoice(self):
+ self.assertFalse(self.invoice.payment_reference)
+ self.invoice.journal_id.invoice_reference_model = 'fi_rf'
+ self.invoice.post()
+ self.assertTrue(self.invoice.payment_reference)
+
+ def test_get_reference_finnish_rf_partner(self):
+ self.assertFalse(self.invoice.payment_reference)
+ self.invoice.journal_id.invoice_reference_type = 'partner'
+ self.invoice.journal_id.invoice_reference_model = 'fi_rf'
+ self.invoice.post()
+ self.assertTrue(self.invoice.payment_reference)
diff --git a/addons/l10n_fi/tests/test_references.py b/addons/l10n_fi/tests/test_references.py
new file mode 100644
index 00000000000..809cf0d39c4
--- /dev/null
+++ b/addons/l10n_fi/tests/test_references.py
@@ -0,0 +1,66 @@
+# Part of Odoo. See LICENSE file for full copyright and licensing details.
+import unittest
+from odoo.tests import tagged
+from odoo.addons.account.tests.common import AccountTestInvoicingCommon
+from odoo.exceptions import UserError
+# noinspection PyUnresolvedReferences
+from ..models.account_move \
+ import AccountInvoiceFinnish
+
+
+@tagged('standard', 'at_install')
+class PaymentReferenceTest(AccountTestInvoicingCommon):
+ """
+ All references validated with the reference calculator by Nordea Bank
+ http://www.nordea.fi/en/corporate-customers/payments/invoicing-and-payments/reference-number-calculator.html
+ """
+
+ @classmethod
+ def setUpClass(cls):
+ super(PaymentReferenceTest, cls).setUpClass()
+
+ cls.invoice = cls.init_invoice('out_invoice')
+
+ def test_payment_reference_fi(self):
+
+ compute = self.invoice.compute_payment_reference_finnish
+
+ # Common
+ self.assertEqual('1232', compute('INV123'))
+ self.assertEqual('1326', compute('132'))
+ self.assertEqual('1290', compute('ABC1B2B9C'))
+
+ # Insufficient
+ self.assertEqual('1119', compute('-1'))
+ self.assertEqual('1106', compute('0'))
+ self.assertEqual('1261', compute('26'))
+
+ # Excess length
+ self.assertEqual('12345678901234567894',
+ compute('123456789012345678901234567890'))
+
+ # Invalid
+ with self.assertRaises(UserError):
+ compute('QWERTY')
+
+ def test_payment_reference_rf(self):
+
+ compute = self.invoice.compute_payment_reference_finnish_rf
+
+ # Common
+ self.assertEqual('RF111232', compute('INV123'))
+ self.assertEqual('RF921326', compute('132'))
+ self.assertEqual('RF941290', compute('ABC1B2B9C'))
+
+ # Insufficient
+ self.assertEqual('RF551119', compute('-1'))
+ self.assertEqual('RF181106', compute('0'))
+ self.assertEqual('RF041261', compute('26'))
+
+ # Excess length
+ self.assertEqual('RF0912345678901234567894',
+ compute('123456789012345678901234567890'))
+
+ # Invalid
+ with self.assertRaises(UserError):
+ compute('QWERTY')