diff --git a/src/org/openbravo/pos2/KeymapLoader.java b/src/org/openbravo/pos2/KeymapLoader.java
index 531c05adb..2e1114418 100644
--- a/src/org/openbravo/pos2/KeymapLoader.java
+++ b/src/org/openbravo/pos2/KeymapLoader.java
@@ -1,6 +1,6 @@
 /*
  ************************************************************************************
- * Copyright (C) 2021-2023 Openbravo S.L.U.
+ * Copyright (C) 2021-2024 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.
@@ -290,6 +290,9 @@ public class KeymapLoader extends POSDataSynchronizationProcess
         BaseOBObject equivalentInstance = getEquivalentInstance(type, jsonEntityObject,
             uniqueProperties);
         if (equivalentInstance == null) {
+          String info = "The Keymap data are as follow " + jsonEntities.toString()
+              + " The mandatory fields required are " + String.join(", ", mandatoryFields) + ".";
+          log.info(info);
           createEntity(type, jsonEntityObject, mandatoryFields);
         } else {
           updateEntity(type, equivalentInstance, jsonEntityObject);
diff --git a/web-jspack/org.openbravo.pos2/src/model/global/actions/SaveKeymap.js b/web-jspack/org.openbravo.pos2/src/model/global/actions/SaveKeymap.js
index 847d46ca2..921a8f860 100644
--- a/web-jspack/org.openbravo.pos2/src/model/global/actions/SaveKeymap.js
+++ b/web-jspack/org.openbravo.pos2/src/model/global/actions/SaveKeymap.js
@@ -1,6 +1,6 @@
 /*
  ************************************************************************************
- * Copyright (C) 2021-2022 Openbravo S.L.U.
+ * Copyright (C) 2021-2024 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.
@@ -48,6 +48,21 @@ function saveKeymap(state, { keymapData }) {
     state.Ticket.posTerminal
   );
 
+  const logEvent = OB.App.State.TerminalLog.Utils.getNewEvent(newState);
+  const msg = `${JSON.stringify({
+    ...keymapData,
+    id: newState.UI.keyMapEditor.selectedKeymap.id
+  })}`;
+  const logMessagePayload = {
+    event: logEvent,
+    level: 'Info',
+    msg,
+    context: 'saveKeymap'
+  };
+  newState.TerminalLog = OB.App.State.TerminalLog.Utils.addLog(
+    newState.TerminalLog,
+    logMessagePayload
+  );
   newState.Messages = [...state.Messages, backendMessage];
   return newState;
 }
