diff --git a/web/org.openbravo.retail.digitalcoupons/js/modalDigitalCoupons.js b/web/org.openbravo.retail.digitalcoupons/js/modalDigitalCoupons.js
--- a/web/org.openbravo.retail.digitalcoupons/js/modalDigitalCoupons.js
+++ b/web/org.openbravo.retail.digitalcoupons/js/modalDigitalCoupons.js
@@ -1,6 +1,6 @@
 /*
  ************************************************************************************
- * Copyright (C) 2017 Openbravo S.L.U.
+ * Copyright (C) 2017-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.
@@ -293,6 +293,7 @@
               couponArray = payment.get('coupons') || [];
               payment.set('coupons', couponArray.concat([coupon]));
               payment.set('account', issuingCompany.get('account'));
+              me.logAddCoupon(coupon);
 
               me.receiptPayments = _.filter(me.receipt.get('payments').models, function (p) {
                 return p.get('kind') === me.payment.payment.searchKey && !p.get('isPrePayment') && !p.get('reversedPaymentId');
@@ -329,6 +330,15 @@
     });
   },
 
+  logAddCoupon: function (coupon) {
+    var clonedCoupon = _.clone(coupon);
+    clonedCoupon.get('obdicoIssuingCompany').unset('img');
+    OB.logUserAction('Added coupon to payment => Check Number: ' + clonedCoupon.get('checkno') //
+    + ' - Issuing Company: ' + clonedCoupon.get('obdicoIssuingCompany').get('name') //
+    + ' - Amount: ' + clonedCoupon.get('checkamt'));
+    OB.info('Added coupon to payment: ' + JSON.stringify(clonedCoupon));
+  },
+
   isValidDate: function (date) {
     var now = new Date();
     return new Date(now.getYear(), now.getMonth(), now.getDate()) <= new Date(date.getYear(), date.getMonth(), date.getDate());
@@ -399,6 +409,11 @@
       pmnt.get('coupons').splice(_.indexOf(pmnt.get('coupons'), cpn), 1);
       cpnPopup.couponList.remove(cpn);
 
+      OB.logUserAction('Removed coupon from payment => Check Number: ' + cpn.get('checkno') //
+      + ' - Issuing Company: ' + cpn.get('obdicoIssuingCompany').get('name') //
+      + ' - Amount: ' + cpn.get('checkamt'));
+      OB.info('Removed coupon from payment: ' + JSON.stringify(cpn));
+
       //Update receipt payments
       if (pmnt.get('coupons').length > 0) {
         pmnt.set('amount', OB.DEC.sub(pmnt.get('amount'), (cpn.checkamt || cpn.get('checkamt'))));
