diff --git a/web/org.openbravo.retail.giftcards/js/components/GiftCardCertificate.js b/web/org.openbravo.retail.giftcards/js/components/GiftCardCertificate.js
--- a/web/org.openbravo.retail.giftcards/js/components/GiftCardCertificate.js
+++ b/web/org.openbravo.retail.giftcards/js/components/GiftCardCertificate.js
@@ -51,6 +51,7 @@
           cashupId: OB.MobileApp.model.get('terminal').cashUpId
         }, function (data) {
           if (data && data.exception) {
+            OB.logUserAction('Can not create Gift Certificate: ' + data.exception.message);
             OB.UTIL.showConfirmation.display(OB.I18N.getLabel('OBMOBC_Error'), OB.I18N.getLabel(data.exception.message), [{
               label: OB.I18N.getLabel('OBMOBC_LblOk'),
               action: function () {
@@ -66,6 +67,9 @@
             }]);
             me.putDisabled(false);
           } else if (data && !data.exception) {
+            OB.logUserAction('Create Gift Certificate: ' + data.data.cardNumber + ' with ' + OB.I18N.formatCurrency(model.get('giftcardAmount')) + //
+            ' expire ' + model.get('giftcardExpirationDate') + // 
+            (model.get('giftcardCBpartner') ? ' for customer ' + model.get('giftcardCBpartnerName') : ''));
             // Update CashUp
             var paymentsList = OB.MobileApp.model.get('payments');
             var isCountPaymentInCashup;
@@ -91,8 +95,13 @@
               me.putDisabled(false);
             }
           }
+        }, function () {
+          OB.logUserAction('Can not create Gift Certificate: ' + OB.I18N.getLabel('GCNV_ErrorWhenSynchronizing'));
+          OB.UTIL.showError(OB.I18N.getLabel('GCNV_ErrorWhenSynchronizing'));
+          me.putDisabled(false);
         });
       }, function () {
+        OB.logUserAction('Can not create Gift Certificate: ' + OB.I18N.getLabel('GCNV_ErrorWhenSynchronizing'));
         OB.UTIL.showError(OB.I18N.getLabel('GCNV_ErrorWhenSynchronizing'));
         me.putDisabled(false);
       });
diff --git a/web/org.openbravo.retail.giftcards/js/components/GiftCardDetails.js b/web/org.openbravo.retail.giftcards/js/components/GiftCardDetails.js
--- a/web/org.openbravo.retail.giftcards/js/components/GiftCardDetails.js
+++ b/web/org.openbravo.retail.giftcards/js/components/GiftCardDetails.js
@@ -32,6 +32,7 @@
       if (this.disabled) {
         return;
       }
+      OB.logUserAction('Return Gift Card: ' + this.owner.owner.args.giftcard.searchKey);
       this.doReturnButton();
     },
     initComponents: function () {
@@ -71,6 +72,7 @@
         OB.UTIL.showConfirmation.display(OB.I18N.getLabel('OBMOBC_Error'), OB.I18N.getLabel('GCNV_ForbidUseCreditNoteWithDifferentCustomer'));
         return;
       }
+      OB.logUserAction('Apply Gift Card: ' + this.owner.owner.args.giftcard.searchKey);
       this.doAcceptButton();
     },
     initComponents: function () {
@@ -105,6 +107,7 @@
       if (this.disabled) {
         return;
       }
+      OB.logUserAction('Print Gift Card: ' + this.owner.owner.args.giftcard.searchKey);
       this.doPrintButton();
     },
     initComponents: function () {
diff --git a/web/org.openbravo.retail.giftcards/js/components/GiftCardMenu.js b/web/org.openbravo.retail.giftcards/js/components/GiftCardMenu.js
--- a/web/org.openbravo.retail.giftcards/js/components/GiftCardMenu.js
+++ b/web/org.openbravo.retail.giftcards/js/components/GiftCardMenu.js
@@ -1,6 +1,6 @@
 /*
  ************************************************************************************
- * Copyright (C) 2012-2017 Openbravo S.L.U.
+ * Copyright (C) 2012-2018 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.
@@ -24,6 +24,7 @@
         return true;
       }
       this.inherited(arguments); // Manual dropdown menu closure
+      OB.logUserAction('Menu >  Gift Certificate / Gift Cards / Vouchers / Credit Notes');
       this.doShowPopup({
         popup: 'GCNV_UI_SearchDialog'
       });
@@ -82,6 +83,7 @@
         OB.UTIL.showConfirmation.display(OB.I18N.getLabel('OBMOBC_Error'), OB.I18N.getLabel('GCNV_GiftCardPaymentNotConfigured'));
         return;
       }
+      OB.logUserAction('Menu >  Create Gift Certificate');
       this.doShowPopup({
         popup: 'GCNV_UI_Certificate'
       });
diff --git a/web/org.openbravo.retail.giftcards/js/components/GiftCardSearchDialog.js b/web/org.openbravo.retail.giftcards/js/components/GiftCardSearchDialog.js
--- a/web/org.openbravo.retail.giftcards/js/components/GiftCardSearchDialog.js
+++ b/web/org.openbravo.retail.giftcards/js/components/GiftCardSearchDialog.js
@@ -225,6 +225,7 @@
               return;
             }
 
+            OB.logUserAction('Select Gift Card: ' + args.giftcard.searchKey);
             me.doHideThisPopup();
             me.doShowPopup({
               popup: 'GCNV_UI_Details',
diff --git a/web/org.openbravo.retail.giftcards/js/model/GiftCardUtils.js b/web/org.openbravo.retail.giftcards/js/model/GiftCardUtils.js
--- a/web/org.openbravo.retail.giftcards/js/model/GiftCardUtils.js
+++ b/web/org.openbravo.retail.giftcards/js/model/GiftCardUtils.js
@@ -216,6 +216,8 @@
           } else {
             modelToApply = keyboard.model.get('multiOrders');
           }
+          OB.logUserAction('Add payment: ' + OB.I18N.getLabel('GCNV_LblGiftCardsCertificate') + ' ' + card.searchKey + ' = ' + //
+          OB.I18N.formatCurrency(OB.DEC.abs(result.realamnt)) + ' ' + p.isocode);
           modelToApply.addPayment(new OB.Model.PaymentLine({
             kind: p.payment.searchKey,
             paymentData: {
