diff --git a/addons/l10n_it/data/template/account.fiscal.position-it.csv b/addons/l10n_it/data/template/account.fiscal.position-it.csv
index b310a869845..8b68a7273df 100644
--- a/addons/l10n_it/data/template/account.fiscal.position-it.csv
+++ b/addons/l10n_it/data/template/account.fiscal.position-it.csv
@@ -20,4 +20,9 @@
"split_payment_fiscal_position","Split Payment","5","0","0",,,"22v","22vsp_group","Scissione dei Pagamenti","Operations subject to split payment – the seller does not collect the VAT pursuant to ex art.17-ter of the D.P.R. 633/1972, the buyer is obliged to pay the Revenue Agency.","Operazione soggetta a split payment – il cedente non incassa l’Iva ai sensi dell’ex art.17-ter del D.P.R. 633/1972, l’acquirente è obbligato al versamento all’Agenzia delle Entrate."
"","","","","","","","10v","10vsp_group","","",""
"","","","","","","","5v","5vsp_group","","",""
-"","","","","","","","4v","4vsp_group","","",""
\ No newline at end of file
+"","","","","","","","4v","4vsp_group","","",""
+"construction_fiscal_position","Construction Subcontractors - RC","9","0","0",,,"22as","22rc_n63","Subappalto Edilizia - IC","Operation subject to Reverse Charge and exempt from stamp duty – the seller does not collect the VAT pursuant to ex art.17, comma 6, letter a, DPR 633/1972","Operazione soggetta a reverse charge ed esente da imposta da bollo – il cedente non incassa l’Iva ai sensi dell’ex art. 17, comma 6, lettera a, DPR 633/1972."
+"","","","","","","","10as","10rc_n63","","",""
+"","","","","","","","5as","5rc_n63","","",""
+"","","","","","","","4as","4rc_n63","","",""
+"","","","","","","","00v","0rc_n63","","",""
diff --git a/addons/l10n_it/data/template/account.tax-it.csv b/addons/l10n_it/data/template/account.tax-it.csv
index 2fd9cb1b20a..0d8dcff626c 100644
--- a/addons/l10n_it/data/template/account.tax-it.csv
+++ b/addons/l10n_it/data/template/account.tax-it.csv
@@ -1,199 +1,451 @@
-"id","description","invoice_label","name","sequence","amount","amount_type","type_tax_use","price_include","tax_group_id","active","tax_scope","repartition_line_ids/repartition_type","repartition_line_ids/document_type","repartition_line_ids/tag_ids","repartition_line_ids/account_id","repartition_line_ids/factor_percent","name@it","children_tax_ids","l10n_it_exempt_reason","l10n_it_law_reference"
-"22v","","22%","22%","30","22.0","percent","sale","False","tax_group_iva_22","","","base","invoice","+02","","","22%","","",""
-"","","","","","","","","","","","","tax","invoice","+4v","2601","","","","",""
-"","","","","","","","","","","","","base","refund","-02","","","","","",""
-"","","","","","","","","","","","","tax","refund","-4v","2601","","","","",""
-"10v","","10%","10%","40","10.0","percent","sale","False","tax_group_iva_10","","","base","invoice","+02","","","10%","","",""
-"","","","","","","","","","","","","tax","invoice","+4v","2601","","","","",""
-"","","","","","","","","","","","","base","refund","-02","","","","","",""
-"","","","","","","","","","","","","tax","refund","-4v","2601","","","","",""
-"5v","","5%","5%","50","5.0","percent","sale","False","tax_group_iva_5","False","","base","invoice","+02","","","","","",""
-"","","","","","","","","","","","","tax","invoice","+4v","2601","","","","",""
-"","","","","","","","","","","","","base","refund","-02","","","","","",""
-"","","","","","","","","","","","","tax","refund","-4v","2601","","","","",""
-"4v","","4%","4%","60","4.0","percent","sale","False","tax_group_iva_4","False","","base","invoice","+02","","","","","",""
-"","","","","","","","","","","","","tax","invoice","+4v","2601","","","","",""
-"","","","","","","","","","","","","base","refund","-02","","","","","",""
-"","","","","","","","","","","","","tax","refund","-4v","2601","","","","",""
-"00v","","0%","0%","70","0.0","percent","sale","False","tax_group_fuori","","","base","invoice","","","","","","N1","Art. 15 DPR 633/1972"
-"","","","","","","","","","","","","tax","invoice","","","","","","",""
-"","","","","","","","","","","","","base","refund","","","","","","",""
-"","","","","","","","","","","","","tax","refund","","","","","","",""
-"22am","","22%","22% G","80","22.0","percent","purchase","False","tax_group_iva_22","","consu","base","invoice","+03","","","22% M","","",""
-"","","","","","","","","","","","","tax","invoice","+5v","1601","","","","",""
-"","","","","","","","","","","","","base","refund","-03","","","","","",""
-"","","","","","","","","","","","","tax","refund","-5v","1601","","","","",""
-"10am","","10%","10% G","90","10.0","percent","purchase","False","tax_group_iva_10","","consu","base","invoice","+03","","","10% M","","",""
-"","","","","","","","","","","","","tax","invoice","+5v","1601","","","","",""
-"","","","","","","","","","","","","base","refund","-03","","","","","",""
-"","","","","","","","","","","","","tax","refund","-5v","1601","","","","",""
-"5am","","5%","5% G","100","5.0","percent","purchase","False","tax_group_iva_5","False","consu","base","invoice","+03","","","5% M","","",""
-"","","","","","","","","","","","","tax","invoice","+5v","1601","","","","",""
-"","","","","","","","","","","","","base","refund","-03","","","","","",""
-"","","","","","","","","","","","","tax","refund","-5v","1601","","","","",""
-"4am","","4%","4% G","110","4.0","percent","purchase","False","tax_group_iva_4","False","consu","base","invoice","+03","","","4% M","","",""
-"","","","","","","","","","","","","tax","invoice","+5v","1601","","","","",""
-"","","","","","","","","","","","","base","refund","-03","","","","","",""
-"","","","","","","","","","","","","tax","refund","-5v","1601","","","","",""
-"00am","","0%","0% G","120","0.0","percent","purchase","False","tax_group_fuori","","consu","base","invoice","+03","","","0% M","","N1","Art. 15 DPR 633/1972"
-"","","","","","","","","","","","","tax","invoice","","","","","","",""
-"","","","","","","","","","","","","base","refund","-03","","","","","",""
-"","","","","","","","","","","","","tax","refund","","","","","","",""
-"22as","","22%","22% S","130","22.0","percent","purchase","False","tax_group_iva_22","","service","base","invoice","+03","","","22% S","","",""
-"","","","","","","","","","","","","tax","invoice","+5v","1601","","","","",""
-"","","","","","","","","","","","","base","refund","-03","","","","","",""
-"","","","","","","","","","","","","tax","refund","-5v","1601","","","","",""
-"10as","","10%","10% S","140","10.0","percent","purchase","False","tax_group_iva_10","","service","base","invoice","+03","","","10% S","","",""
-"","","","","","","","","","","","","tax","invoice","+5v","1601","","","","",""
-"","","","","","","","","","","","","base","refund","-03","","","","","",""
-"","","","","","","","","","","","","tax","refund","-5v","1601","","","","",""
-"5as","","5%","5% S","150","5.0","percent","purchase","False","tax_group_iva_5","False","service","base","invoice","+03","","","5% S","","",""
-"","","","","","","","","","","","","tax","invoice","+5v","1601","","","","",""
-"","","","","","","","","","","","","base","refund","-03","","","","","",""
-"","","","","","","","","","","","","tax","refund","-5v","1601","","","","",""
-"4as","","4%","4% S","160","4.0","percent","purchase","False","tax_group_iva_4","False","service","base","invoice","+03","","","4% S","","",""
-"","","","","","","","","","","","","tax","invoice","+5v","1601","","","","",""
-"","","","","","","","","","","","","base","refund","-03","","","","","",""
-"","","","","","","","","","","","","tax","refund","-5v","1601","","","","",""
-"00as","","0%","0% S","170","0.0","percent","purchase","False","tax_group_fuori","","service","base","invoice","+02","","","0% S","","N1","Art. 15 DPR 633/1972"
-"","","","","","","","","","","","","tax","invoice","","","","","","",""
-"","","","","","","","","","","","","base","refund","-03","","","","","",""
-"","","","","","","","","","","","","tax","refund","","","","","","",""
-"00eu","","0%","0% EU","180","0.0","percent","sale","False","tax_group_fuori","","","base","invoice","+02","","","0% EU","","N3.2","Art. 41, DL 331/93"
-"","","","","","","","","","","","","tax","invoice","","","","","","",""
-"","","","","","","","","","","","","base","refund","-02","","","","","",""
-"","","","","","","","","","","","","tax","refund","","","","","","",""
-"00art15v","","0%","0% Art.15","190","0.0","percent","sale","False","tax_group_imp_esc_art_15","","","base","invoice","+02","","","0% Art.15","","N1","Art. 15 DPR 633/1972"
-"","","","","","","","","","","","","tax","invoice","","","","","","",""
-"","","","","","","","","","","","","base","refund","-02","","","","","",""
-"","","","","","","","","","","","","tax","refund","","","","","","",""
-"00art15a","","00art15a","0% Art.15","200","0.0","percent","purchase","False","tax_group_imp_esc_art_15","","","base","invoice","+03","","","0% Art.15","","N1","Art. 15 DPR 633/1972"
-"","","","","","","","","","","","","tax","invoice","","","","","","",""
-"","","","","","","","","","","","","base","refund","-03","","","","","",""
-"","","","","","","","","","","","","tax","refund","","","","","","",""
-"22rcs","","22%","22% S RC","210","22.0","percent","purchase","False","tax_group_iva_22","","service","base","invoice","+03||+vj3","","","22% S IC","","",""
-"","","","","","","","","","","","","tax","invoice","+5v","1601","","","","",""
-"","","","","","","","","","","","","tax","invoice","-4v","2601","-100","","","",""
-"","","","","","","","","","","","","base","refund","-03||-vj3","","","","","",""
-"","","","","","","","","","","","","tax","refund","-5v","1601","","","","",""
-"","","","","","","","","","","","","tax","refund","+4v","2601","-100","","","",""
-"10rcs","","10%","10% S RC","220","10.0","percent","purchase","False","tax_group_iva_10","","service","base","invoice","+03||+vj3","","","10% S IC","","",""
-"","","","","","","","","","","","","tax","invoice","+5v","1601","","","","",""
-"","","","","","","","","","","","","tax","invoice","-4v","2601","-100","","","",""
-"","","","","","","","","","","","","base","refund","-03||-vj3","","","","","",""
-"","","","","","","","","","","","","tax","refund","-5v","1601","","","","",""
-"","","","","","","","","","","","","tax","refund","+4v","2601","-100","","","",""
-"5rcs","","5%","5% S RC","230","5.0","percent","purchase","False","tax_group_iva_5","False","service","base","invoice","+03||+vj3","","","5% S IC","","",""
-"","","","","","","","","","","","","tax","invoice","+5v","1601","","","","",""
-"","","","","","","","","","","","","tax","invoice","-4v","2601","-100","","","",""
-"","","","","","","","","","","","","base","refund","-03||-vj3","","","","","",""
-"","","","","","","","","","","","","tax","refund","-5v","1601","","","","",""
-"","","","","","","","","","","","","tax","refund","+4v","2601","-100","","","",""
-"4rcs","","4%","4% S RC","240","4.0","percent","purchase","False","tax_group_iva_4","False","service","base","invoice","+03||+vj3","","","4% S IC","","",""
-"","","","","","","","","","","","","tax","invoice","+5v","1601","","","","",""
-"","","","","","","","","","","","","tax","invoice","-4v","2601","-100","","","",""
-"","","","","","","","","","","","","base","refund","-03||-vj3","","","","","",""
-"","","","","","","","","","","","","tax","refund","-5v","1601","","","","",""
-"","","","","","","","","","","","","tax","refund","+4v","2601","-100","","","",""
-"00rcs","","0%","0% S RC","250","0.0","percent","purchase","False","tax_group_fuori","","service","base","invoice","+03||+vj3","","","0% S CI","","N1","Art. 15 DPR 633/1972"
-"","","","","","","","","","","","","tax","invoice","+5v","1601","","","","",""
-"","","","","","","","","","","","","tax","invoice","-4v","2601","-100","","","",""
-"","","","","","","","","","","","","base","refund","-03||-vj3","","","","","",""
-"","","","","","","","","","","","","tax","refund","-5v","1601","","","","",""
-"","","","","","","","","","","","","tax","refund","+4v","2601","-100","","","",""
-"22rcm","","22%","22% G RC","260","22.0","percent","purchase","False","tax_group_iva_22","","consu","base","invoice","+03||+vj9","","","22% M IC","","",""
-"","","","","","","","","","","","","tax","invoice","+5v","1601","","","","",""
-"","","","","","","","","","","","","tax","invoice","-4v","2601","-100","","","",""
-"","","","","","","","","","","","","base","refund","-03||-vj9","","","","","",""
-"","","","","","","","","","","","","tax","refund","-5v","1601","","","","",""
-"","","","","","","","","","","","","tax","refund","+4v","2601","-100","","","",""
-"10rcm","","10%","10% G RC","270","10.0","percent","purchase","False","tax_group_iva_10","","consu","base","invoice","+03||+vj9","","","10% M IC","","",""
-"","","","","","","","","","","","","tax","invoice","+5v","1601","","","","",""
-"","","","","","","","","","","","","tax","invoice","-4v","2601","-100","","","",""
-"","","","","","","","","","","","","base","refund","-03||-vj9","","","","","",""
-"","","","","","","","","","","","","tax","refund","-5v","1601","","","","",""
-"","","","","","","","","","","","","tax","refund","+4v","2601","-100","","","",""
-"5rcm","","5%","5% G RC","280","5.0","percent","purchase","False","tax_group_iva_5","False","consu","base","invoice","+03||+vj9","","","5% M IC","","",""
-"","","","","","","","","","","","","tax","invoice","+5v","1601","","","","",""
-"","","","","","","","","","","","","tax","invoice","-4v","2601","-100","","","",""
-"","","","","","","","","","","","","base","refund","-03||-vj9","","","","","",""
-"","","","","","","","","","","","","tax","refund","-5v","1601","","","","",""
-"","","","","","","","","","","","","tax","refund","+4v","2601","-100","","","",""
-"4rcm","","4%","4% G RC","290","4.0","percent","purchase","False","tax_group_iva_4","False","consu","base","invoice","+03||+vj9","","","4% M IC","","",""
-"","","","","","","","","","","","","tax","invoice","+5v","1601","","","","",""
-"","","","","","","","","","","","","tax","invoice","-4v","2601","-100","","","",""
-"","","","","","","","","","","","","base","refund","-03||-vj9","","","","","",""
-"","","","","","","","","","","","","tax","refund","-5v","1601","","","","",""
-"","","","","","","","","","","","","tax","refund","+4v","2601","-100","","","",""
-"00rcm","","0%","0% G RC","300","0.0","percent","purchase","False","tax_group_fuori","","consu","base","invoice","+03||+vj9","","","0% M CI","","N1","Art. 15 DPR 633/1972"
-"","","","","","","","","","","","","tax","invoice","+5v","1601","","","","",""
-"","","","","","","","","","","","","tax","invoice","-4v","2601","-100","","","",""
-"","","","","","","","","","","","","base","refund","-03||-vj9","","","","","",""
-"","","","","","","","","","","","","tax","refund","-5v","1601","","","","",""
-"","","","","","","","","","","","","tax","refund","+4v","2601","-100","","","",""
-"22rcd","22% G Deposit","22%","22% G D","310","22.0","percent","purchase","False","tax_group_iva_22","","consu","base","invoice","+03||+vj3","","","22% M Deposito","","",""
-"","","","","","","","","","","","","tax","invoice","+5v","1601","","","","",""
-"","","","","","","","","","","","","tax","invoice","-4v","2601","-100","","","",""
-"","","","","","","","","","","","","base","refund","-03||-vj3","","","","","",""
-"","","","","","","","","","","","","tax","refund","-5v","1601","","","","",""
-"","","","","","","","","","","","","tax","refund","+4v","2601","-100","","","",""
-"10rcd","10% G Deposit","10%","10% G D","320","10.0","percent","purchase","False","tax_group_iva_10","","consu","base","invoice","+03||+vj3","","","10% M Deposito","","",""
-"","","","","","","","","","","","","tax","invoice","+5v","1601","","","","",""
-"","","","","","","","","","","","","tax","invoice","-4v","2601","-100","","","",""
-"","","","","","","","","","","","","base","refund","-03||-vj3","","","","","",""
-"","","","","","","","","","","","","tax","refund","-5v","1601","","","","",""
-"","","","","","","","","","","","","tax","refund","+4v","2601","-100","","","",""
-"5rcd","5% G Deposit","5%","5% G D","330","5.0","percent","purchase","False","tax_group_iva_5","False","consu","base","invoice","+03||+vj3","","","5% M Deposito","","",""
-"","","","","","","","","","","","","tax","invoice","+5v","1601","","","","",""
-"","","","","","","","","","","","","tax","invoice","-4v","2601","-100","","","",""
-"","","","","","","","","","","","","base","refund","-03||-vj3","","","","","",""
-"","","","","","","","","","","","","tax","refund","-5v","1601","","","","",""
-"","","","","","","","","","","","","tax","refund","+4v","2601","-100","","","",""
-"4rcd","4% G Deposit","4%","4% G D","340","4.0","percent","purchase","False","tax_group_iva_4","False","consu","base","invoice","+03||+vj3","","","4% M Deposito","","",""
-"","","","","","","","","","","","","tax","invoice","+5v","1601","","","","",""
-"","","","","","","","","","","","","tax","invoice","-4v","2601","-100","","","",""
-"","","","","","","","","","","","","base","refund","-03||-vj3","","","","","",""
-"","","","","","","","","","","","","tax","refund","-5v","1601","","","","",""
-"","","","","","","","","","","","","tax","refund","+4v","2601","-100","","","",""
-"00rcd","0% G Deposit","0%","0% G D","350","0.0","percent","purchase","False","tax_group_fuori","","service","base","invoice","+03||+vj3","","","0% M Deposito","","N1","Art. 15 DPR 633/1972"
-"","","","","","","","","","","","","tax","invoice","+5v","1601","","","","",""
-"","","","","","","","","","","","","tax","invoice","-4v","2601","-100","","","",""
-"","","","","","","","","","","","","base","refund","-03||-vj3","","","","","",""
-"","","","","","","","","","","","","tax","refund","-5v","1601","","","","",""
-"","","","","","","","","","","","","tax","refund","+4v","2601","-100","","","",""
-"22vsp","22% Scissione dei Pagamenti pos.","22%","22% SP pos.","360","22.0","percent","none","False","tax_group_iva_22","","","base","invoice","+02||+ve38","","","","","",""
-"","","","","","","","","","","","","tax","invoice","","2608","","","","",""
-"","","","","","","","","","","","","base","refund","-02||-ve38","","","","","",""
-"","","","","","","","","","","","","tax","refund","","2608","","","","",""
-"22vsp_storno","22% Scissione dei Pagamenti neg.","22%","22% SP neg.","360","-22.0","percent","none","False","tax_group_split_payment","","","base","invoice","","","","","","",""
-"","","","","","","","","","","","","tax","invoice","","2608","","","","",""
-"","","","","","","","","","","","","base","refund","","","","","","",""
-"","","","","","","","","","","","","tax","refund","","2608","","","","",""
-"22vsp_group","","22%","22% SP","360","","group","sale","False","tax_group_split_payment","","","","","","","","","22vsp,22vsp_storno","",""
-"10vsp","10% Scissione dei Pagamenti pos.","10%","10% SP pos.","360","10.0","percent","none","False","tax_group_iva_10","","","base","invoice","+02||+ve38","","","","","",""
-"","","","","","","","","","","","","tax","invoice","","2608","","","","",""
-"","","","","","","","","","","","","base","refund","-02||-ve38","","","","","",""
-"","","","","","","","","","","","","tax","refund","","2608","","","","",""
-"10vsp_storno","10% Scissione dei Pagamenti neg.","10%","10% SP neg.","360","-10.0","percent","none","False","tax_group_split_payment","","","base","invoice","","","","","","",""
-"","","","","","","","","","","","","tax","invoice","","2608","","","","",""
-"","","","","","","","","","","","","base","refund","","","","","","",""
-"","","","","","","","","","","","","tax","refund","","2608","","","","",""
-"10vsp_group","","10%","10% SP","360","","group","sale","False","tax_group_split_payment","","","","","","","","","10vsp,10vsp_storno","",""
-"5vsp","5% Scissione dei Pagamenti pos.","5%","5% SP pos.","360","5.0","percent","none","False","tax_group_iva_5","","","base","invoice","+02||+ve38","","","","","",""
-"","","","","","","","","","","","","tax","invoice","","2608","","","","",""
-"","","","","","","","","","","","","base","refund","-02||-ve38","","","","","",""
-"","","","","","","","","","","","","tax","refund","","2608","","","","",""
-"5vsp_storno","5% Scissione dei Pagamenti neg.","5%","5% SP neg.","360","-5.0","percent","none","False","tax_group_split_payment","","","base","invoice","","","","","","",""
-"","","","","","","","","","","","","tax","invoice","","2608","","","","",""
-"","","","","","","","","","","","","base","refund","","","","","","",""
-"","","","","","","","","","","","","tax","refund","","2608","","","","",""
-"5vsp_group","","5%","5% SP","360","","group","sale","False","tax_group_split_payment","","","","","","","","","5vsp,5vsp_storno","",""
-"4vsp","4% Scissione dei Pagamenti pos.","4%","4% SP pos.","360","4.0","percent","none","False","tax_group_iva_4","","","base","invoice","+02||+ve38","","","","","",""
-"","","","","","","","","","","","","tax","invoice","","2608","","","","",""
-"","","","","","","","","","","","","base","refund","-02||-ve38","","","","","",""
-"","","","","","","","","","","","","tax","refund","","2608","","","","",""
-"4vsp_storno","4% Scissione dei Pagamenti neg.","4%","4% SP neg.","360","-4.0","percent","none","False","tax_group_split_payment","","","base","invoice","","","","","","",""
-"","","","","","","","","","","","","tax","invoice","","2608","","","","",""
-"","","","","","","","","","","","","base","refund","","","","","","",""
-"","","","","","","","","","","","","tax","refund","","2608","","","","",""
-"4vsp_group","","4%","4% SP","360","","group","sale","False","tax_group_split_payment","","","","","","","","","4vsp,4vsp_storno","",""
\ No newline at end of file
+"id","description","invoice_label","name","sequence","amount","amount_type","type_tax_use","price_include","tax_group_id","active","tax_scope","repartition_line_ids/repartition_type","repartition_line_ids/document_type","repartition_line_ids/tag_ids","repartition_line_ids/account_id","repartition_line_ids/factor_percent","name@it","children_tax_ids","l10n_it_exempt_reason","l10n_it_law_reference","description@it"
+"22v","","22%","22%","30","22.0","percent","sale","False","tax_group_iva_22","","","base","invoice","+02","","","22%","","","",""
+"","","","","","","","","","","","","tax","invoice","+4v","2601","","","","","",""
+"","","","","","","","","","","","","base","refund","-02","","","","","","",""
+"","","","","","","","","","","","","tax","refund","-4v","2601","","","","","",""
+"10v","","10%","10%","40","10.0","percent","sale","False","tax_group_iva_10","","","base","invoice","+02","","","10%","","","",""
+"","","","","","","","","","","","","tax","invoice","+4v","2601","","","","","",""
+"","","","","","","","","","","","","base","refund","-02","","","","","","",""
+"","","","","","","","","","","","","tax","refund","-4v","2601","","","","","",""
+"5v","","5%","5%","50","5.0","percent","sale","False","tax_group_iva_5","False","","base","invoice","+02","","","","","","",""
+"","","","","","","","","","","","","tax","invoice","+4v","2601","","","","","",""
+"","","","","","","","","","","","","base","refund","-02","","","","","","",""
+"","","","","","","","","","","","","tax","refund","-4v","2601","","","","","",""
+"4v","","4%","4%","60","4.0","percent","sale","False","tax_group_iva_4","False","","base","invoice","+02","","","","","","",""
+"","","","","","","","","","","","","tax","invoice","+4v","2601","","","","","",""
+"","","","","","","","","","","","","base","refund","-02","","","","","","",""
+"","","","","","","","","","","","","tax","refund","-4v","2601","","","","","",""
+"00v","","0%","0%","70","0.0","percent","sale","False","tax_group_fuori","","","base","invoice","","","","","","N1","Art. 15 DPR 633/1972",""
+"","","","","","","","","","","","","tax","invoice","","","","","","","",""
+"","","","","","","","","","","","","base","refund","","","","","","","",""
+"","","","","","","","","","","","","tax","refund","","","","","","","",""
+"22am","","22%","22% G","80","22.0","percent","purchase","False","tax_group_iva_22","","consu","base","invoice","+03","","","22% M","","","",""
+"","","","","","","","","","","","","tax","invoice","+5v","1601","","","","","",""
+"","","","","","","","","","","","","base","refund","-03","","","","","","",""
+"","","","","","","","","","","","","tax","refund","-5v","1601","","","","","",""
+"10am","","10%","10% G","90","10.0","percent","purchase","False","tax_group_iva_10","","consu","base","invoice","+03","","","10% M","","","",""
+"","","","","","","","","","","","","tax","invoice","+5v","1601","","","","","",""
+"","","","","","","","","","","","","base","refund","-03","","","","","","",""
+"","","","","","","","","","","","","tax","refund","-5v","1601","","","","","",""
+"5am","","5%","5% G","100","5.0","percent","purchase","False","tax_group_iva_5","False","consu","base","invoice","+03","","","5% M","","","",""
+"","","","","","","","","","","","","tax","invoice","+5v","1601","","","","","",""
+"","","","","","","","","","","","","base","refund","-03","","","","","","",""
+"","","","","","","","","","","","","tax","refund","-5v","1601","","","","","",""
+"4am","","4%","4% G","110","4.0","percent","purchase","False","tax_group_iva_4","False","consu","base","invoice","+03","","","4% M","","","",""
+"","","","","","","","","","","","","tax","invoice","+5v","1601","","","","","",""
+"","","","","","","","","","","","","base","refund","-03","","","","","","",""
+"","","","","","","","","","","","","tax","refund","-5v","1601","","","","","",""
+"00am","","0%","0% G","120","0.0","percent","purchase","False","tax_group_fuori","","consu","base","invoice","+03","","","0% M","","N1","Art. 15 DPR 633/1972",""
+"","","","","","","","","","","","","tax","invoice","","","","","","","",""
+"","","","","","","","","","","","","base","refund","-03","","","","","","",""
+"","","","","","","","","","","","","tax","refund","","","","","","","",""
+"22as","","22%","22% S","130","22.0","percent","purchase","False","tax_group_iva_22","","service","base","invoice","+03","","","22% S","","","",""
+"","","","","","","","","","","","","tax","invoice","+5v","1601","","","","","",""
+"","","","","","","","","","","","","base","refund","-03","","","","","","",""
+"","","","","","","","","","","","","tax","refund","-5v","1601","","","","","",""
+"10as","","10%","10% S","140","10.0","percent","purchase","False","tax_group_iva_10","","service","base","invoice","+03","","","10% S","","","",""
+"","","","","","","","","","","","","tax","invoice","+5v","1601","","","","","",""
+"","","","","","","","","","","","","base","refund","-03","","","","","","",""
+"","","","","","","","","","","","","tax","refund","-5v","1601","","","","","",""
+"5as","","5%","5% S","150","5.0","percent","purchase","False","tax_group_iva_5","False","service","base","invoice","+03","","","5% S","","","",""
+"","","","","","","","","","","","","tax","invoice","+5v","1601","","","","","",""
+"","","","","","","","","","","","","base","refund","-03","","","","","","",""
+"","","","","","","","","","","","","tax","refund","-5v","1601","","","","","",""
+"4as","","4%","4% S","160","4.0","percent","purchase","False","tax_group_iva_4","False","service","base","invoice","+03","","","4% S","","","",""
+"","","","","","","","","","","","","tax","invoice","+5v","1601","","","","","",""
+"","","","","","","","","","","","","base","refund","-03","","","","","","",""
+"","","","","","","","","","","","","tax","refund","-5v","1601","","","","","",""
+"00as","","0%","0% S","170","0.0","percent","purchase","False","tax_group_fuori","","service","base","invoice","+02","","","0% S","","N1","Art. 15 DPR 633/1972",""
+"","","","","","","","","","","","","tax","invoice","","","","","","","",""
+"","","","","","","","","","","","","base","refund","-03","","","","","","",""
+"","","","","","","","","","","","","tax","refund","","","","","","","",""
+"00eu","","0%","0% EU","180","0.0","percent","sale","False","tax_group_fuori","","","base","invoice","+02","","","0% EU","","N3.2","Art. 41, DL 331/93",""
+"","","","","","","","","","","","","tax","invoice","","","","","","","",""
+"","","","","","","","","","","","","base","refund","-02","","","","","","",""
+"","","","","","","","","","","","","tax","refund","","","","","","","",""
+"00art15v","","0%","0% Art.15","190","0.0","percent","sale","False","tax_group_imp_esc_art_15","","","base","invoice","+02","","","0% Art.15","","N1","Art. 15 DPR 633/1972",""
+"","","","","","","","","","","","","tax","invoice","","","","","","","",""
+"","","","","","","","","","","","","base","refund","-02","","","","","","",""
+"","","","","","","","","","","","","tax","refund","","","","","","","",""
+"00art15a","","00art15a","0% Art.15","200","0.0","percent","purchase","False","tax_group_imp_esc_art_15","","","base","invoice","+03","","","0% Art.15","","N1","Art. 15 DPR 633/1972",""
+"","","","","","","","","","","","","tax","invoice","","","","","","","",""
+"","","","","","","","","","","","","base","refund","-03","","","","","","",""
+"","","","","","","","","","","","","tax","refund","","","","","","","",""
+"22rcs","","22%","22% S RC","210","22.0","percent","purchase","False","tax_group_iva_22","","service","base","invoice","+03||+vj3","","","22% S IC","","","",""
+"","","","","","","","","","","","","tax","invoice","+5v","1601","","","","","",""
+"","","","","","","","","","","","","tax","invoice","-4v","2601","-100","","","","",""
+"","","","","","","","","","","","","base","refund","-03||-vj3","","","","","","",""
+"","","","","","","","","","","","","tax","refund","-5v","1601","","","","","",""
+"","","","","","","","","","","","","tax","refund","+4v","2601","-100","","","","",""
+"10rcs","","10%","10% S RC","220","10.0","percent","purchase","False","tax_group_iva_10","","service","base","invoice","+03||+vj3","","","10% S IC","","","",""
+"","","","","","","","","","","","","tax","invoice","+5v","1601","","","","","",""
+"","","","","","","","","","","","","tax","invoice","-4v","2601","-100","","","","",""
+"","","","","","","","","","","","","base","refund","-03||-vj3","","","","","","",""
+"","","","","","","","","","","","","tax","refund","-5v","1601","","","","","",""
+"","","","","","","","","","","","","tax","refund","+4v","2601","-100","","","","",""
+"5rcs","","5%","5% S RC","230","5.0","percent","purchase","False","tax_group_iva_5","False","service","base","invoice","+03||+vj3","","","5% S IC","","","",""
+"","","","","","","","","","","","","tax","invoice","+5v","1601","","","","","",""
+"","","","","","","","","","","","","tax","invoice","-4v","2601","-100","","","","",""
+"","","","","","","","","","","","","base","refund","-03||-vj3","","","","","","",""
+"","","","","","","","","","","","","tax","refund","-5v","1601","","","","","",""
+"","","","","","","","","","","","","tax","refund","+4v","2601","-100","","","","",""
+"4rcs","","4%","4% S RC","240","4.0","percent","purchase","False","tax_group_iva_4","False","service","base","invoice","+03||+vj3","","","4% S IC","","","",""
+"","","","","","","","","","","","","tax","invoice","+5v","1601","","","","","",""
+"","","","","","","","","","","","","tax","invoice","-4v","2601","-100","","","","",""
+"","","","","","","","","","","","","base","refund","-03||-vj3","","","","","","",""
+"","","","","","","","","","","","","tax","refund","-5v","1601","","","","","",""
+"","","","","","","","","","","","","tax","refund","+4v","2601","-100","","","","",""
+"00rcs","","0%","0% S RC","250","0.0","percent","purchase","False","tax_group_fuori","","service","base","invoice","+03||+vj3","","","0% S CI","","N1","Art. 15 DPR 633/1972",""
+"","","","","","","","","","","","","tax","invoice","+5v","1601","","","","","",""
+"","","","","","","","","","","","","tax","invoice","-4v","2601","-100","","","","",""
+"","","","","","","","","","","","","base","refund","-03||-vj3","","","","","","",""
+"","","","","","","","","","","","","tax","refund","-5v","1601","","","","","",""
+"","","","","","","","","","","","","tax","refund","+4v","2601","-100","","","","",""
+"22rcm","","22%","22% G RC","260","22.0","percent","purchase","False","tax_group_iva_22","","consu","base","invoice","+03||+vj9","","","22% M IC","","","",""
+"","","","","","","","","","","","","tax","invoice","+5v","1601","","","","","",""
+"","","","","","","","","","","","","tax","invoice","-4v","2601","-100","","","","",""
+"","","","","","","","","","","","","base","refund","-03||-vj9","","","","","","",""
+"","","","","","","","","","","","","tax","refund","-5v","1601","","","","","",""
+"","","","","","","","","","","","","tax","refund","+4v","2601","-100","","","","",""
+"10rcm","","10%","10% G RC","270","10.0","percent","purchase","False","tax_group_iva_10","","consu","base","invoice","+03||+vj9","","","10% M IC","","","",""
+"","","","","","","","","","","","","tax","invoice","+5v","1601","","","","","",""
+"","","","","","","","","","","","","tax","invoice","-4v","2601","-100","","","","",""
+"","","","","","","","","","","","","base","refund","-03||-vj9","","","","","","",""
+"","","","","","","","","","","","","tax","refund","-5v","1601","","","","","",""
+"","","","","","","","","","","","","tax","refund","+4v","2601","-100","","","","",""
+"5rcm","","5%","5% G RC","280","5.0","percent","purchase","False","tax_group_iva_5","False","consu","base","invoice","+03||+vj9","","","5% M IC","","","",""
+"","","","","","","","","","","","","tax","invoice","+5v","1601","","","","","",""
+"","","","","","","","","","","","","tax","invoice","-4v","2601","-100","","","","",""
+"","","","","","","","","","","","","base","refund","-03||-vj9","","","","","","",""
+"","","","","","","","","","","","","tax","refund","-5v","1601","","","","","",""
+"","","","","","","","","","","","","tax","refund","+4v","2601","-100","","","","",""
+"4rcm","","4%","4% G RC","290","4.0","percent","purchase","False","tax_group_iva_4","False","consu","base","invoice","+03||+vj9","","","4% M IC","","","",""
+"","","","","","","","","","","","","tax","invoice","+5v","1601","","","","","",""
+"","","","","","","","","","","","","tax","invoice","-4v","2601","-100","","","","",""
+"","","","","","","","","","","","","base","refund","-03||-vj9","","","","","","",""
+"","","","","","","","","","","","","tax","refund","-5v","1601","","","","","",""
+"","","","","","","","","","","","","tax","refund","+4v","2601","-100","","","","",""
+"00rcm","","0%","0% G RC","300","0.0","percent","purchase","False","tax_group_fuori","","consu","base","invoice","+03||+vj9","","","0% M CI","","N1","Art. 15 DPR 633/1972",""
+"","","","","","","","","","","","","tax","invoice","+5v","1601","","","","","",""
+"","","","","","","","","","","","","tax","invoice","-4v","2601","-100","","","","",""
+"","","","","","","","","","","","","base","refund","-03||-vj9","","","","","","",""
+"","","","","","","","","","","","","tax","refund","-5v","1601","","","","","",""
+"","","","","","","","","","","","","tax","refund","+4v","2601","-100","","","","",""
+"22rcd","22% G Deposit","22%","22% G D","310","22.0","percent","purchase","False","tax_group_iva_22","","consu","base","invoice","+03||+vj3","","","22% M Deposito","","","",""
+"","","","","","","","","","","","","tax","invoice","+5v","1601","","","","","",""
+"","","","","","","","","","","","","tax","invoice","-4v","2601","-100","","","","",""
+"","","","","","","","","","","","","base","refund","-03||-vj3","","","","","","",""
+"","","","","","","","","","","","","tax","refund","-5v","1601","","","","","",""
+"","","","","","","","","","","","","tax","refund","+4v","2601","-100","","","","",""
+"10rcd","10% G Deposit","10%","10% G D","320","10.0","percent","purchase","False","tax_group_iva_10","","consu","base","invoice","+03||+vj3","","","10% M Deposito","","","",""
+"","","","","","","","","","","","","tax","invoice","+5v","1601","","","","","",""
+"","","","","","","","","","","","","tax","invoice","-4v","2601","-100","","","","",""
+"","","","","","","","","","","","","base","refund","-03||-vj3","","","","","","",""
+"","","","","","","","","","","","","tax","refund","-5v","1601","","","","","",""
+"","","","","","","","","","","","","tax","refund","+4v","2601","-100","","","","",""
+"5rcd","5% G Deposit","5%","5% G D","330","5.0","percent","purchase","False","tax_group_iva_5","False","consu","base","invoice","+03||+vj3","","","5% M Deposito","","","",""
+"","","","","","","","","","","","","tax","invoice","+5v","1601","","","","","",""
+"","","","","","","","","","","","","tax","invoice","-4v","2601","-100","","","","",""
+"","","","","","","","","","","","","base","refund","-03||-vj3","","","","","","",""
+"","","","","","","","","","","","","tax","refund","-5v","1601","","","","","",""
+"","","","","","","","","","","","","tax","refund","+4v","2601","-100","","","","",""
+"4rcd","4% G Deposit","4%","4% G D","340","4.0","percent","purchase","False","tax_group_iva_4","False","consu","base","invoice","+03||+vj3","","","4% M Deposito","","","",""
+"","","","","","","","","","","","","tax","invoice","+5v","1601","","","","","",""
+"","","","","","","","","","","","","tax","invoice","-4v","2601","-100","","","","",""
+"","","","","","","","","","","","","base","refund","-03||-vj3","","","","","","",""
+"","","","","","","","","","","","","tax","refund","-5v","1601","","","","","",""
+"","","","","","","","","","","","","tax","refund","+4v","2601","-100","","","","",""
+"00rcd","0% G Deposit","0%","0% G D","350","0.0","percent","purchase","False","tax_group_fuori","","service","base","invoice","+03||+vj3","","","0% M Deposito","","N1","Art. 15 DPR 633/1972",""
+"","","","","","","","","","","","","tax","invoice","+5v","1601","","","","","",""
+"","","","","","","","","","","","","tax","invoice","-4v","2601","-100","","","","",""
+"","","","","","","","","","","","","base","refund","-03||-vj3","","","","","","",""
+"","","","","","","","","","","","","tax","refund","-5v","1601","","","","","",""
+"","","","","","","","","","","","","tax","refund","+4v","2601","-100","","","","",""
+"22vsp","22% Split Payment pos.","22%","22% SP pos.","360","22.0","percent","none","False","tax_group_iva_22","","","base","invoice","+02||+ve38","","","","","","","22% Scissione dei Pagamenti pos."
+"","","","","","","","","","","","","tax","invoice","","2608","","","","","",""
+"","","","","","","","","","","","","base","refund","-02||-ve38","","","","","","",""
+"","","","","","","","","","","","","tax","refund","","2608","","","","","",""
+"22vsp_storno","22% Split Payment neg.","22%","22% SP neg.","360","-22.0","percent","none","False","tax_group_split_payment","","","base","invoice","","","","","","","","22% Scissione dei Pagamenti neg."
+"","","","","","","","","","","","","tax","invoice","","2608","","","","","",""
+"","","","","","","","","","","","","base","refund","","","","","","","",""
+"","","","","","","","","","","","","tax","refund","","2608","","","","","",""
+"22vsp_group","","22%","22% SP","360","","group","sale","False","tax_group_split_payment","","","","","","","","","22vsp,22vsp_storno","","",""
+"10vsp","10% Split Payment pos.","10%","10% SP pos.","360","10.0","percent","none","False","tax_group_iva_10","","","base","invoice","+02||+ve38","","","","","","","10% Scissione dei Pagamenti pos."
+"","","","","","","","","","","","","tax","invoice","","2608","","","","","",""
+"","","","","","","","","","","","","base","refund","-02||-ve38","","","","","","",""
+"","","","","","","","","","","","","tax","refund","","2608","","","","","",""
+"10vsp_storno","10% Split Payment neg.","10%","10% SP neg.","360","-10.0","percent","none","False","tax_group_split_payment","","","base","invoice","","","","","","","","10% Scissione dei Pagamenti neg."
+"","","","","","","","","","","","","tax","invoice","","2608","","","","","",""
+"","","","","","","","","","","","","base","refund","","","","","","","",""
+"","","","","","","","","","","","","tax","refund","","2608","","","","","",""
+"10vsp_group","","10%","10% SP","360","","group","sale","False","tax_group_split_payment","","","","","","","","","10vsp,10vsp_storno","","",""
+"5vsp","5% Split Payment pos.","5%","5% SP pos.","360","5.0","percent","none","False","tax_group_iva_5","","","base","invoice","+02||+ve38","","","","","","","5% Scissione dei Pagamenti pos."
+"","","","","","","","","","","","","tax","invoice","","2608","","","","","",""
+"","","","","","","","","","","","","base","refund","-02||-ve38","","","","","","",""
+"","","","","","","","","","","","","tax","refund","","2608","","","","","",""
+"5vsp_storno","5% Split Payment neg.","5%","5% SP neg.","360","-5.0","percent","none","False","tax_group_split_payment","","","base","invoice","","","","","","","","5% Scissione dei Pagamenti neg."
+"","","","","","","","","","","","","tax","invoice","","2608","","","","","",""
+"","","","","","","","","","","","","base","refund","","","","","","","",""
+"","","","","","","","","","","","","tax","refund","","2608","","","","","",""
+"5vsp_group","","5%","5% SP","360","","group","sale","False","tax_group_split_payment","","","","","","","","","5vsp,5vsp_storno","","",""
+"4vsp","4% Split Payment pos.","4%","4% SP pos.","360","4.0","percent","none","False","tax_group_iva_4","","","base","invoice","+02||+ve38","","","","","","","4% Scissione dei Pagamenti pos."
+"","","","","","","","","","","","","tax","invoice","","2608","","","","","",""
+"","","","","","","","","","","","","base","refund","-02||-ve38","","","","","","",""
+"","","","","","","","","","","","","tax","refund","","2608","","","","","",""
+"4vsp_storno","4% Split Payment neg.","4%","4% SP neg.","360","-4.0","percent","none","False","tax_group_split_payment","","","base","invoice","","","","","","","","4% Scissione dei Pagamenti neg."
+"","","","","","","","","","","","","tax","invoice","","2608","","","","","",""
+"","","","","","","","","","","","","base","refund","","","","","","","",""
+"","","","","","","","","","","","","tax","refund","","2608","","","","","",""
+"4vsp_group","","4%","4% SP","460","","group","sale","False","tax_group_split_payment","","","","","","","","","4vsp,4vsp_storno","","",""
+"0rc_n61","Scrap","0%","0% RC N6.1","500","0.0","percent","sale","False","tax_group_fuori","False","","base","invoice","+02","","","0% IC N6.1","","N6.1","art.74, comma 7-8, D.P.R. 633/1972","Materiali di Scarto"
+"","","","","","","","","","","","","tax","invoice","+4v","","","","","","",""
+"","","","","","","","","","","","","base","refund","-02","","","","","","",""
+"","","","","","","","","","","","","tax","refund","-4v","","","","","","",""
+"0rc_n62","Gold","0%","0% RC N6.2","510","0.0","percent","sale","False","tax_group_fuori","False","","base","invoice","+02","","","0% IC N6.2","","N6.2","art.17, comma 5, D.P.R. 633/1972","Oro"
+"","","","","","","","","","","","","tax","invoice","+4v","","","","","","",""
+"","","","","","","","","","","","","base","refund","-02","","","","","","",""
+"","","","","","","","","","","","","tax","refund","-4v","","","","","","",""
+"0rc_n62b","Gold Investments","0%","0% RC N6.2b","520","0.0","percent","sale","False","tax_group_fuori","False","","base","invoice","+02","","","0% IC N6.2b","","N6.2","art.17, comma 5, D.P.R. 633/1972","Investimenti in Oro"
+"","","","","","","","","","","","","tax","invoice","+4v","","","","","","",""
+"","","","","","","","","","","","","base","refund","-02","","","","","","",""
+"","","","","","","","","","","","","tax","refund","-4v","","","","","","",""
+"0rc_n63","Construction subcontractors","0%","0% RC N6.3","530","0.0","percent","sale","False","tax_group_fuori","False","","base","invoice","+02","","","0% IC N6.3","","N6.3","art.17, comma 6, lett. a, D.P.R. 633/1972","Subappalto Edilizia"
+"","","","","","","","","","","","","tax","invoice","+4v","","","","","","",""
+"","","","","","","","","","","","","base","refund","-02","","","","","","",""
+"","","","","","","","","","","","","tax","refund","-4v","","","","","","",""
+"0rc_n64","Investments in construction","0%","0% RC N6.4","540","0.0","percent","sale","False","tax_group_fuori","False","","base","invoice","+02","","","0% IC N6.4","","N6.4","art.17, comma 6, lett. a-bis, D.P.R. 633/1972","Investimenti in Edilizia"
+"","","","","","","","","","","","","tax","invoice","+4v","","","","","","",""
+"","","","","","","","","","","","","base","refund","-02","","","","","","",""
+"","","","","","","","","","","","","tax","refund","-4v","","","","","","",""
+"0rc_n65","Cellphones","0%","0% RC N6.5","550","0.0","percent","sale","False","tax_group_fuori","False","","base","invoice","+02","","","0% IC N6.5","","N6.5","art.17, comma 6, lett. b, D.P.R. 633/1972","Cellulari"
+"","","","","","","","","","","","","tax","invoice","+4v","","","","","","",""
+"","","","","","","","","","","","","base","refund","-02","","","","","","",""
+"","","","","","","","","","","","","tax","refund","-4v","","","","","","",""
+"0rc_n66","Electronics","0%","0% RC N6.6","560","0.0","percent","sale","False","tax_group_fuori","False","","base","invoice","+02","","","0% IC N6.6","","N6.6","art.17, comma 6, lett. c, D.P.R. 633/1972","Elettronica"
+"","","","","","","","","","","","","tax","invoice","+4v","","","","","","",""
+"","","","","","","","","","","","","base","refund","-02","","","","","","",""
+"","","","","","","","","","","","","tax","refund","-4v","","","","","","",""
+"0rc_n67","Construction services","0%","0% RC N6.7","570","0.0","percent","sale","False","tax_group_fuori","True","","base","invoice","+02","","","0% IC N6.7","","N6.7","art 17, comma 6, lett. a-ter, D.P.R. 633/1972","Servizi edilizia"
+"","","","","","","","","","","","","tax","invoice","+4v","","","","","","",""
+"","","","","","","","","","","","","base","refund","-02","","","","","","",""
+"","","","","","","","","","","","","tax","refund","-4v","","","","","","",""
+"0rc_n68","Energy","0%","0% RC N6.8","580","0.0","percent","sale","False","tax_group_fuori","False","","base","invoice","+02","","","0% IC N6.8","","N6.8","art.17, comma 6, lett. d-bis, d-ter, d-quater, D.P.R. 633/1972","Energia"
+"","","","","","","","","","","","","tax","invoice","+4v","","","","","","",""
+"","","","","","","","","","","","","base","refund","-02","","","","","","",""
+"","","","","","","","","","","","","tax","refund","-4v","","","","","","",""
+"4rc_n61","Scrap","4%","4% RC N6.1","590","4.0","percent","purchase","False","tax_group_iva_4","False","","base","invoice","+03||+vj6","","","4% IC N6.1","","","","Materiali di Scarto"
+"","","","","","","","","","","","","tax","invoice","+5v","","","","","","",""
+"","","","","","","","","","","","","tax","invoice","-4v","","-100","","","","",""
+"","","","","","","","","","","","","base","refund","-03||-vj6","","","","","","",""
+"","","","","","","","","","","","","tax","refund","-5v","","","","","","",""
+"","","","","","","","","","","","","tax","refund","+4v","","-100","","","","",""
+"4rc_n62","Gold","4%","4% RC N6.2","600","4.0","percent","purchase","False","tax_group_iva_4","False","","base","invoice","+03||+vj7","","","4% IC N6.2","","","","Oro"
+"","","","","","","","","","","","","tax","invoice","+5v","","","","","","",""
+"","","","","","","","","","","","","tax","invoice","-4v","","-100","","","","",""
+"","","","","","","","","","","","","base","refund","-03||-vj7","","","","","","",""
+"","","","","","","","","","","","","tax","refund","-5v","","","","","","",""
+"","","","","","","","","","","","","tax","refund","+4v","","-100","","","","",""
+"4rc_n62b","Investments in gold","4%","4% RC N6.2b","610","4.0","percent","purchase","False","tax_group_iva_4","False","","base","invoice","+03||+vj8","","","4% IC N6.2b","","","","Investimenti in Oro"
+"","","","","","","","","","","","","tax","invoice","+5v","","","","","","",""
+"","","","","","","","","","","","","tax","invoice","-4v","","-100","","","","",""
+"","","","","","","","","","","","","base","refund","-03||-vj8","","","","","","",""
+"","","","","","","","","","","","","tax","refund","-5v","","","","","","",""
+"","","","","","","","","","","","","tax","refund","+4v","","-100","","","","",""
+"4rc_n63","Construction subcontractors","4%","4% RC N6.3","620","4.0","percent","purchase","False","tax_group_iva_4","False","","base","invoice","+03||+vj12","","","4% IC N6.3","","","","Subappalto Edilizia"
+"","","","","","","","","","","","","tax","invoice","+5v","","","","","","",""
+"","","","","","","","","","","","","tax","invoice","-4v","","-100","","","","",""
+"","","","","","","","","","","","","base","refund","-03||-vj12","","","","","","",""
+"","","","","","","","","","","","","tax","refund","-5v","","","","","","",""
+"","","","","","","","","","","","","tax","refund","+4v","","-100","","","","",""
+"4rc_n64","Investments in construction","4%","4% RC N6.4","630","4.0","percent","purchase","False","tax_group_iva_4","False","","base","invoice","+03||+vj13","","","4% IC N6.4","","","","Investimenti in Edilizia"
+"","","","","","","","","","","","","tax","invoice","+5v","","","","","","",""
+"","","","","","","","","","","","","tax","invoice","-4v","","-100","","","","",""
+"","","","","","","","","","","","","base","refund","-03||-vj13","","","","","","",""
+"","","","","","","","","","","","","tax","refund","-5v","","","","","","",""
+"","","","","","","","","","","","","tax","refund","+4v","","-100","","","","",""
+"4rc_n65","Cellphones","4%","4% RC N6.5","640","4.0","percent","purchase","False","tax_group_iva_4","False","","base","invoice","+03||+vj14","","","4% IC N6.5","","","","Cellulari"
+"","","","","","","","","","","","","tax","invoice","+5v","","","","","","",""
+"","","","","","","","","","","","","tax","invoice","-4v","","-100","","","","",""
+"","","","","","","","","","","","","base","refund","-03||-vj14","","","","","","",""
+"","","","","","","","","","","","","tax","refund","-5v","","","","","","",""
+"","","","","","","","","","","","","tax","refund","+4v","","-100","","","","",""
+"4rc_n66","Electronics","4%","4% RC N6.6","650","4.0","percent","purchase","False","tax_group_iva_4","False","","base","invoice","+03||+vj15","","","4% IC N6.6","","","","Elettronica"
+"","","","","","","","","","","","","tax","invoice","+5v","","","","","","",""
+"","","","","","","","","","","","","tax","invoice","-4v","","-100","","","","",""
+"","","","","","","","","","","","","base","refund","-03||-vj15","","","","","","",""
+"","","","","","","","","","","","","tax","refund","-5v","","","","","","",""
+"","","","","","","","","","","","","tax","refund","+4v","","-100","","","","",""
+"4rc_n67","Construction services","4%","4% RC N6.7","660","4.0","percent","purchase","False","tax_group_iva_4","False","","base","invoice","+03||+vj16","","","4% IC N6.7","","","","Servizi Edilizia"
+"","","","","","","","","","","","","tax","invoice","+5v","","","","","","",""
+"","","","","","","","","","","","","tax","invoice","-4v","","-100","","","","",""
+"","","","","","","","","","","","","base","refund","-03||-vj16","","","","","","",""
+"","","","","","","","","","","","","tax","refund","-5v","","","","","","",""
+"","","","","","","","","","","","","tax","refund","+4v","","-100","","","","",""
+"4rc_n68","Energy","4%","4% RC N6.8","670","4.0","percent","purchase","False","tax_group_iva_4","False","","base","invoice","+03||+vj17","","","4% IC N6.8","","","","Energia"
+"","","","","","","","","","","","","tax","invoice","+5v","","","","","","",""
+"","","","","","","","","","","","","tax","invoice","-4v","","-100","","","","",""
+"","","","","","","","","","","","","base","refund","-03||-vj17","","","","","","",""
+"","","","","","","","","","","","","tax","refund","-5v","","","","","","",""
+"","","","","","","","","","","","","tax","refund","+4v","","-100","","","","",""
+"5rc_n61","Scrap","5%","5% RC N6.1","680","5.0","percent","purchase","False","tax_group_iva_5","False","","base","invoice","+03||+vj6","","","5% IC N6.1","","","","Materiali di Scarto"
+"","","","","","","","","","","","","tax","invoice","+5v","","","","","","",""
+"","","","","","","","","","","","","tax","invoice","-4v","","-100","","","","",""
+"","","","","","","","","","","","","base","refund","-03||-vj6","","","","","","",""
+"","","","","","","","","","","","","tax","refund","-5v","","","","","","",""
+"","","","","","","","","","","","","tax","refund","+4v","","-100","","","","",""
+"5rc_n62","Gold","5%","5% RC N6.2","690","5.0","percent","purchase","False","tax_group_iva_5","False","","base","invoice","+03||+vj7","","","5% IC N6.2","","","","Oro"
+"","","","","","","","","","","","","tax","invoice","+5v","","","","","","",""
+"","","","","","","","","","","","","tax","invoice","-4v","","-100","","","","",""
+"","","","","","","","","","","","","base","refund","-03||-vj7","","","","","","",""
+"","","","","","","","","","","","","tax","refund","-5v","","","","","","",""
+"","","","","","","","","","","","","tax","refund","+4v","","-100","","","","",""
+"5rc_n62b","Investments in gold","5%","5% RC N6.2b","700","5.0","percent","purchase","False","tax_group_iva_5","False","","base","invoice","+03||+vj8","","","5% IC N6.2b","","","","Investimenti in Oro"
+"","","","","","","","","","","","","tax","invoice","+5v","","","","","","",""
+"","","","","","","","","","","","","tax","invoice","-4v","","-100","","","","",""
+"","","","","","","","","","","","","base","refund","-03||-vj8","","","","","","",""
+"","","","","","","","","","","","","tax","refund","-5v","","","","","","",""
+"","","","","","","","","","","","","tax","refund","+4v","","-100","","","","",""
+"5rc_n63","Construction subcontractors","5%","5% RC N6.3","710","5.0","percent","purchase","False","tax_group_iva_5","False","","base","invoice","+03||+vj12","","","5% IC N6.3","","","","Subappalti Edilizia"
+"","","","","","","","","","","","","tax","invoice","+5v","","","","","","",""
+"","","","","","","","","","","","","tax","invoice","-4v","","-100","","","","",""
+"","","","","","","","","","","","","base","refund","-03||-vj12","","","","","","",""
+"","","","","","","","","","","","","tax","refund","-5v","","","","","","",""
+"","","","","","","","","","","","","tax","refund","+4v","","-100","","","","",""
+"5rc_n64","Investments in construction","5%","5% RC N6.4","720","5.0","percent","purchase","False","tax_group_iva_5","False","","base","invoice","+03||+vj13","","","5% IC N6.4","","","","Investimenti in Edilizia"
+"","","","","","","","","","","","","tax","invoice","+5v","","","","","","",""
+"","","","","","","","","","","","","tax","invoice","-4v","","-100","","","","",""
+"","","","","","","","","","","","","base","refund","-03||-vj13","","","","","","",""
+"","","","","","","","","","","","","tax","refund","-5v","","","","","","",""
+"","","","","","","","","","","","","tax","refund","+4v","","-100","","","","",""
+"5rc_n65","Cellphones","5%","5% RC N6.5","730","5.0","percent","purchase","False","tax_group_iva_5","False","","base","invoice","+03||+vj14","","","5% IC N6.5","","","","Cellulari"
+"","","","","","","","","","","","","tax","invoice","+5v","","","","","","",""
+"","","","","","","","","","","","","tax","invoice","-4v","","-100","","","","",""
+"","","","","","","","","","","","","base","refund","-03||-vj14","","","","","","",""
+"","","","","","","","","","","","","tax","refund","-5v","","","","","","",""
+"","","","","","","","","","","","","tax","refund","+4v","","-100","","","","",""
+"5rc_n66","Electronics","5%","5% RC N6.6","740","5.0","percent","purchase","False","tax_group_iva_5","False","","base","invoice","+03||+vj15","","","5% IC N6.6","","","","Elettronica"
+"","","","","","","","","","","","","tax","invoice","+5v","","","","","","",""
+"","","","","","","","","","","","","tax","invoice","-4v","","-100","","","","",""
+"","","","","","","","","","","","","base","refund","-03||-vj15","","","","","","",""
+"","","","","","","","","","","","","tax","refund","-5v","","","","","","",""
+"","","","","","","","","","","","","tax","refund","+4v","","-100","","","","",""
+"5rc_n67","Construction services","5%","5% RC N6.7","750","5.0","percent","purchase","False","tax_group_iva_5","False","","base","invoice","+03||+vj16","","","5% IC N6.7","","","","Servizi Edilizia"
+"","","","","","","","","","","","","tax","invoice","+5v","","","","","","",""
+"","","","","","","","","","","","","tax","invoice","-4v","","-100","","","","",""
+"","","","","","","","","","","","","base","refund","-03||-vj16","","","","","","",""
+"","","","","","","","","","","","","tax","refund","-5v","","","","","","",""
+"","","","","","","","","","","","","tax","refund","+4v","","-100","","","","",""
+"5rc_n68","Energy","5%","5% RC N6.8","760","5.0","percent","purchase","False","tax_group_iva_5","False","","base","invoice","+03||+vj17","","","5% IC N6.8","","","","Energia"
+"","","","","","","","","","","","","tax","invoice","+5v","","","","","","",""
+"","","","","","","","","","","","","tax","invoice","-4v","","-100","","","","",""
+"","","","","","","","","","","","","base","refund","-03||-vj17","","","","","","",""
+"","","","","","","","","","","","","tax","refund","-5v","","","","","","",""
+"","","","","","","","","","","","","tax","refund","+4v","","-100","","","","",""
+"10rc_n61","Scrap","10%","10% RC N6.1","770","10.0","percent","purchase","False","tax_group_iva_10","False","","base","invoice","+03||+vj6","","","10% IC N6.1","","","","Materiali di Scarto"
+"","","","","","","","","","","","","tax","invoice","+5v","","","","","","",""
+"","","","","","","","","","","","","tax","invoice","-4v","","-100","","","","",""
+"","","","","","","","","","","","","base","refund","-03||-vj6","","","","","","",""
+"","","","","","","","","","","","","tax","refund","-5v","","","","","","",""
+"","","","","","","","","","","","","tax","refund","+4v","","-100","","","","",""
+"10rc_n62","Gold","10%","10% RC N6.2","780","10.0","percent","purchase","False","tax_group_iva_10","False","","base","invoice","+03||+vj7","","","10% IC N6.2","","","","Oro"
+"","","","","","","","","","","","","tax","invoice","+5v","","","","","","",""
+"","","","","","","","","","","","","tax","invoice","-4v","","-100","","","","",""
+"","","","","","","","","","","","","base","refund","-03||-vj7","","","","","","",""
+"","","","","","","","","","","","","tax","refund","-5v","","","","","","",""
+"","","","","","","","","","","","","tax","refund","+4v","","-100","","","","",""
+"10rc_n62b","Investments in gold","10%","10% RC N6.2b","790","10.0","percent","purchase","False","tax_group_iva_10","False","","base","invoice","+03||+vj8","","","10% IC N6.2b","","","","Investimenti in Oro"
+"","","","","","","","","","","","","tax","invoice","+5v","","","","","","",""
+"","","","","","","","","","","","","tax","invoice","-4v","","-100","","","","",""
+"","","","","","","","","","","","","base","refund","-03||-vj8","","","","","","",""
+"","","","","","","","","","","","","tax","refund","-5v","","","","","","",""
+"","","","","","","","","","","","","tax","refund","+4v","","-100","","","","",""
+"10rc_n63","Construction subcontractors","10%","10% RC N6.3","800","10.0","percent","purchase","False","tax_group_iva_10","False","","base","invoice","+03||+vj12","","","10% IC N6.3","","","","Subappalti Edilizia"
+"","","","","","","","","","","","","tax","invoice","+5v","","","","","","",""
+"","","","","","","","","","","","","tax","invoice","-4v","","-100","","","","",""
+"","","","","","","","","","","","","base","refund","-03||-vj12","","","","","","",""
+"","","","","","","","","","","","","tax","refund","-5v","","","","","","",""
+"","","","","","","","","","","","","tax","refund","+4v","","-100","","","","",""
+"10rc_n64","Investments in construction","10%","10% RC N6.4","810","10.0","percent","purchase","False","tax_group_iva_10","False","","base","invoice","+03||+vj13","","","10% IC N6.4","","","","Investimenti in Edilizia"
+"","","","","","","","","","","","","tax","invoice","+5v","","","","","","",""
+"","","","","","","","","","","","","tax","invoice","-4v","","-100","","","","",""
+"","","","","","","","","","","","","base","refund","-03||-vj13","","","","","","",""
+"","","","","","","","","","","","","tax","refund","-5v","","","","","","",""
+"","","","","","","","","","","","","tax","refund","+4v","","-100","","","","",""
+"10rc_n65","Cellphones","10%","10% RC N6.5","820","10.0","percent","purchase","False","tax_group_iva_10","False","","base","invoice","+03||+vj14","","","10% IC N6.5","","","","Cellulari"
+"","","","","","","","","","","","","tax","invoice","+5v","","","","","","",""
+"","","","","","","","","","","","","tax","invoice","-4v","","-100","","","","",""
+"","","","","","","","","","","","","base","refund","-03||-vj14","","","","","","",""
+"","","","","","","","","","","","","tax","refund","-5v","","","","","","",""
+"","","","","","","","","","","","","tax","refund","+4v","","-100","","","","",""
+"10rc_n66","Electronics","10%","10% RC N6.6","830","10.0","percent","purchase","False","tax_group_iva_10","False","","base","invoice","+03||+vj15","","","10% IC N6.6","","","","Elettronica"
+"","","","","","","","","","","","","tax","invoice","+5v","","","","","","",""
+"","","","","","","","","","","","","tax","invoice","-4v","","-100","","","","",""
+"","","","","","","","","","","","","base","refund","-03||-vj15","","","","","","",""
+"","","","","","","","","","","","","tax","refund","-5v","","","","","","",""
+"","","","","","","","","","","","","tax","refund","+4v","","-100","","","","",""
+"10rc_n67","Construction services","10%","10% RC N6.7","840","10.0","percent","purchase","False","tax_group_iva_10","True","","base","invoice","+03||+vj16","","","10% IC N6.7","","","","Servizi Edilizia"
+"","","","","","","","","","","","","tax","invoice","+5v","","","","","","",""
+"","","","","","","","","","","","","tax","invoice","-4v","","-100","","","","",""
+"","","","","","","","","","","","","base","refund","-03||-vj16","","","","","","",""
+"","","","","","","","","","","","","tax","refund","-5v","","","","","","",""
+"","","","","","","","","","","","","tax","refund","+4v","","-100","","","","",""
+"10rc_n68","Energy","10%","10% RC N6.8","850","10.0","percent","purchase","False","tax_group_iva_10","False","","base","invoice","+03||+vj17","","","10% IC N6.8","","","","Energia"
+"","","","","","","","","","","","","tax","invoice","+5v","","","","","","",""
+"","","","","","","","","","","","","tax","invoice","-4v","","-100","","","","",""
+"","","","","","","","","","","","","base","refund","-03||-vj17","","","","","","",""
+"","","","","","","","","","","","","tax","refund","-5v","","","","","","",""
+"","","","","","","","","","","","","tax","refund","+4v","","-100","","","","",""
+"22rc_n61","Scrap","22%","22% RC N6.1","860","22.0","percent","purchase","False","tax_group_iva_22","False","","base","invoice","+03||+vj6","","","22% IC N6.1","","","","Materiali di Scarto"
+"","","","","","","","","","","","","tax","invoice","+5v","","","","","","",""
+"","","","","","","","","","","","","tax","invoice","-4v","","-100","","","","",""
+"","","","","","","","","","","","","base","refund","-03||-vj6","","","","","","",""
+"","","","","","","","","","","","","tax","refund","-5v","","","","","","",""
+"","","","","","","","","","","","","tax","refund","+4v","","-100","","","","",""
+"22rc_n62","Gold","22%","22% RC N6.2","870","22.0","percent","purchase","False","tax_group_iva_22","False","","base","invoice","+03||+vj7","","","22% IC N6.2","","","","Oro"
+"","","","","","","","","","","","","tax","invoice","+5v","","","","","","",""
+"","","","","","","","","","","","","tax","invoice","-4v","","-100","","","","",""
+"","","","","","","","","","","","","base","refund","-03||-vj7","","","","","","",""
+"","","","","","","","","","","","","tax","refund","-5v","","","","","","",""
+"","","","","","","","","","","","","tax","refund","+4v","","-100","","","","",""
+"22rc_n62b","Investments in gold","22%","22% RC N6.2b","880","22.0","percent","purchase","False","tax_group_iva_22","False","","base","invoice","+03||+vj8","","","22% IC N6.2b","","","","Investimenti in Oro"
+"","","","","","","","","","","","","tax","invoice","+5v","","","","","","",""
+"","","","","","","","","","","","","tax","invoice","-4v","","-100","","","","",""
+"","","","","","","","","","","","","base","refund","-03||-vj8","","","","","","",""
+"","","","","","","","","","","","","tax","refund","-5v","","","","","","",""
+"","","","","","","","","","","","","tax","refund","+4v","","-100","","","","",""
+"22rc_n63","Construction subcontractors","22%","22% RC N6.3","890","22.0","percent","purchase","False","tax_group_iva_22","False","","base","invoice","+03||+vj12","","","22% IC N6.3","","","","Subappalti Edilizia"
+"","","","","","","","","","","","","tax","invoice","+5v","","","","","","",""
+"","","","","","","","","","","","","tax","invoice","-4v","","-100","","","","",""
+"","","","","","","","","","","","","base","refund","-03||-vj12","","","","","","",""
+"","","","","","","","","","","","","tax","refund","-5v","","","","","","",""
+"","","","","","","","","","","","","tax","refund","+4v","","-100","","","","",""
+"22rc_n64","Investments in construction","22%","22% RC N6.4","900","22.0","percent","purchase","False","tax_group_iva_22","False","","base","invoice","+03||+vj13","","","22% IC N6.4","","","","Investimenti in Edilizia"
+"","","","","","","","","","","","","tax","invoice","+5v","","","","","","",""
+"","","","","","","","","","","","","tax","invoice","-4v","","-100","","","","",""
+"","","","","","","","","","","","","base","refund","-03||-vj13","","","","","","",""
+"","","","","","","","","","","","","tax","refund","-5v","","","","","","",""
+"","","","","","","","","","","","","tax","refund","+4v","","-100","","","","",""
+"22rc_n65","Cellphones","22%","22% RC N6.5","910","22.0","percent","purchase","False","tax_group_iva_22","False","","base","invoice","+03||+vj14","","","22% IC N6.5","","","","Cellulari"
+"","","","","","","","","","","","","tax","invoice","+5v","","","","","","",""
+"","","","","","","","","","","","","tax","invoice","-4v","","-100","","","","",""
+"","","","","","","","","","","","","base","refund","-03||-vj14","","","","","","",""
+"","","","","","","","","","","","","tax","refund","-5v","","","","","","",""
+"","","","","","","","","","","","","tax","refund","+4v","","-100","","","","",""
+"22rc_n66","Electronics","22%","22% RC N6.6","920","22.0","percent","purchase","False","tax_group_iva_22","False","","base","invoice","+03||+vj15","","","22% IC N6.6","","","","Elettronica"
+"","","","","","","","","","","","","tax","invoice","+5v","","","","","","",""
+"","","","","","","","","","","","","tax","invoice","-4v","","-100","","","","",""
+"","","","","","","","","","","","","base","refund","-03||-vj15","","","","","","",""
+"","","","","","","","","","","","","tax","refund","-5v","","","","","","",""
+"","","","","","","","","","","","","tax","refund","+4v","","-100","","","","",""
+"22rc_n67","Construction services","22%","22% RC N6.7","930","22.0","percent","purchase","False","tax_group_iva_22","True","","base","invoice","+03||+vj16","","","22% IC N6.7","","","","Servizi Edilizia"
+"","","","","","","","","","","","","tax","invoice","+5v","","","","","","",""
+"","","","","","","","","","","","","tax","invoice","-4v","","-100","","","","",""
+"","","","","","","","","","","","","base","refund","-03||-vj16","","","","","","",""
+"","","","","","","","","","","","","tax","refund","-5v","","","","","","",""
+"","","","","","","","","","","","","tax","refund","+4v","","-100","","","","",""
+"22rc_n68","Energy","22%","22% RC N6.8","940","22.0","percent","purchase","False","tax_group_iva_22","False","","base","invoice","+03||+vj17","","","22% IC N6.8","","","","Energia"
+"","","","","","","","","","","","","tax","invoice","+5v","","","","","","",""
+"","","","","","","","","","","","","tax","invoice","-4v","","-100","","","","",""
+"","","","","","","","","","","","","base","refund","-03||-vj17","","","","","","",""
+"","","","","","","","","","","","","tax","refund","-5v","","","","","","",""
+"","","","","","","","","","","","","tax","refund","+4v","","-100","","","","",""
diff --git a/addons/l10n_it_edi/models/account_move.py b/addons/l10n_it_edi/models/account_move.py
index bb4bd5d5200..5603e565443 100644
--- a/addons/l10n_it_edi/models/account_move.py
+++ b/addons/l10n_it_edi/models/account_move.py
@@ -125,18 +125,34 @@ class AccountMove(models.Model):
We recognize these cases based on the taxes that target the VJ tax grids, which imply
the use of VAT External Reverse Charge.
"""
- it_tax_report_vj_lines = self.env['account.report.line'].search([
- ('report_id.country_id.code', '=', 'IT'),
- ('code', '=like', 'VJ%'),
- ])
- vj_lines_tags = it_tax_report_vj_lines.expression_ids._get_matching_tags()
- for move in self:
- if not move.is_purchase_document():
- move.l10n_it_edi_is_self_invoice = False
- continue
- invoice_lines_tags = move.line_ids.tax_tag_ids
- ids_intersection = set(invoice_lines_tags.ids) & set(vj_lines_tags.ids)
- move.l10n_it_edi_is_self_invoice = bool(ids_intersection)
+ purchases = self.filtered(lambda m: m.is_purchase_document())
+ others = self - purchases
+ for move in others:
+ move.l10n_it_edi_is_self_invoice = False
+ if purchases:
+ it_tax_report_vj_lines = self.env['account.report.line'].search([
+ ('report_id.country_id.code', '=', 'IT'),
+ ('code', '=like', 'VJ%')
+ ])
+ vj_lines_tags = it_tax_report_vj_lines.expression_ids._get_matching_tags()
+ for move in purchases:
+ invoice_lines_tags = move.line_ids.tax_tag_ids
+ ids_intersection = set(invoice_lines_tags.ids) & set(vj_lines_tags.ids)
+ move.l10n_it_edi_is_self_invoice = bool(ids_intersection)
+
+ def _l10n_it_edi_exempt_reason_tag_mapping(self):
+ return {
+ "N3.2": "VJ3",
+ "N3.3": "VJ1",
+ "N6.1": "VJ6",
+ "N6.2": "VJ7",
+ "N6.3": "VJ12",
+ "N6.4": "VJ13",
+ "N6.5": "VJ14",
+ "N6.6": "VJ15",
+ "N6.7": "VJ16",
+ "N6.8": "VJ17",
+ }
# -------------------------------------------------------------------------
# Overrides
@@ -327,7 +343,7 @@ class AccountMove(models.Model):
document_type = self._l10n_it_edi_get_document_type()
# Represent if the document is a reverse charge refund in a single variable
- reverse_charge = document_type in ['TD17', 'TD18', 'TD19']
+ reverse_charge = document_type in ['TD16', 'TD17', 'TD18', 'TD19']
is_downpayment = document_type in ['TD02']
reverse_charge_refund = self.move_type == 'in_refund' and reverse_charge
convert_to_euros = self.currency_id.name != 'EUR'
@@ -479,6 +495,7 @@ class AccountMove(models.Model):
'partner_country_code': partner_values.get('country_code', False),
'simplified': self._l10n_it_edi_is_simplified(),
'self_invoice': self.l10n_it_edi_is_self_invoice,
+ 'tax_tags': {tag for tag in self.line_ids.tax_tag_ids.mapped(lambda x: (x.name or '').upper().replace("+", "").replace("-", "")) if tag},
'downpayment': self._is_downpayment(),
'services_or_goods': services_or_goods,
'goods_in_italy': services_or_goods == 'consu' and self._l10n_it_edi_goods_in_italy(),
@@ -518,42 +535,54 @@ class AccountMove(models.Model):
'simplified': False,
'self_invoice': True,
'partner_country_code': "SM"},
+ 'TD16': {'move_types': ['in_invoice', 'in_refund'],
+ 'import_type': 'in_invoice',
+ 'simplified': False,
+ 'self_invoice': True,
+ 'tax_tags': {'VJ6', 'VJ7', 'VJ8', 'VJ12', 'VJ13', 'VJ14', 'VJ15', 'VJ16', 'VJ17'}},
'TD17': {'move_types': ['in_invoice', 'in_refund'],
'import_type': 'in_invoice',
'simplified': False,
'self_invoice': True,
- 'services_or_goods': "service"},
+ 'services_or_goods': "service",
+ 'tax_tags': {'VJ3'}},
'TD18': {'move_types': ['in_invoice', 'in_refund'],
'import_type': 'in_invoice',
'simplified': False,
'self_invoice': True,
'services_or_goods': "consu",
'goods_in_italy': False,
- 'partner_in_eu': True},
+ 'partner_in_eu': True,
+ 'tax_tags': {'VJ9'}},
'TD19': {'move_types': ['in_invoice', 'in_refund'],
'import_type': 'in_invoice',
'simplified': False,
'self_invoice': True,
'services_or_goods': "consu",
- 'goods_in_italy': True},
+ 'goods_in_italy': True,
+ 'tax_tags': {'VJ3'}},
}
def _l10n_it_edi_get_document_type(self):
- """ Compare the features of the invoice to the requirements of each TDxx FatturaPA
- document type until you find a valid one. """
+ """ Compare the features of the invoice to the requirements of each Document Type (TDxx)
+ FatturaPA until you find a valid one. """
+
+ def compare(actual_values, expected_values):
+ """ Compare a single entry from the invoice features with the one of the document_type """
+ if isinstance(expected_values, set | list | tuple):
+ # i.e. When we compare actual tax_tags from the invoice with expected tags, we see if there is at least one in common
+ if isinstance(actual_values, set):
+ return actual_values & set(expected_values)
+ # i.e. When we compare the move_type with the available ones, these can be more than one
+ return actual_values in expected_values
+ # We compare other features directly, one on one
+ return actual_values == expected_values
+
invoice_features = self._l10n_it_edi_features_for_document_type_selection()
- for code, document_type_features in self._l10n_it_edi_document_type_mapping().items():
- comparisons = []
- for key, invoice_feature in invoice_features.items():
- if key not in document_type_features:
- continue
- document_type_feature = document_type_features.get(key)
- if isinstance(document_type_feature, list):
- comparisons.append(invoice_feature in document_type_feature)
- else:
- comparisons.append(invoice_feature == document_type_feature)
- if all(comparisons):
- return code
+ for document_type_code, document_type_features in self._l10n_it_edi_document_type_mapping().items():
+ # By using a generator instead of a list, we can avoid some comparisons
+ if all(compare(invoice_values, document_type_features[k]) for k, invoice_values in invoice_features.items() if k in document_type_features):
+ return document_type_code
return False
def _l10n_it_edi_is_simplified_document_type(self, document_type):
@@ -701,21 +730,30 @@ class AccountMove(models.Model):
return partner
return self.env['res.partner']
- def _l10n_it_edi_search_tax_for_import(self, company, percentage, extra_domain=None):
+ def _l10n_it_edi_search_tax_for_import(self, company, percentage, extra_domain=None, l10n_it_exempt_reason=None):
""" Returns the VAT, Withholding or Pension Fund tax that suits the conditions given
and matches the percentage found in the XML for the company. """
+
domain = [
*self.env['account.tax']._check_company_domain(company),
- ('amount', '=', percentage),
('amount_type', '=', 'percent'),
('type_tax_use', '=', 'purchase'),
] + (extra_domain or [])
- # As we're importing vendor bills, we're excluding Reverse Charge Taxes
- # which have a [100.0, 100.0, -100.0] repartition lines factor_percent distribution.
- # We only allow for taxes that have all positive repartition lines factor_percent distribution.
- taxes = self.env['account.tax'].search(domain).filtered(
- lambda tax: all(rep_line.factor_percent >= 0 for rep_line in tax.invoice_repartition_line_ids))
+ # We suppose we're importing a file that comes in as a customer invoice where the sale tax will be 0%.
+ # To retrieve the correct purchase tax, we examine the sale tax's l10n_it_exempt_reason.
+ # We determine whether the l10n_it_exempt_reason is specific to reverse charge.
+ reversed_tax_tag = self._l10n_it_edi_exempt_reason_tag_mapping().get(l10n_it_exempt_reason, '')
+ if not reversed_tax_tag:
+ # Normal VAT taxes have a known percentage and generally have all positive repartition lines
+ domain += [('amount', '=', percentage), ('l10n_it_exempt_reason', '=', l10n_it_exempt_reason)]
+ taxes = self.env['account.tax'].search(domain).filtered(
+ lambda tax: all(rep_line.factor_percent >= 0 for rep_line in tax.invoice_repartition_line_ids))
+ else:
+ # In case of reverse charge, the purchase tax has a negative repartition line.
+ domain += [('invoice_repartition_line_ids.tag_ids.name', '=', f'+{reversed_tax_tag.lower()}')]
+ taxes = self.env['account.tax'].search(domain, order="amount desc").filtered(
+ lambda tax: any(rep_line.factor_percent < 0 for rep_line in tax.invoice_repartition_line_ids))
return taxes[0] if taxes else taxes
@@ -978,9 +1016,8 @@ class AccountMove(models.Model):
move_line.tax_ids = []
if percentage is not None:
- l10n_it_exempt_reason = get_text(element, './/Natura') or False
- conditions = [('l10n_it_exempt_reason', '=', l10n_it_exempt_reason)]
- if tax := self._l10n_it_edi_search_tax_for_import(company, percentage, conditions):
+ l10n_it_exempt_reason = get_text(element, './/Natura').upper() or False
+ if tax := self._l10n_it_edi_search_tax_for_import(company, percentage, None, l10n_it_exempt_reason=l10n_it_exempt_reason):
move_line.tax_ids += tax
else:
message = Markup("
").join((
diff --git a/addons/l10n_it_edi/tests/common.py b/addons/l10n_it_edi/tests/common.py
index 066048085da..292112e5b88 100644
--- a/addons/l10n_it_edi/tests/common.py
+++ b/addons/l10n_it_edi/tests/common.py
@@ -113,6 +113,10 @@ class TestItEdi(AccountTestInvoicingCommon):
raise
def _assert_import_invoice(self, filename, expected_values_list, xml_to_apply=None):
+ """ Tests an invoice imported from an XML vendor bill file on the filesystem
+ against expected values. XPATHs can be applied with the `xml_to_apply`
+ argument to the XML content before it's imported.
+ """
path = f'{self.module}/tests/import_xmls/{filename}'
with tools.file_open(path, mode='rb') as fd:
import_content = fd.read()
diff --git a/addons/l10n_it_edi/tests/export_xmls/invoice_reverse_charge.xml b/addons/l10n_it_edi/tests/export_xmls/invoice_external_reverse_charge.xml
similarity index 100%
rename from addons/l10n_it_edi/tests/export_xmls/invoice_reverse_charge.xml
rename to addons/l10n_it_edi/tests/export_xmls/invoice_external_reverse_charge.xml
diff --git a/addons/l10n_it_edi/tests/export_xmls/invoice_internal_reverse_charge.xml b/addons/l10n_it_edi/tests/export_xmls/invoice_internal_reverse_charge.xml
new file mode 100644
index 00000000000..898d3d02ec7
--- /dev/null
+++ b/addons/l10n_it_edi/tests/export_xmls/invoice_internal_reverse_charge.xml
@@ -0,0 +1,129 @@
+
+
+
+
+
+ IT
+ 01234560157
+
+ ___ignore___
+ FPR12
+ 0000000
+
+ 0266766700
+ test@test.it
+
+
+
+
+
+ IT
+ 01234560157
+
+ 01234560157
+
+ company_2_data
+
+ RF01
+
+
+ 1234 Test Street
+ 12345
+ Prova
+ IT
+
+
+
+
+
+ IT
+ 00465840031
+
+ 93026890017
+
+ Alessi
+
+
+
+ Via Privata Alessi 6
+ 28887
+ Milan
+ IT
+
+
+
+
+
+
+ TD01
+ EUR
+ 2022-03-24
+ ___ignore___
+ 750.00
+
+
+
+
+ 1
+
+ Construction subcontracting service January
+
+ 1.00
+ 350.000000
+ 350.00
+ 0.00
+ N6.3
+
+
+ 2
+
+ Construction subcontracting service February
+
+ 1.00
+ 300.000000
+ 300.00
+ 0.00
+ N6.3
+
+
+ 3
+
+ Construction subcontracting service March
+
+ 1.00
+ 50.000000
+ 50.00
+ 0.00
+ N6.3
+
+
+ 4
+
+ Construction subcontracting service April
+
+ 1.00
+ 50.000000
+ 50.00
+ 0.00
+ N6.3
+
+
+ 0.00
+ N6.3
+ 750.00
+ 0.00
+ I
+ test
+
+
+
+ TP02
+
+ MP05
+ 2022-03-24
+ 750.00
+ ___ignore___
+
+
+
+
diff --git a/addons/l10n_it_edi/tests/import_xmls/IT01234567888_FPR01.xml b/addons/l10n_it_edi/tests/import_xmls/IT01234567888_FPR01.xml
index 7c602f58685..e6529911b18 100644
--- a/addons/l10n_it_edi/tests/import_xmls/IT01234567888_FPR01.xml
+++ b/addons/l10n_it_edi/tests/import_xmls/IT01234567888_FPR01.xml
@@ -99,8 +99,7 @@
5.00
22.00
-
-
+
2
OtherAccount
3.00
@@ -108,7 +107,6 @@
24.00
22.00
-
3
GuessTaxes
@@ -116,13 +114,10 @@
10.00
10.00
-
- 10.00
22.00
-
- 39.00
- 7.38
+ 29.00
+ 6.38
I
@@ -131,7 +126,7 @@
MP01
2015-01-30
- 46.38
+ 36.48
diff --git a/addons/l10n_it_edi/tests/import_xmls/IT01234567891_FPR01.xml b/addons/l10n_it_edi/tests/import_xmls/IT01234567891_FPR01.xml
new file mode 100644
index 00000000000..3a4e5ea8283
--- /dev/null
+++ b/addons/l10n_it_edi/tests/import_xmls/IT01234567891_FPR01.xml
@@ -0,0 +1,129 @@
+
+
+
+
+
+ IT
+ 01234560157
+
+ ___ignore___
+ FPR12
+ 0000000
+
+ 0266766700
+ test@test.it
+
+
+
+
+
+ IT
+ 00465840031
+
+ 93026890017
+
+ Alessi
+
+ RF01
+
+
+ Via Privata Alessi 6
+ 28887
+ Milan
+ IT
+
+
+
+
+
+ IT
+ 01234560157
+
+ 01234560157
+
+ company_2_data
+
+
+
+ 1234 Test Street
+ 12345
+ Prova
+ IT
+
+
+
+
+
+
+ TD01
+ EUR
+ 2022-03-24
+ ___ignore___
+ 750.00
+
+
+
+
+ 1
+
+ Construction subcontracting service January
+
+ 1.00
+ 350.000000
+ 350.00
+ 0.00
+ N6.3
+
+
+ 2
+
+ Construction subcontracting service February
+
+ 1.00
+ 300.000000
+ 300.00
+ 0.00
+ N6.3
+
+
+ 3
+
+ Construction subcontracting service March
+
+ 1.00
+ 50.000000
+ 50.00
+ 0.00
+ N6.3
+
+
+ 4
+
+ Construction subcontracting service April
+
+ 1.00
+ 50.000000
+ 50.00
+ 0.00
+ N6.3
+
+
+ 0.00
+ N6.3
+ 750.00
+ 0.00
+ I
+ test
+
+
+
+ TP02
+
+ MP05
+ 2022-03-24
+ 750.00
+ ___ignore___
+
+
+
+
diff --git a/addons/l10n_it_edi/tests/test_edi_reverse_charge.py b/addons/l10n_it_edi/tests/test_edi_reverse_charge.py
index a6376f15b94..e104d2d5254 100644
--- a/addons/l10n_it_edi/tests/test_edi_reverse_charge.py
+++ b/addons/l10n_it_edi/tests/test_edi_reverse_charge.py
@@ -3,7 +3,7 @@
from collections import namedtuple
-from odoo import Command
+from odoo import Command, fields
from odoo.tests import tagged
from odoo.addons.l10n_it_edi.tests.common import TestItEdi
@@ -71,7 +71,7 @@ class TestItEdiReverseCharge(TestItEdi):
# Purchase tax 4% with Reverse Charge
cls.purchase_tax_4p = cls.env['account.tax'].with_company(cls.company).create(tax_data)
- # Purchase tax 4% with Reverse Charge, targeting the tax grid for import of goods
+ # Purchase tax 4% with External Reverse Charge, targeting the tax grid for import of goods
# already in Italy in a VAT deposit
cls.purchase_tax_4p_already_in_italy = cls.env['account.tax'].with_company(cls.company).create({
**tax_data,
@@ -86,6 +86,22 @@ class TestItEdiReverseCharge(TestItEdi):
RepartitionLine(-100, 'tax', False)),
})
+ # Purchase tax 22% with Reverse Charge, targeting the tax grid for Construction Subcontractors
+ # already in Italy in a VAT deposit
+ cls.purchase_tax_vj12 = cls.env['account.tax'].with_company(cls.company).create({
+ **tax_data,
+ 'name': '22% purchase RC Construction Subcontractors',
+ 'amount': 22.0,
+ 'invoice_repartition_line_ids': repartition_lines(
+ RepartitionLine(100, 'base', ('+03', '+vj12')),
+ RepartitionLine(100, 'tax', ('+5v',)),
+ RepartitionLine(-100, 'tax', ('-4v',))),
+ 'refund_repartition_line_ids': repartition_lines(
+ RepartitionLine(100, 'base', ('-03', '-vj12')),
+ RepartitionLine(100, 'tax', False),
+ RepartitionLine(-100, 'tax', False)),
+ })
+
# Purchase tax 22% with Reverse Charge
cls.purchase_tax_22p = cls.env['account.tax'].with_company(cls.company).create({
**tax_data,
@@ -97,13 +113,24 @@ class TestItEdiReverseCharge(TestItEdi):
cls.sale_tax_0v = cls.env['account.tax'].with_company(cls.company).create({
**tax_data,
'type_tax_use': 'sale',
- 'amount': 0,
+ 'amount': 0.0,
'amount_type': 'percent',
'l10n_it_exempt_reason': 'N1',
'l10n_it_law_reference': 'test',
})
- def test_invoice_reverse_charge(self):
+ # Export tax 0% Internal Reverse Charge
+ cls.sale_tax_n63 = cls.env['account.tax'].with_company(cls.company).create({
+ **tax_data,
+ 'name': 'Construction subcontractors',
+ 'type_tax_use': 'sale',
+ 'amount': 0.0,
+ 'amount_type': 'percent',
+ 'l10n_it_exempt_reason': 'N6.3',
+ 'l10n_it_law_reference': 'test',
+ })
+
+ def test_invoice_external_reverse_charge(self):
invoice = self.env['account.move'].with_company(self.company).create({
'move_type': 'out_invoice',
'invoice_date': '2022-03-24',
@@ -126,7 +153,26 @@ class TestItEdiReverseCharge(TestItEdi):
],
})
invoice.action_post()
- self._assert_export_invoice(invoice, 'invoice_reverse_charge.xml')
+ self._assert_export_invoice(invoice, 'invoice_external_reverse_charge.xml')
+
+ def test_invoice_internal_reverse_charge(self):
+ invoice = self.env['account.move'].with_company(self.company).create({
+ 'move_type': 'out_invoice',
+ 'invoice_date': '2022-03-24',
+ 'invoice_date_due': '2022-03-24',
+ 'partner_id': self.italian_partner_a.id,
+ 'partner_bank_id': self.test_bank.id,
+ 'invoice_line_ids': [
+ Command.create({
+ 'name': f"Construction subcontracting service {month}",
+ 'product_id': self.product_a.id,
+ 'price_unit': price,
+ 'tax_ids': [Command.set(self.sale_tax_n63.ids)],
+ }) for month, price in [("January", 350.0), ("February", 300.0), ("March", 50.0), ("April", 50.0)]
+ ],
+ })
+ invoice.action_post()
+ self._assert_export_invoice(invoice, 'invoice_internal_reverse_charge.xml')
def test_bill_reverse_charge_and_refund(self):
bill = self.env['account.move'].with_company(self.company).create({
@@ -206,3 +252,32 @@ class TestItEdiReverseCharge(TestItEdi):
})
bill.action_post()
self._assert_export_invoice(bill, 'bill_reverse_charge_san_marino.xml')
+
+ def test_receive_bill_reverse_charge_internal(self):
+ """ Imported Internal Reverse Charge bill about Construction Subcontractors
+ has the Sale 0% RC Tax Exemption N6.3 tax turned into Purchase 22% RC tax,
+ targeting tag +VJ12
+ """
+ invoice = self._assert_import_invoice('IT01234567891_FPR01.xml', [{
+ 'invoice_date': fields.Date.from_string('2022-03-24'),
+ 'amount_untaxed': 750.0,
+ 'amount_tax': 0.0,
+ 'invoice_line_ids': [{
+ 'name': 'Construction subcontracting service January',
+ 'price_unit': 350.0,
+ }, {
+ 'name': 'Construction subcontracting service February',
+ 'price_unit': 300.0,
+ }, {
+ 'name': 'Construction subcontracting service March',
+ 'price_unit': 50.0,
+ }, {
+ 'name': 'Construction subcontracting service April',
+ 'price_unit': 50.0,
+ }]
+ }])
+ for line in invoice.invoice_line_ids:
+ self.assertEqual(len(line.tax_ids), 1)
+ rc_tax = line.tax_ids[0]
+ self.assertEqual(rc_tax.amount, 22.0)
+ self.assertTrue('+vj12' in rc_tax.invoice_repartition_line_ids[0].tag_ids.mapped("name"))
diff --git a/addons/l10n_it_edi_withholding/models/account_move.py b/addons/l10n_it_edi_withholding/models/account_move.py
index 18489f1238f..709c2420fd2 100644
--- a/addons/l10n_it_edi_withholding/models/account_move.py
+++ b/addons/l10n_it_edi_withholding/models/account_move.py
@@ -117,13 +117,13 @@ class AccountMove(models.Model):
# Import
# -------------------------------------------------------------------------
- def _l10n_it_edi_search_tax_for_import(self, company, percentage, extra_domain=None, vat_only=True):
+ def _l10n_it_edi_search_tax_for_import(self, company, percentage, extra_domain=None, vat_only=True, l10n_it_exempt_reason=False):
""" In case no withholding_type or pension_fund is specified, exclude taxes that have it.
It means that we're searching for VAT taxes, especially in the base l10n_it_edi module
"""
if vat_only:
- extra_domain += [('l10n_it_withholding_type', '=', False), ('l10n_it_pension_fund_type', '=', False)]
- return super()._l10n_it_edi_search_tax_for_import(company, percentage, extra_domain)
+ extra_domain = (extra_domain or []) + [('l10n_it_withholding_type', '=', False), ('l10n_it_pension_fund_type', '=', False)]
+ return super()._l10n_it_edi_search_tax_for_import(company, percentage, extra_domain=extra_domain, l10n_it_exempt_reason=l10n_it_exempt_reason)
def _l10n_it_edi_get_extra_info(self, company, document_type, body_tree):
extra_info, message_to_log = super()._l10n_it_edi_get_extra_info(company, document_type, body_tree)