diff --git a/cg/cg4301.cpp b/cg/cg4301.cpp
index 18ba27ee6..1d2859d55 100755
--- a/cg/cg4301.cpp
+++ b/cg/cg4301.cpp
@@ -514,7 +514,7 @@ void TLiquidazione_app::zero_att(int month, const char* codatt)
       year = codtab.mid(0,4);
       if (m == month && att == codatt && year == _year)
       {
-        for (int j = 0; j < 34; j++) // Ciclo per i campi del record da azzerare
+        for (int j = 0; j < 37; j++) // Ciclo per i campi del record da azzerare  (34 + 3)
           tab->zero(flds[j]);
         tab->rewrite();
       }
@@ -603,6 +603,7 @@ void TLiquidazione_app::recalc_att(int month, const char* codatt)
   real acquisti_cd2_2   = ZERO;   // non imponibili
   real acquisti_cd2_3   = ZERO;   // esenti
   real acquisti_cd2_4   = ZERO;   // intra
+  real acquisti_cd2_5  = ZERO;   // beni strumentali
   real oroargento_cd3_1 = ZERO;   // imponibile acquisto oro e argento
   real oroargento_cd3_2 = ZERO;   // imposta acquisto oro e argento
   real rottami_cd3_3    = ZERO;  // imponibile acquisto rottami
@@ -1217,12 +1218,18 @@ void TLiquidazione_app::recalc_att(int month, const char* codatt)
               case acquisto: // CD2 - 1 2 3 4 
 							  {		
 								  acquisti_cd2_1 += imponibile;
+									if (iva_vpn.starts_with("CD2"))
+									{
+										if (tipocr == 2 || tipocr == 3)
+											acquisti_cd2_5 += imponibile;
+									}
 								  if (!cau_intra)
 								  {
-									  if (iva_vpn == "CD22")
-										  acquisti_cd2_2 += imponibile; else
-									  if (iva_vpn == "CD23")
-										  acquisti_cd2_3 += imponibile;
+										if (iva_vpn == "CD22")
+											acquisti_cd2_2 += imponibile;
+										else
+											if (iva_vpn == "CD23")
+												acquisti_cd2_3 += imponibile;
 								  }
 								  else
 								  {
@@ -2201,6 +2208,7 @@ void TLiquidazione_app::recalc_att(int month, const char* codatt)
     _pum->put("R23", oroargento_cd3_2);
     _pum->put("R24", rottami_cd3_3);
     _pum->put("R25", rottami_cd3_4);
+    _pum->put("R26", acquisti_cd2_5);
     _pam->put("R0",  acquisti);
     _pam->put("R1",  vendite);  
     _pam->put("R6",  assp_imp);
diff --git a/cg/cg5700.cpp b/cg/cg5700.cpp
index 4195fb909..4e9b9584b 100755
--- a/cg/cg5700.cpp
+++ b/cg/cg5700.cpp
@@ -299,6 +299,7 @@ void TDich_periodica_iva_mask::read_iva_data()
     real cd2_2 = ZERO;
     real cd2_3 = ZERO;
     real cd2_4 = ZERO;
+    real cd2_5 = ZERO;
     real cd3_1 = ZERO;
     real cd3_2 = ZERO;
 	real cd3_3 = ZERO;
@@ -335,12 +336,13 @@ void TDich_periodica_iva_mask::read_iva_data()
 				cd3_2 += pum.get_real("R23");
 				cd3_3 += pum.get_real("R24");
 				cd3_4 += pum.get_real("R25");
+				cd2_5 += pum.get_real("R26");
 			}
 
     }
     // Arrotondare tutto all'Euro
     cd1_1.round(); cd1_2.round(); cd1_3.round(); cd1_4.round();
-    cd2_1.round(); cd2_2.round(); cd2_3.round(); cd2_4.round();
+    cd2_1.round(); cd2_2.round(); cd2_3.round(); cd2_4.round(); cd2_5.round(); 
     cd3_1.round(); cd3_2.round(); cd3_3.round(); cd3_3.round();
     
     const real rettifica = lim.get_real("R5"); // Rettifiche
