diff --git a/src/ve/ve1800.cpp b/src/ve/ve1800.cpp
index bbea634f6..179b9cc7c 100644
--- a/src/ve/ve1800.cpp
+++ b/src/ve/ve1800.cpp
@@ -61,7 +61,7 @@ void TListaFido_app::main_loop()
recset->set_var("#CODTO", cod_to);
TDate al = m.get_date(F_ADATA);
-
+
if (al.ok())
report.set_datafido(al);
diff --git a/src/ve/ve18001.rep b/src/ve/ve18001.rep
index c7700267b..f21d4e642 100644
--- a/src/ve/ve18001.rep
+++ b/src/ve/ve18001.rep
@@ -36,7 +36,7 @@
MESSAGE RESET,F1
diff --git a/src/ve/velib04b.cpp b/src/ve/velib04b.cpp
index 4c3a87fd2..b921b1bf7 100755
--- a/src/ve/velib04b.cpp
+++ b/src/ve/velib04b.cpp
@@ -447,16 +447,36 @@ int TMovimentoPN_VE::recalc_cg_rows(const TString& descr_cr, TCausale& caus)
bool ok = true;
if (_caus->intra() && _caus->iva() == iva_acquisti)
{
- TBill c; _caus->bill(RIGA_RITENUTE_FISCALI, c);
- ok = c.ok();
- if (ok)
- {
- const TString80 d = _caus->desc_agg(RIGA_RITENUTE_FISCALI);
- const char rowtype = 'F';
- set_cg_rec(-1, real2imp(head.get_real(MOV_RITFIS), rowtype), c, d, rowtype);
- }
- else
- return 2;
+ TBill c;
+ real imp = head.get_real(MOV_REVCHARGE);
+
+ if (imp == ZERO)
+ imp = head.get_real(MOV_RITFIS);
+
+ _caus->bill(RIGA_REVERSE_CHARGE, c);
+ ok = c.ok();
+
+
+ if (ok)
+ {
+ const TString80 d = _caus->desc_agg(RIGA_REVERSE_CHARGE);
+
+ set_cg_rec(-1, real2imp(imp, cgrowtype_revcharge), c, d, cgrowtype_revcharge);
+ }
+ else
+ {
+ _caus->bill(RIGA_RITENUTE_FISCALI, c);
+ ok = c.ok();
+
+ if (ok)
+ {
+ const TString80 d = _caus->desc_agg(RIGA_RITENUTE_FISCALI);
+
+ set_cg_rec(-1, real2imp(imp, cgrowtype_revcharge), c, d, cgrowtype_revcharge);
+ }
+ else
+ return 2;
+ }
}
else
{
@@ -467,9 +487,9 @@ int TMovimentoPN_VE::recalc_cg_rows(const TString& descr_cr, TCausale& caus)
ok = c.ok();
if (ok)
{
- const TString80 d = _caus->desc_agg(RIGA_RITENUTE_FISCALI);
- const char rowtype = 'F';
- set_cg_rec(-1, real2imp(ritfis, rowtype), c, d, rowtype);
+ const TString80 d = _caus->desc_agg(RIGA_RITENUTE_FISCALI);
+
+ set_cg_rec(-1, real2imp(ritfis, cgrowtype_ritfis), c, d, cgrowtype_ritfis);
}
else
return 1;