Wenn du alle noch nicht eingelösten Gutscheine bzw. Gutscheine mit Restwert aus Shopware 5 in deinen Shopware 6 Shop migrieren möchtest, kannst du die folgende SQL-Abfrage nutzen, um die entsprechenden Gutscheincodes und Restwerte aus Shopware 5 zu exportieren.
Die Abfrage ist auf die Erweiterung Gutscheine, Kaufgutscheine & Coupons - EasyCoupon Plugin von Net Inventors GmbH angepasst, kann aber auch umgeschrieben werden, um für andere Gutscheinerweiterungen genutzt zu werden. Mehr Informationen zu der genannten Erweiterung in Verbindung mit Pickware POS findest du auch hier.
SELECT UUID() AS id, sev.description AS title, 0 AS deleted, NULL AS deleted_date, 1 AS active, 40020 AS voucher_type, sevc.code AS code, IF(sod.redeemed,ROUND(sev.value + sod.redeemed, 2),sev.value) AS value, 10010 AS value_type, 'Import von Pickware Shopware 5 Gutscheinen' AS comment, 0 AS discard_remaining, 1 AS mail_sent, 0 AS combine_vouchers, 1 AS currency_factor, sev.ordercode AS order_position_number, NULL AS max_redemption_value, 'EUR' AS currency_iso_code, '[]' AS virtual_import, vcv.validTo AS valid_until, 0 AS redemption_order, NULL AS pin, NULL AS initial_value, NULL AS tax_id FROM s_emarketing_voucher_codes sevc LEFT JOIN s_emarketing_vouchers sev ON sev.id = sevc.voucherID LEFT JOIN s_emarketing_vouchers_attributes seva ON seva.voucherId = sev.id LEFT JOIN ( SELECT SUM(price) as redeemed, articleID FROM s_order_details LEFT JOIN s_order so ON so.id = orderID WHERE modus = 2 -- vouchers only AND so.status NOT IN (-1,1,4) -- exclude canceled orders GROUP BY articleID ) as sod ON sod.articleID = sevc.id LEFT JOIN s_plugin_viison_coupon_voucher_code_gift_voucher vcv ON vcv.voucherCodeId = sevc.id WHERE sevc.cashed = 0 -- exclude already cashed vouchers AND seva.viison_coupon = 1; -- pickware vouchers only
Anschließend kannst du die Gutscheine nach Shopware 6 importieren. Bei Net Inventors findest du alle weiteren Informationen dazu.