@@ -364,7 +366,7 @@ void TDich_periodica_iva_mask::read_iva_data()
       cd6_2 = -cd6;
     
     set(F_CD1_1, cd1_1); set(F_CD1_2, cd1_2); set(F_CD1_3, cd1_3); set(F_CD1_4, cd1_4);
-    set(F_CD2_1, cd2_1); set(F_CD2_2, cd2_2); set(F_CD2_3, cd2_3); set(F_CD2_4, cd2_4);
+    set(F_CD2_1, cd2_1); set(F_CD2_2, cd2_2); set(F_CD2_3, cd2_3); set(F_CD2_4, cd2_4);  set(F_CD2_5, cd2_5);
     set(F_CD3_1, cd3_1); set(F_CD3_2, cd3_2); set(F_CD3_3, cd3_3); set(F_CD3_4, cd3_4);
     set(F_CD4, cd4); set(F_CD5, cd5);
     set(F_CD6_1, cd6_1); set(F_CD6_2, cd6_2);
@@ -390,6 +392,7 @@ void TDich_periodica_iva_mask::print_prospect()
   frm.find_field('B', odd_page, FF_CD2_2).set(get(F_CD2_2));
   frm.find_field('B', odd_page, FF_CD2_3).set(get(F_CD2_3));
   frm.find_field('B', odd_page, FF_CD2_4).set(get(F_CD2_4));
+  frm.find_field('B', odd_page, FF_CD2_5).set(get(F_CD2_5));
 
   frm.find_field('B', odd_page, FF_CD3_1).set(get(F_CD3_1));
   frm.find_field('B', odd_page, FF_CD3_2).set(get(F_CD3_2));
diff --git a/cg/cg5700.h b/cg/cg5700.h
index 79097d867..95b3a23c8 100755
--- a/cg/cg5700.h
+++ b/cg/cg5700.h
@@ -18,6 +18,7 @@
 #define F_CD5       118
 #define F_CD6_1     119
 #define F_CD6_2     120
+#define F_CD2_5     121
 
 #define FF_YEAR      101
 #define FF_CODDITTA  102  
@@ -38,3 +39,4 @@
 #define FF_CD5       118
 #define FF_CD6_1     119
 #define FF_CD6_2     120
+#define FF_CD2_5     121
diff --git a/cg/cg5700a.frm b/cg/cg5700a.frm
index fc29c9fbe..635df1fe3 100755
--- a/cg/cg5700a.frm
+++ b/cg/cg5700a.frm
@@ -172,7 +172,6 @@ BEGIN
  PROMPT 60 21 "@b"
 END
 
-
 STRINGA -1
 BEGIN
   PROMPT 2 22 "______________________________________________________________________________"
@@ -233,116 +232,128 @@ END
 
 STRINGA -1
 BEGIN
- KEY "CD3 - Descrizione"
- PROMPT 2 29 "@b-Importazioni d'oro industriale e argento puro senza pagamento IVA in dogana-"
+ KEY "CD2_4 - Descrizione"
+ PROMPT 6 28 "di cui: acquisti beni strumentali"
+END
+
+VALUTA FF_CD2_5 18
+BEGIN
+ KEY "CD2_5 - Valore"
+ PROMPT 40 28 "@b"
 END
 
 STRINGA -1
 BEGIN
- PROMPT 2 30 "@bCD3@r Imponibile"
+ KEY "CD3 - Descrizione"
+ PROMPT 2 30 "@b-Importazioni d'oro industriale e argento puro senza pagamento IVA in dogana-"
+END
+
+STRINGA -1
+BEGIN
+ PROMPT 2 31 "@bCD3@r Imponibile"
 END
 
 VALUTA FF_CD3_1 18
 BEGIN
  KEY "CD3_1 - Imponibile"
- PROMPT 20 30 "@b"
+ PROMPT 20 31 "@b"
 END
 
 STRINGA -1
 BEGIN
