{"id":363118,"date":"2026-09-09T01:36:43","date_gmt":"2026-09-09T01:36:43","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/software-key-manager-for-woocommerce\/"},"modified":"2026-09-12T06:06:15","modified_gmt":"2026-09-12T06:06:15","slug":"verto-software-key-manager-for-woocommerce","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/verto-software-key-manager-for-woocommerce\/","author":23559526,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.1","stable_tag":"1.0.1","tested":"7.1","requires":"6.9","requires_php":"7.4","requires_plugins":null,"header_name":"Verto Software Key Manager for WooCommerce","header_author":"Verto (Bombardi O\u00dc)","header_description":"Single-store software license key inventory and automatic delivery for WooCommerce.","assets_banners_color":"416093","last_updated":"2026-09-12 06:06:15","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"https:\/\/verto.rocks\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":91,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"vertorocks","date":"2026-09-09 01:39:00","revision":3687451},"1.0.1":{"tag":"1.0.1","author":"vertorocks","date":"2026-09-12 06:06:15","revision":3692366}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3688061,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3688061,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3688061,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3688061,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0","1.0.1"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3688061,"resolution":"1","location":"assets","locale":"","width":1735,"height":306},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3688061,"resolution":"2","location":"assets","locale":"","width":1017,"height":492},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3688061,"resolution":"3","location":"assets","locale":"","width":1442,"height":531},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3688061,"resolution":"4","location":"assets","locale":"","width":1713,"height":353}},"screenshots":{"1":"Key inventory with available and historical counts.","2":"License key upload with WooCommerce product autocomplete.","3":"Buyers &amp; Keys delivery history.","4":"Key Manager settings and low-stock alerts.","5":"Assign \/ retry license keys action on a WooCommerce order.","6":"Actionable insufficient-license-keys administrator email."}},"plugin_section":[],"plugin_tags":[5472,147431,146554,279809,286],"plugin_category":[45],"plugin_contributors":[279810],"plugin_business_model":[],"class_list":["post-363118","plugin","type-plugin","status-publish","hentry","plugin_tags-digital-products","plugin_tags-license-keys","plugin_tags-license-manager","plugin_tags-software-keys","plugin_tags-woocommerce","plugin_category-ecommerce","plugin_contributors-vertorocks","plugin_committers-vertorocks"],"banners":{"banner":"https:\/\/ps.w.org\/verto-software-key-manager-for-woocommerce\/assets\/banner-772x250.png?rev=3688061","banner_2x":"https:\/\/ps.w.org\/verto-software-key-manager-for-woocommerce\/assets\/banner-1544x500.png?rev=3688061","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/verto-software-key-manager-for-woocommerce\/assets\/icon-128x128.png?rev=3688061","icon_2x":"https:\/\/ps.w.org\/verto-software-key-manager-for-woocommerce\/assets\/icon-256x256.png?rev=3688061","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/verto-software-key-manager-for-woocommerce\/assets\/screenshot-1.png?rev=3688061","caption":"Key inventory with available and historical counts."},{"src":"https:\/\/ps.w.org\/verto-software-key-manager-for-woocommerce\/assets\/screenshot-2.png?rev=3688061","caption":"License key upload with WooCommerce product autocomplete."},{"src":"https:\/\/ps.w.org\/verto-software-key-manager-for-woocommerce\/assets\/screenshot-3.png?rev=3688061","caption":"Buyers &amp; Keys delivery history."},{"src":"https:\/\/ps.w.org\/verto-software-key-manager-for-woocommerce\/assets\/screenshot-4.png?rev=3688061","caption":"Key Manager settings and low-stock alerts."}],"raw_content":"<!--section=description-->\n<p>Verto Software Key Manager for WooCommerce is a free single-store license key inventory and delivery plugin.<\/p>\n\n<p>The free plugin is fully usable for one WooCommerce store, with no trial limits, key quotas, or time limits. Multi-store centralized inventory and Master Store delivery are available separately with Verto Software Key Manager PRO.<\/p>\n\n<h4>Need centralized license key management for multiple WooCommerce stores?<\/h4>\n\n<p>Verto Software Key Manager PRO extends the free plugin with centralized multi-store license key management.<\/p>\n\n<p>With PRO, you can:\n* Manage license key inventory centrally from a Master Store.\n* Connect multiple WooCommerce stores to the Master Store.\n* Deliver keys automatically from the Master inventory.\n* Choose Master Delivery or Local Delivery per product.\n* Use SKU-based product matching between stores.\n* Handle mixed Master and Local Delivery orders.\n* Keep centralized delivery history with delivery source information.\n* Manage connected stores and license usage.\n* Receive PRO updates directly through WordPress.<\/p>\n\n<p>The free plugin remains fully functional for a single WooCommerce store. PRO is only needed when you want centralized inventory and delivery across multiple stores.<\/p>\n\n<p>Learn more about <a href=\"https:\/\/verto.rocks\/woocommerce-license-key-management\/\">Verto Software Key Manager PRO \u2013 WooCommerce License Key Management<\/a>.<\/p>\n\n<h4>Features<\/h4>\n\n<ul>\n<li>Local license-key inventory stored on your WordPress site.<\/li>\n<li>Product search by name, SKU, or ID when uploading keys.<\/li>\n<li>Automatic key assignment when an order reaches Processing.<\/li>\n<li>All-or-nothing assignment: an order is not partially fulfilled when stock is insufficient.<\/li>\n<li>License keys in WooCommerce customer emails.<\/li>\n<li>Buyers &amp; Keys delivery history with actual assignment time for new deliveries.<\/li>\n<li>Per-product key delivery enable\/disable.<\/li>\n<li>Per-product low-stock alert enable\/disable.<\/li>\n<li>Configurable low-stock threshold and alert email.<\/li>\n<li>Actionable insufficient-stock admin email with a direct order link and retry instructions.<\/li>\n<li>CSV export for all keys or a single product.<\/li>\n<li>Zero-stock and deleted-product inventory handling.<\/li>\n<li>Manual Assign \/ retry license keys order action after inventory is replenished.<\/li>\n<li>High-Performance Order Storage (HPOS) compatible.<\/li>\n<li>WPML-aware shared inventory: translated versions of a product use the same canonical key pool when WPML is active.<\/li>\n<li>Translation-ready using standard WordPress internationalization.<\/li>\n<\/ul>\n\n<h4>Important: insufficient key stock<\/h4>\n\n<p>If an order needs more keys than are available, no keys are assigned and the order remains in Processing.<\/p>\n\n<p>After adding the missing keys in Key Manager &gt; Upload, open the WooCommerce order and use:<\/p>\n\n<p>Order actions &gt; Assign \/ retry license keys<\/p>\n\n<p>Do not manually change an incomplete managed order to Completed. The plugin blocks Completed status until all required license keys have been assigned.<\/p>\n\n<h4>Data and privacy<\/h4>\n\n<p>License keys and delivery history are stored locally on your WordPress\/WooCommerce installation. The plugin does not send license keys to an external service.<\/p>\n\n<p>Deactivating or deleting the plugin does not automatically delete the key inventory. This is intentional to reduce the risk of accidental loss of license inventory.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Install and activate WooCommerce.<\/li>\n<li>Upload and activate Verto Software Key Manager for WooCommerce.<\/li>\n<li>Go to Key Manager &gt; Upload and add license keys to a product.<\/li>\n<li>Uploading keys enables software key delivery for that product.<\/li>\n<li>Review Key Manager &gt; Settings, including the alert email and low-stock threshold.<\/li>\n<li>Place a test order before using the plugin in production.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"what%20happens%20if%20an%20order%20needs%20two%20keys%20but%20only%20one%20is%20available%3F\"><h3>What happens if an order needs two keys but only one is available?<\/h3><\/dt>\n<dd><p>No keys are assigned. The order remains in Processing and the available key stays in inventory. The administrator receives an insufficient-license-keys email. Add enough keys, then use Order actions &gt; Assign \/ retry license keys.<\/p><\/dd>\n<dt id=\"can%20i%20simply%20mark%20an%20incomplete%20order%20completed%20after%20adding%20keys%3F\"><h3>Can I simply mark an incomplete order Completed after adding keys?<\/h3><\/dt>\n<dd><p>No. Use Assign \/ retry license keys. This performs a fresh stock check, assigns the complete set of keys, and then allows the order to complete.<\/p><\/dd>\n<dt id=\"why%20can%20i%20receive%20both%20an%20insufficient-stock%20email%20and%20a%20low-stock%20email%3F\"><h3>Why can I receive both an insufficient-stock email and a low-stock email?<\/h3><\/dt>\n<dd><p>They report different events. The insufficient-stock email means a specific order could not be fulfilled. A later low-stock email means the retry succeeded but the remaining inventory has reached the configured low-stock threshold.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20hpos%3F\"><h3>Does it work with HPOS?<\/h3><\/dt>\n<dd><p>Yes. The plugin uses WooCommerce order APIs and declares HPOS compatibility.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20wpml%3F\"><h3>Does it work with WPML?<\/h3><\/dt>\n<dd><p>The plugin is WPML-aware. When WPML is active, translated versions of the same product resolve to the default-language product and share one license-key inventory. Plugin interface strings use the standard WordPress gettext API and the <code>verto-software-key-manager-for-woocommerce<\/code> text domain, making them available to WordPress language packs and translation tools such as WPML String Translation.<\/p><\/dd>\n<dt id=\"does%20uninstalling%20delete%20my%20license%20keys%3F\"><h3>Does uninstalling delete my license keys?<\/h3><\/dt>\n<dd><p>No. The plugin intentionally preserves its database table and settings to avoid accidental destruction of license inventory.<\/p><\/dd>\n<dt id=\"is%20there%20a%20pro%20version%3F\"><h3>Is there a PRO version?<\/h3><\/dt>\n<dd><p>Yes. Verto Software Key Manager PRO adds centralized multi-store management for businesses operating multiple WooCommerce stores. The free version remains fully usable for a single store.<\/p>\n\n<p>Learn more: https:\/\/verto.rocks\/woocommerce-license-key-management\/<\/p><\/dd>\n<dt id=\"will%20the%20pro%20plugin%20stop%20working%20if%20my%20license%20expires%3F\"><h3>Will the PRO plugin stop working if my license expires?<\/h3><\/dt>\n<dd><p>No. Your installed PRO version continues to work. The annual license provides access to new PRO updates and support. Renewing restores update and support access.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>Added information about Verto Software Key Manager PRO for centralized multi-store license key management.<\/li>\n<li>Added a link to the PRO solution guide.<\/li>\n<li>Added FAQ information about PRO licensing, updates, and expiry behavior.<\/li>\n<li>No changes to the free plugin's license-key delivery functionality.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>First stable WordPress.org-ready release.<\/li>\n<li>Completed security review of administrator actions: capability checks, nonces, input sanitization and output escaping.<\/li>\n<li>Added an explicit WooCommerce product-save capability and nonce check.<\/li>\n<li>Completed gettext coverage for plugin administration screens, customer key output, notices and order notes.<\/li>\n<li>Retained HPOS compatibility and WPML-aware canonical product inventory.<\/li>\n<li>Preserved the tested all-or-nothing assignment, insufficient-stock notification, manual retry, customer delivery and low-stock workflow.<\/li>\n<li>Buyers &amp; Keys records the actual assignment time for new deliveries.<\/li>\n<\/ul>\n\n<h4>0.9.5<\/h4>\n\n<ul>\n<li>WordPress.org release-candidate packaging and documentation refresh.<\/li>\n<li>Buyers &amp; Keys now records and displays the actual assignment time for new key deliveries, including manual retry assignments.<\/li>\n<li>Existing historical rows without an assignment timestamp continue to fall back to the order creation time.<\/li>\n<li>Corrected the internal plugin version constant to match the release version.<\/li>\n<li>Added Domain Path metadata for translations.<\/li>\n<li>Preserved the tested 0.9.4 insufficient-stock, retry, customer-delivery and low-stock workflow.<\/li>\n<\/ul>\n\n<h4>0.9.4<\/h4>\n\n<ul>\n<li>Separated insufficient-order notifications from low-stock alerts.<\/li>\n<li>Added immediate actionable HTML admin email with Required, Available, Missing, Assigned and clickable order link.<\/li>\n<li>Insufficient notification is sent after critical order processing and does not alter checkout.<\/li>\n<\/ul>\n\n<h4>0.9.3<\/h4>\n\n<ul>\n<li>Added immediate actionable insufficient-stock administrator email.<\/li>\n<li>Added order number\/link, product, required and available quantities, and exact Upload + Assign \/ retry recovery steps.<\/li>\n<li>Prevented a duplicate generic low-stock email for the same insufficient-stock event.<\/li>\n<\/ul>\n\n<h4>0.9.2<\/h4>\n\n<ul>\n<li>Prevented insufficient-stock administrator email delivery from running inside the checkout request.<\/li>\n<li>Kept mail transport failures outside the critical checkout path.<\/li>\n<\/ul>\n\n<h4>0.9.1<\/h4>\n\n<ul>\n<li>Added actionable insufficient-license-key administrator email.<\/li>\n<li>Added direct WooCommerce order link and Key Manager &gt; Upload \/ Assign-retry instructions.<\/li>\n<li>Updated plugin identity to Verto, with Bombardi O\u00dc support contact.<\/li>\n<\/ul>\n\n<h4>0.9.0<\/h4>\n\n<ul>\n<li>WordPress.org release-candidate build based on the tested single-store workflow.<\/li>\n<li>Added WordPress.org metadata and GPL information.<\/li>\n<li>Updated text domain to match the plugin slug.<\/li>\n<li>Declared WooCommerce dependency and HPOS compatibility.<\/li>\n<li>Added WPML-aware canonical product mapping so translations share one key inventory.<\/li>\n<li>Preserved all-or-nothing key assignment and manual retry workflow.<\/li>\n<\/ul>\n\n<h4>0.1.3<\/h4>\n\n<ul>\n<li>Added WooCommerce order action to assign\/retry missing license keys after stock is replenished.<\/li>\n<li>Blocks incomplete managed orders from remaining Completed.<\/li>\n<li>Suppresses Completed customer email when required keys are missing.<\/li>\n<li>Manual retry preserves all-or-nothing assignment.<\/li>\n<\/ul>\n\n<h4>0.1.0<\/h4>\n\n<ul>\n<li>Initial free single-store build.<\/li>\n<\/ul>","raw_excerpt":"Manage and automatically deliver software license keys from your own WooCommerce store. Developed by Verto (Bombardi O\u00dc). Support: info@verto.rocks","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/363118","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=363118"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/vertorocks"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=363118"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=363118"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=363118"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=363118"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=363118"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=363118"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}