diff --git a/src/org/openbravo/retail/posterminal/UpdateCashup.java b/src/org/openbravo/retail/posterminal/UpdateCashup.java
index 14cb95a0e..bf49961f5 100644
--- a/src/org/openbravo/retail/posterminal/UpdateCashup.java
+++ b/src/org/openbravo/retail/posterminal/UpdateCashup.java
@@ -1,6 +1,6 @@
 /*
  ************************************************************************************
- * Copyright (C) 2016-2021 Openbravo S.L.U.
+ * Copyright (C) 2016-2023 Openbravo S.L.U.
  * Licensed under the Openbravo Commercial License version 1.0
  * You may obtain a copy of the License at http://www.openbravo.com/legal/obcl.html
  * or in the legal folder of this module distribution.
@@ -78,7 +78,7 @@ public class UpdateCashup {
       } else if (cashUpReportString.lastIndexOf("Z") != -1) {
         cashUpReportDate = (Date) JsonToDataConverter.convertJsonToPropertyValue(
             PropertyByType.DATETIME,
-            (cashUpReportString).subSequence(0, (cashUpReportString).lastIndexOf("Z")) + ":00");
+            (cashUpReportString).subSequence(0, (cashUpReportString).lastIndexOf("Z")));
       } else {
         cashUpReportDate = (Date) JsonToDataConverter
             .convertJsonToPropertyValue(PropertyByType.DATETIME, cashUpReportString);
diff --git a/src/org/openbravo/retail/posterminal/master/Cashup.java b/src/org/openbravo/retail/posterminal/master/Cashup.java
index e5fa7cc04..c89971ec0 100644
--- a/src/org/openbravo/retail/posterminal/master/Cashup.java
+++ b/src/org/openbravo/retail/posterminal/master/Cashup.java
@@ -1,6 +1,6 @@
 /*
  ************************************************************************************
- * Copyright (C) 2014-2021 Openbravo S.L.U.
+ * Copyright (C) 2014-2023 Openbravo S.L.U.
  * Licensed under the Openbravo Commercial License version 1.0
  * You may obtain a copy of the License at http://www.openbravo.com/legal/obcl.html
  * or in the legal folder of this module distribution.
@@ -49,6 +49,7 @@ import org.openbravo.service.json.JsonConstants;
 
 public class Cashup extends JSONProcessSimple {
   private static final Logger log = LogManager.getLogger();
+  private static final DateFormat dateFormatUTC = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'");
 
   @Inject
   @Any
@@ -97,6 +98,9 @@ public class Cashup extends JSONProcessSimple {
         return result;
       }
 
+      final TimeZone tz = TimeZone.getTimeZone("UTC");
+      dateFormatUTC.setTimeZone(tz);
+
       String isprocessed;
       if (jsonsent.has("isprocessed")) {
         isprocessed = jsonsent.getString("isprocessed");
@@ -141,13 +145,9 @@ public class Cashup extends JSONProcessSimple {
         cashupJSON.put("netReturns", cashup[3]);
         cashupJSON.put("grossReturns", cashup[4]);
         cashupJSON.put("totalRetailTransactions", cashup[5]);
-        TimeZone tz = TimeZone.getTimeZone("UTC");
-        DateFormat df = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm'Z'");
-        df.setTimeZone(tz);
-        String nowAsISO = df.format(cashup[6]);
-        cashupJSON.put("creationDate", nowAsISO);
+        cashupJSON.put("creationDate", dateFormatUTC.format(cashup[6]));
         cashupJSON.put("userId", cashup[7]);
-        cashupJSON.put("isprocessed", ((Boolean) cashup[8]) ? "Y" : "N");
+        cashupJSON.put("isprocessed", (Boolean) cashup[8]);
         cashupJSON.put("posterminal", cashup[9]);
         cashupJSON.put("organization", cashup[10]);
 
@@ -335,14 +335,16 @@ public class Cashup extends JSONProcessSimple {
         // Set the cashManagement data
         result.put("id", cashMgmtJSON.get("id"));
         result.put("description", cashMgmtJSON.get("description"));
-        result.put("amount", totalamt.toString());
-        result.put("origAmount", totalamt.toString());
+        result.put("amount", totalamt);
+        result.put("origAmount", totalamt);
         result.put("type",
             cashMgmtJSON.get("paymentAmount").toString().equals("0") ? "deposit" : "drop");
         result.put("reasonId", reasonId);
         result.put("paymentMethodId", paymentmethodId);
-        result.put("creationDate", cashMgmtJSON.get("creationDate").toString());
+        result.put("creationDate",
+            dateFormatUTC.format(((FIN_FinaccTransaction) cashMgmt).getCreationDate()));
         result.put("timezoneOffset", "0");
+        result.put("posTerminal", posId);
         result.put("userId", cashMgmtJSON.get("createdBy"));
         result.put("user", cashMgmtJSON.get("createdBy$_identifier"));
         result.put("isocode", cashMgmtJSON.get("currency$_identifier"));
diff --git a/src/org/openbravo/retail/posterminal/term/Payments.java b/src/org/openbravo/retail/posterminal/term/Payments.java
index 3bd1fa1c5..ea3c5726b 100644
--- a/src/org/openbravo/retail/posterminal/term/Payments.java
+++ b/src/org/openbravo/retail/posterminal/term/Payments.java
@@ -61,7 +61,8 @@ public class Payments extends JSONTerminalProperty {
                          + "  providerGroupImage.bindaryData as pgimage, providerGroupImage.mimetype as pgmimetype, "
                          + "  paymentType, "
                          + "  color.hexColor as color, "
-                         + "  pmg_color.hexColor as pmg_color "
+                         + "  pmg_color.hexColor as pmg_color, "
+                         + "  p.line as lineNo "
                          + "from OBPOS_App_Payment as p "
                          + "  left join p.financialAccount as f "
                          + "  left join f.currency as c "
@@ -165,6 +166,7 @@ public class Payments extends JSONTerminalProperty {
           }
           payment.put("color", objPayment[15]);
           payment.put("imageClass", ttPaymentMethod.getImageClass());
+          payment.put("lineNo", objPayment[17]);
 
           // If the Payment Method is cash, load the rounding properties of the currency
           if (appPayment.getPaymentMethod().isCash()) {
diff --git a/web-test/model/business-object/cashup/Cashup-initCashup-StateAction-fromBackend.test.js b/web-test/model/business-object/cashup/Cashup-initCashup-StateAction-fromBackend.test.js
index cda2576d4..eda3f8746 100644
--- a/web-test/model/business-object/cashup/Cashup-initCashup-StateAction-fromBackend.test.js
+++ b/web-test/model/business-object/cashup/Cashup-initCashup-StateAction-fromBackend.test.js
@@ -1,6 +1,6 @@
 /*
  ************************************************************************************
- * Copyright (C) 2020 Openbravo S.L.U.
+ * Copyright (C) 2020-2023 Openbravo S.L.U.
  * Licensed under the Openbravo Commercial License version 1.0
  * You may obtain a copy of the License at http://www.openbravo.com/legal/obcl.html
  * or in the legal folder of this module distribution.
@@ -64,7 +64,7 @@ describe('Cashup - init cashup State Action - from backend', () => {
     };
     deepfreeze(expectedState);
     const result = initCashup(initialState, payloadInitFromBackend);
-    expect(result).toEqual(expectedState);
+    expect(result).toEqual(expect.objectContaining(expectedState));
   });
 
   it('initialize cashup from backend - without cashPaymentMethodInfo', () => {
@@ -92,6 +92,6 @@ describe('Cashup - init cashup State Action - from backend', () => {
       initialState,
       payloadWithoutCashPaymentMethodInfo
     );
-    expect(result).toEqual(expectedState);
+    expect(result).toEqual(expect.objectContaining(expectedState));
   });
 });
diff --git a/web-test/model/business-object/cashup/test-data/cashupAfterComplete.js b/web-test/model/business-object/cashup/test-data/cashupAfterComplete.js
index fb757f1d3..329fce517 100644
--- a/web-test/model/business-object/cashup/test-data/cashupAfterComplete.js
+++ b/web-test/model/business-object/cashup/test-data/cashupAfterComplete.js
@@ -1,6 +1,6 @@
 /*
  ************************************************************************************
- * Copyright (C) 2020 Openbravo S.L.U.
+ * Copyright (C) 2020-2023 Openbravo S.L.U.
  * Licensed under the Openbravo Commercial License version 1.0
  * You may obtain a copy of the License at http://www.openbravo.com/legal/obcl.html
  * or in the legal folder of this module distribution.
@@ -16,7 +16,7 @@ module.exports = {
   netReturns: 0,
   grossReturns: 0,
   totalRetailTransactions: 0,
-  totalStartings: 250,
+  totalStartings: 238.04,
   creationDate: '2020-06-26T14:36:53.173Z',
   userId: '3073EDF96A3C42CC86C7069E379522D2',
   posterminal: '9104513C2D0741D4850AE8493998A7C8',
diff --git a/web-test/model/business-object/cashup/test-data/cashupAfterLoadCashupFromBackend.js b/web-test/model/business-object/cashup/test-data/cashupAfterLoadCashupFromBackend.js
index f92b164cc..b42dc0d38 100644
--- a/web-test/model/business-object/cashup/test-data/cashupAfterLoadCashupFromBackend.js
+++ b/web-test/model/business-object/cashup/test-data/cashupAfterLoadCashupFromBackend.js
@@ -1,6 +1,6 @@
 /*
  ************************************************************************************
- * Copyright (C) 2020 Openbravo S.L.U.
+ * Copyright (C) 2020-2023 Openbravo S.L.U.
  * Licensed under the Openbravo Commercial License version 1.0
  * You may obtain a copy of the License at http://www.openbravo.com/legal/obcl.html
  * or in the legal folder of this module distribution.
@@ -19,6 +19,7 @@ module.exports = {
   totalStartings: 0,
   creationDate: '2020-06-24T07:45Z',
   userId: '3073EDF96A3C42CC86C7069E379522D2',
+  cashCloseInfo: [],
   cashTaxInfo: [
     {
       id: 'E44EB6A6CF2D362EA88FAC723638CDA6',
@@ -41,6 +42,7 @@ module.exports = {
       rate: 1,
       isocode: 'EUR',
       newPaymentMethod: false,
+      usedInCurrentTrx: false,
       cashManagements: []
     },
     {
@@ -56,6 +58,7 @@ module.exports = {
       rate: 1,
       isocode: 'EUR',
       newPaymentMethod: false,
+      usedInCurrentTrx: true,
       cashManagements: []
     },
     {
@@ -71,6 +74,7 @@ module.exports = {
       rate: 0.76082,
       isocode: 'USD',
       newPaymentMethod: false,
+      usedInCurrentTrx: false,
       cashManagements: []
     },
     {
@@ -86,6 +90,7 @@ module.exports = {
       rate: 1,
       isocode: 'EUR',
       newPaymentMethod: false,
+      usedInCurrentTrx: false,
       cashManagements: []
     }
   ],
diff --git a/web-test/model/business-object/cashup/test-data/cashupAfterLoadCashupFromBackendWithoutPayments.js b/web-test/model/business-object/cashup/test-data/cashupAfterLoadCashupFromBackendWithoutPayments.js
index 2f04ea35e..4ec331d10 100644
--- a/web-test/model/business-object/cashup/test-data/cashupAfterLoadCashupFromBackendWithoutPayments.js
+++ b/web-test/model/business-object/cashup/test-data/cashupAfterLoadCashupFromBackendWithoutPayments.js
@@ -1,6 +1,6 @@
 /*
  ************************************************************************************
- * Copyright (C) 2020 Openbravo S.L.U.
+ * Copyright (C) 2020-2023 Openbravo S.L.U.
  * Licensed under the Openbravo Commercial License version 1.0
  * You may obtain a copy of the License at http://www.openbravo.com/legal/obcl.html
  * or in the legal folder of this module distribution.
@@ -19,7 +19,7 @@ module.exports = {
   totalStartings: 0,
   creationDate: '2020-06-24T07:45Z',
   userId: '3073EDF96A3C42CC86C7069E379522D2',
-  cashCloseInfo: undefined,
+  cashCloseInfo: [],
   cashTaxInfo: [
     {
       id: 'E44EB6A6CF2D362EA88FAC723638CDA6',
diff --git a/web-test/model/business-object/cashup/test-data/messagesAfterCompleteCashupSharedPayments.js b/web-test/model/business-object/cashup/test-data/messagesAfterCompleteCashupSharedPayments.js
index 7c8080f2b..d6bcae72a 100644
--- a/web-test/model/business-object/cashup/test-data/messagesAfterCompleteCashupSharedPayments.js
+++ b/web-test/model/business-object/cashup/test-data/messagesAfterCompleteCashupSharedPayments.js
@@ -1,6 +1,6 @@
 /*
  ************************************************************************************
- * Copyright (C) 2020-2021 Openbravo S.L.U.
+ * Copyright (C) 2020-2023 Openbravo S.L.U.
  * Licensed under the Openbravo Commercial License version 1.0
  * You may obtain a copy of the License at http://www.openbravo.com/legal/obcl.html
  * or in the legal folder of this module distribution.
@@ -2016,7 +2016,7 @@ module.exports = [
           netReturns: 0,
           grossReturns: 0,
           totalRetailTransactions: 0,
-          totalStartings: 250,
+          totalStartings: 238.04,
           creationDate: '2020-06-26T14:36:53.173Z',
           userId: '3073EDF96A3C42CC86C7069E379522D2',
           posterminal: '9104513C2D0741D4850AE8493998A7C8',
diff --git a/web/org.openbravo.retail.posterminal/app/model/business-object/cashup/CashupUtils.js b/web/org.openbravo.retail.posterminal/app/model/business-object/cashup/CashupUtils.js
index 2ccb4f95b..0ab7a7804 100644
--- a/web/org.openbravo.retail.posterminal/app/model/business-object/cashup/CashupUtils.js
+++ b/web/org.openbravo.retail.posterminal/app/model/business-object/cashup/CashupUtils.js
@@ -1,6 +1,6 @@
 /*
  ************************************************************************************
- * Copyright (C) 2020-2021 Openbravo S.L.U.
+ * Copyright (C) 2020-2023 Openbravo S.L.U.
  * Licensed under the Openbravo Commercial License version 1.0
  * You may obtain a copy of the License at http://www.openbravo.com/legal/obcl.html
  * or in the legal folder of this module distribution.
@@ -99,7 +99,7 @@
       newCashup.cashTaxInfo = OB.App.State.Cashup.Utils.getTaxesFromBackendObject(
         currentCashupFromBackend.cashTaxInfo
       );
-      newCashup.cashCloseInfo = currentCashupFromBackend.cashCloseInfo;
+      newCashup.cashCloseInfo = currentCashupFromBackend.cashCloseInfo || [];
 
       return newCashup;
     },
diff --git a/web/org.openbravo.retail.posterminal/app/model/business-object/cashup/PaymentMethodUtils.js b/web/org.openbravo.retail.posterminal/app/model/business-object/cashup/PaymentMethodUtils.js
index 6fbfc14b4..aadeac62f 100644
--- a/web/org.openbravo.retail.posterminal/app/model/business-object/cashup/PaymentMethodUtils.js
+++ b/web/org.openbravo.retail.posterminal/app/model/business-object/cashup/PaymentMethodUtils.js
@@ -1,6 +1,6 @@
 /*
  ************************************************************************************
- * Copyright (C) 2020-2021 Openbravo S.L.U.
+ * Copyright (C) 2020-2023 Openbravo S.L.U.
  * Licensed under the Openbravo Commercial License version 1.0
  * You may obtain a copy of the License at http://www.openbravo.com/legal/obcl.html
  * or in the legal folder of this module distribution.
@@ -44,7 +44,7 @@
 
             newCashup.totalStartings = OB.DEC.add(
               newCashup.totalStartings,
-              startingCash
+              OB.DEC.mul(startingCash, terminalPayment.rate)
             );
           }
         }
@@ -99,7 +99,16 @@
       return paymentMethods;
     },
 
-    getPaymentMethodFromBackendObject(paymentMethodCashUpModel) {
+    getCashManagementFromBackendObject(cashManagementInfos) {
+      return cashManagementInfos.map(cashMgmInfo => {
+        return {
+          ...cashMgmInfo,
+          timezoneOffset: new Date().getTimezoneOffset()
+        };
+      });
+    },
+
+    getPaymentMethodFromBackendObject(paymentMethodCashUpModel, cashMgmInfo) {
       const paymentMethodInfo = {
         id: paymentMethodCashUpModel.id,
         paymentMethodId: paymentMethodCashUpModel.paymentmethod_id,
@@ -115,7 +124,17 @@
         isocode: paymentMethodCashUpModel.isocode,
         lineNo: paymentMethodCashUpModel.lineNo,
         newPaymentMethod: false,
-        cashManagements: []
+        usedInCurrentTrx: !!(
+          paymentMethodCashUpModel.totalSales ||
+          paymentMethodCashUpModel.totalReturns ||
+          paymentMethodCashUpModel.totalDeposits ||
+          paymentMethodCashUpModel.totalDrops
+        ),
+        cashManagements: OB.App.State.Cashup.Utils.getCashManagementFromBackendObject(
+          cashMgmInfo.filter(
+            c => c.paymentMethodId === paymentMethodCashUpModel.paymentmethod_id
+          )
+        )
       };
       if (paymentMethodCashUpModel.countPerAmount) {
         paymentMethodInfo.countPerAmount =
@@ -125,7 +144,7 @@
     },
 
     addPaymentsFromBackendCashup(payload) {
-      const { currentCashupFromBackend, terminalPayments } = payload;
+      const { newCashup, currentCashupFromBackend, terminalPayments } = payload;
       const paymentMethods = [];
 
       currentCashupFromBackend.cashPaymentMethodInfo.forEach(
@@ -151,13 +170,26 @@
               paymentMethodCashUp.totalDrops !== 0)
           ) {
             const paymentFromBackend = OB.App.State.Cashup.Utils.getPaymentMethodFromBackendObject(
-              paymentMethodCashUp
+              paymentMethodCashUp,
+              currentCashupFromBackend.cashMgmInfo
             );
             paymentMethods.push(paymentFromBackend);
           }
         }
       );
 
+      // Update cashup properties based on payment methods
+      if (newCashup) {
+        newCashup.totalStartings = paymentMethods.reduce(
+          (total, p) =>
+            OB.DEC.add(
+              total,
+              OB.DEC.mul(p.initialCounted || p.startingCash || 0, p.rate)
+            ),
+          0
+        );
+      }
+
       return paymentMethods;
     },
 
diff --git a/web/org.openbravo.retail.posterminal/app/model/business-object/cashup/actions/InitCashup.js b/web/org.openbravo.retail.posterminal/app/model/business-object/cashup/actions/InitCashup.js
index ea5de32fc..dcb4954d6 100644
--- a/web/org.openbravo.retail.posterminal/app/model/business-object/cashup/actions/InitCashup.js
+++ b/web/org.openbravo.retail.posterminal/app/model/business-object/cashup/actions/InitCashup.js
@@ -1,6 +1,6 @@
 /*
  ************************************************************************************
- * Copyright (C) 2020 Openbravo S.L.U.
+ * Copyright (C) 2020-2023 Openbravo S.L.U.
  * Licensed under the Openbravo Commercial License version 1.0
  * You may obtain a copy of the License at http://www.openbravo.com/legal/obcl.html
  * or in the legal folder of this module distribution.
@@ -58,7 +58,7 @@
 
         if (currentCashupFromBackend.cashPaymentMethodInfo.length !== 0) {
           newCashup.cashPaymentMethodInfo = OB.App.State.Cashup.Utils.addPaymentsFromBackendCashup(
-            { currentCashupFromBackend, terminalPayments }
+            { newCashup, currentCashupFromBackend, terminalPayments }
           );
         } else {
           newCashup.cashPaymentMethodInfo = OB.App.State.Cashup.Utils.initializePaymentMethodCashup(
diff --git a/web/org.openbravo.retail.posterminal/app/model/business-object/ticket/TicketUtils.js b/web/org.openbravo.retail.posterminal/app/model/business-object/ticket/TicketUtils.js
index 30e61cafe..86d4883b5 100644
--- a/web/org.openbravo.retail.posterminal/app/model/business-object/ticket/TicketUtils.js
+++ b/web/org.openbravo.retail.posterminal/app/model/business-object/ticket/TicketUtils.js
@@ -1500,6 +1500,7 @@
         if (currentCashupFromBackend.cashPaymentMethodInfo.length !== 0) {
           newCashup.cashPaymentMethodInfo = OB.App.State.Cashup.Utils.addPaymentsFromBackendCashup(
             {
+              newCashup,
               currentCashupFromBackend,
               terminalPayments: payload.payments
             }