- PROMPT 50 30 "@rImposta"
+ PROMPT 50 31 "@rImposta"
 END
 
 VALUTA FF_CD3_2 18
 BEGIN
  KEY "CD3_2 - Imposta "
- PROMPT 60 30 "@b"
+ PROMPT 60 31 "@b"
 END
 
 STRINGA -1
 BEGIN
  KEY "CD3 - Descrizione"
- PROMPT 2 31 "@b-Rottami e altri materiali di recupero-"
+ PROMPT 2 32 "@b-Rottami e altri materiali di recupero-"
 END
 
 STRINGA -1
 BEGIN
- PROMPT 2 32 "@bCD3@r Imponibile"
+ PROMPT 2 33 "@bCD3@r Imponibile"
 END
 
 VALUTA FF_CD3_3 18
 BEGIN
  KEY "CD3_1 - Imponibile"
- PROMPT 20 33 "@b"
+ PROMPT 20 34 "@b"
 END
 
 STRINGA -1
 BEGIN
- PROMPT 50 32 "@rImposta"
+ PROMPT 50 33 "@rImposta"
 END
 
 VALUTA FF_CD3_4 18
 BEGIN
  KEY "CD3_2 - Imposta "
- PROMPT 60 33 "@b"
+ PROMPT 60 34 "@b"
 END
 
 STRINGA -1
 BEGIN
-  PROMPT 2 34 "______________________________________________________________________________"
+  PROMPT 2 35 "______________________________________________________________________________"
 END
 
 STRINGA -1
 BEGIN
  KEY "IVA esigibile"
- PROMPT 2 35 "@bCD4@r IVA esigibile"
+ PROMPT 2 36 "@bCD4@r IVA esigibile"
 END
 
 VALUTA FF_CD4 18
 BEGIN
  KEY "IVA esigibile"
- PROMPT 20 35 "@b"
+ PROMPT 20 36 "@b"
 END
 
 STRINGA -1
 BEGIN
  KEY "IVA esigibile"
- PROMPT 2 37 "@bCD5@r IVA detratta"
+ PROMPT 2 38 "@bCD5@r IVA detratta"
 END
 
 VALUTA FF_CD5 18
 BEGIN
  KEY "CD5 - IVA detratta"
- PROMPT 60 37 "@b"
+ PROMPT 60 38 "@b"
 END
 
 STRINGA -1
 BEGIN
  KEY "CD6_1 - IVA dovuta"
- PROMPT 2 39 "@bCD6@r IVA dovuta"
+ PROMPT 2 40 "@bCD6@r IVA dovuta"
 END
 
 VALUTA FF_CD6_1 18
 BEGIN
  KEY "CD6_1 - IVA dovuta"
- PROMPT 20 39 "@b"
+ PROMPT 20 40 "@b"
 END
 
 STRINGA -1
 BEGIN
  KEY "CD6_2 - IVA a credito"
- PROMPT 49 39 "@ro a credito"
+ PROMPT 49 40 "@ro a credito"
 END
 
 VALUTA FF_CD6_2 18
 BEGIN
  KEY "CD6_2 - IVA a credito"
- PROMPT 60 39 "@b"
+ PROMPT 60 40 "@b"
 END
 
 STRINGA -1
 BEGIN
-  PROMPT 2 40 "______________________________________________________________________________"
+  PROMPT 2 41 "______________________________________________________________________________"
 END
 
 END
diff --git a/cg/cg5700b.uml b/cg/cg5700b.uml
index 58d7ec327..dbb37a41e 100755
--- a/cg/cg5700b.uml
+++ b/cg/cg5700b.uml
@@ -88,6 +88,12 @@ BEGIN
   FLAGS "D"
 END
 
+CURRENCY F_CD2_5 18
+BEGIN
+  PROMPT 1 13 " di cui: acq. beni strument. "
+  FLAGS "D"
+END
+
 TEXT -1
 BEGIN
   PROMPT 1 14 "@bImportazioni di oro industriale e argento puro senza IVA alla dogana "