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)