diff --git a/modules/org.openbravo.sepa.iso20022.credittransfer.customertobank/src/org/openbravo/sepa/iso20022/credittransfer/customertobank/pain/x001/x001/x03/report/CreditTransfer.java b/modules/org.openbravo.sepa.iso20022.credittransfer.customertobank/src/org/openbravo/sepa/iso20022/credittransfer/customertobank/pain/x001/x001/x03/report/CreditTransfer.java
index b13389b..49949ce 100644
--- a/modules/org.openbravo.sepa.iso20022.credittransfer.customertobank/src/org/openbravo/sepa/iso20022/credittransfer/customertobank/pain/x001/x001/x03/report/CreditTransfer.java
+++ b/modules/org.openbravo.sepa.iso20022.credittransfer.customertobank/src/org/openbravo/sepa/iso20022/credittransfer/customertobank/pain/x001/x001/x03/report/CreditTransfer.java
@@ -130,6 +130,8 @@
       boolean onePmtInf = super.groupBy_Duedate;
       /* 2.0 Información del pago - PaymentInformation */
       BigDecimal totalAmt = BigDecimal.ZERO;
+      BigDecimal totalAmtInf = BigDecimal.ZERO;
+      int nbOfTxs = 0;
 
       for (final Instruction line : sortRemitanceList(remittance, onePmtInf)) {
         // Business Partner is mandatory
@@ -139,6 +141,8 @@
           return null;
         }
         if (remitanceList(remittance, onePmtInf).contains(line)) {
+          totalAmtInf = BigDecimal.ZERO;
+          nbOfTxs = 0;
           paymentInstruction = fillPaymentInstruction(remittance, onePmtInf, oF, initiatingParty,
               line);
         }
@@ -278,6 +282,11 @@
         }
 
         totalAmt = totalAmt.add(currencyAndAmount.getValue());
+        totalAmtInf = totalAmtInf.add(currencyAndAmount.getValue());
+        nbOfTxs = nbOfTxs + 1;
+        paymentInstruction.setCtrlSum(totalAmtInf.setScale(CreditTransferConstant.AMOUNT_SCALE,
+            RoundingMode.HALF_UP));
+        paymentInstruction.setNbOfTxs(String.valueOf(nbOfTxs));
       }
 
       // 1.7 Control de suma - ControlSum