diff --git a/src/QUI/ERP/Coupons/Events.php b/src/QUI/ERP/Coupons/Events.php
index ecd259008ba4ad248664dee478d7c7a35c74f0ef..a7e214b60e6d1a0a79e4d533894389491e2fd403 100644
--- a/src/QUI/ERP/Coupons/Events.php
+++ b/src/QUI/ERP/Coupons/Events.php
@@ -650,16 +650,20 @@ public static function onQuiqqerProductsProductCreate(ProductInterface $Product)
         $UniqueProduct->calc();
 
         $fields = [
-            CouponProductsHandler::PRODUCT_FIELD_ID_TRANSFERABLE              => true,
-            CouponProductsHandler::PRODUCT_FIELD_ID_SEND_MAIL                 => $isDigital,
-            CouponProductsHandler::PRODUCT_FIELD_ID_GENERATE_PDF              => $isDigital,
-            CouponProductsHandler::PRODUCT_FIELD_ID_COUPON_AMOUNT             => $UniqueProduct->getPrice()->getValue(),
-            CouponProductsHandler::PRODUCT_FIELD_ID_DAYS_VALID                => 1095, // 3 years
-            CouponProductsHandler::PRODUCT_FIELD_ID_COUPON_DESCRIPTION        => null,
-            CouponProductsHandler::PRODUCT_FIELD_ID_IS_SINGLE_PURPOSE_COUPON  => false,
-            CouponProductsHandler::PRODUCT_FIELD_ID_USER_DELIVERY_TYPE_SELECT => false
+//            CouponProductsHandler::PRODUCT_FIELD_ID_TRANSFERABLE             => true,
+            CouponProductsHandler::PRODUCT_FIELD_ID_COUPON_AMOUNT            => $UniqueProduct->getPrice()->getValue(),
+            CouponProductsHandler::PRODUCT_FIELD_ID_DAYS_VALID               => 1095, // 3 years
+            CouponProductsHandler::PRODUCT_FIELD_ID_IS_SINGLE_PURPOSE_COUPON => false
         ];
 
+        // Digital coupons get some extra fields
+        if ($isDigital) {
+            $fields[CouponProductsHandler::PRODUCT_FIELD_ID_SEND_MAIL]                 = true;
+            $fields[CouponProductsHandler::PRODUCT_FIELD_ID_GENERATE_PDF]              = true;
+            $fields[CouponProductsHandler::PRODUCT_FIELD_ID_USER_DELIVERY_TYPE_SELECT] = false;
+            $fields[CouponProductsHandler::PRODUCT_FIELD_ID_COUPON_DESCRIPTION]        = null;
+        }
+
         foreach ($fields as $fieldId => $value) {
             try {
                 $Field = Fields::getField($fieldId);
diff --git a/src/QUI/ERP/Coupons/Products/Handler.php b/src/QUI/ERP/Coupons/Products/Handler.php
index c4a815020caf96dea6bf7bdaeb4a9b8212ae1cc9..ce8da5a09f7c43a17461c1c3f4d287a93e2f6130 100644
--- a/src/QUI/ERP/Coupons/Products/Handler.php
+++ b/src/QUI/ERP/Coupons/Products/Handler.php
@@ -79,6 +79,13 @@ public static function createCouponCodesFromOrder(QUI\ERP\Order\AbstractOrder $O
                     )
                 );
 
+                /**
+                 * Physical coupons are not sent via mail or PDF
+                 */
+                if ($Product instanceof PhysicalCouponProductType) {
+                    continue;
+                }
+
                 // Generate coupon PDF
                 if ($Product->getFieldValue(self::PRODUCT_FIELD_ID_GENERATE_PDF)) {
                     $couponPdfFile = self::createCouponCodePdf($CouponCode, $Product);
@@ -197,10 +204,12 @@ protected static function createCouponCodeFromProduct(
         $couponAttributes['validUntilDate'] = $ValidUntil->format('Y-m-d');
 
         // Transferable (=usable by other users or guests)
-        $isTransferable = $Product->getFieldValue(self::PRODUCT_FIELD_ID_TRANSFERABLE);
+        if ($Product->hasField(self::PRODUCT_FIELD_ID_TRANSFERABLE)) {
+            $isTransferable = $Product->getFieldValue(self::PRODUCT_FIELD_ID_TRANSFERABLE);
 
-        if (empty($isTransferable)) {
-            $couponAttributes['userIds'] = [$User->getId()];
+            if (empty($isTransferable)) {
+                $couponAttributes['userIds'] = [$User->getId()];
+            }
         }
 
         return CouponsHandler::createCouponCode([$Discount->getId()], $couponAttributes);