{"id":363055,"date":"2026-09-30T15:53:48","date_gmt":"2026-09-30T15:53:48","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/vape-duty-manager-for-woocommerce\/"},"modified":"2026-09-30T15:53:16","modified_gmt":"2026-09-30T15:53:16","slug":"vape-duty-manager-for-woocommerce","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/vape-duty-manager-for-woocommerce\/","author":23559093,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.0","stable_tag":"1.0.0","tested":"7.1.2","requires":"6.5","requires_php":"8.1","requires_plugins":null,"header_name":"Vape Duty Manager for WooCommerce","header_author":"JNY Software Ltd","header_description":"Manages vape duty pricing for WooCommerce products.","assets_banners_color":"","last_updated":"2026-09-30 15:53:16","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/jny.software\/woocommerce-vape-duty-plugin","header_author_uri":"","rating":0,"author_block_rating":0,"active_installs":0,"downloads":48,"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":"jnysoftware","date":"2026-09-30 15:53:16","revision":3721618}},"upgrade_notice":{"1.0.0":"<p>Initial public release of Vape Duty Manager Free on WordPress.org. Review calculated prices before applying duty to live products.<\/p>"},"ratings":[],"assets_icons":[],"assets_banners":[],"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0"],"block_files":[],"assets_screenshots":[],"screenshots":[]},"plugin_section":[],"plugin_tags":[165315,4394,5627,19126,286],"plugin_category":[45],"plugin_contributors":[283725],"plugin_business_model":[],"class_list":["post-363055","plugin","type-plugin","status-publish","hentry","plugin_tags-duty","plugin_tags-pricing","plugin_tags-vape","plugin_tags-vat","plugin_tags-woocommerce","plugin_category-ecommerce","plugin_contributors-jnysoftware","plugin_committers-jnysoftware"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/s.w.org\/plugins\/geopattern-icon\/vape-duty-manager-for-woocommerce.svg","icon_2x":false,"generated":true},"screenshots":[],"raw_content":"<!--section=description-->\n<p>This WordPress.org package is <strong>Vape Duty Manager Free<\/strong>. It helps UK vape retailers manage the Vaping Products Duty inside WooCommerce without an external service, licence server, or cloud database.<\/p>\n\n<p><strong>Included in Free<\/strong><\/p>\n\n<ul>\n<li>Unlimited manual duty setup and apply in the WooCommerce product editor<\/li>\n<li>Product Prices management for products already enabled in the product editor<\/li>\n<li>Full-catalogue duty removal (restore saved base prices across duty-managed products)<\/li>\n<li>Storefront product, classic cart, and classic checkout duty notices<\/li>\n<li>Discount and coupon duty protection<\/li>\n<li>Order-line duty snapshots on customer orders<\/li>\n<li>Privacy export, erasure, and optional uninstall cleanup controls<\/li>\n<li>WooCommerce tax-configuration safety checks before prices change<\/li>\n<\/ul>\n\n<p><strong>Pro only (separate package)<\/strong><\/p>\n\n<ul>\n<li>Calculate &amp; Batches bulk preview, schedule, and apply across the catalogue<\/li>\n<li>Per-batch rollback<\/li>\n<li>Audit tab, sales and duty reports, and activity log<\/li>\n<li>Refund duty review and operational duty ledger<\/li>\n<li>Transition stock management<\/li>\n<li>Upstream duty recording workflows<\/li>\n<li>Manufacturer operating mode<\/li>\n<li>Cart and Checkout Blocks integration<\/li>\n<li>CSV exports from admin screens<\/li>\n<\/ul>\n\n<p>Free includes an <strong>Upgrade<\/strong> tab that explains the split. Pro is distributed separately.<\/p>\n\n<p>Important: review calculated prices with your accountant or tax adviser before applying them. The plugin does not claim HMRC compliance, stock-lot tracking, supplier verification, or return submission.<\/p>\n\n<h3>Requirements<\/h3>\n\n<ul>\n<li>WordPress 6.5 or newer on a <strong>single-site<\/strong> installation (multisite is not supported)<\/li>\n<li>WooCommerce 8.0 or newer<\/li>\n<li>PHP 8.1 or newer<\/li>\n<li>A store administrator with the <code>manage_woocommerce<\/code> capability<\/li>\n<\/ul>\n\n<h3>Quick start (Free)<\/h3>\n\n<ol>\n<li><strong>Settings \u2192 General<\/strong> \u2014 enable duty pricing and choose the Retailer operating profile.<\/li>\n<li><strong>Settings \u2192 Duty rules<\/strong> \u2014 confirm the duty rate (default \u00a30.22 per ml excluding VAT), map a global volume attribute, and choose rounding if required.<\/li>\n<li><strong>Product editor<\/strong> \u2014 on each SKU, open the Vape Duty panel: set eligibility, enter or confirm volume, preview duty, then apply.<\/li>\n<li><strong>Product Prices<\/strong> \u2014 review and manage base prices for products you have already enabled in the product editor.<\/li>\n<li><strong>Rollback<\/strong> \u2014 use <strong>Remove Vape Duty<\/strong> when you need to restore saved base prices across the catalogue.<\/li>\n<li><strong>Settings \u2192 Customer notices<\/strong> \u2014 optionally show shoppers that prices include vape duty (informational only).<\/li>\n<\/ol>\n\n<h3>Configure duty rate and volume<\/h3>\n\n<ol>\n<li>Open <strong>Products \u2192 Vape Duty \u2192 Settings \u2192 Duty rules<\/strong>.<\/li>\n<li>Set <strong>Duty rate per ml<\/strong> excluding VAT (default <code>0.22<\/code>).<\/li>\n<li>Map a global WooCommerce attribute such as Bottle Size to liquid volume.<\/li>\n<li>Choose <strong>Base price display<\/strong> and <strong>Rounding<\/strong> if your shop needs them.<\/li>\n<li>Save settings. Saving never changes catalogue prices.<\/li>\n<\/ol>\n\n<p>Supported automatic volume formats include <code>50<\/code>, <code>50ml<\/code>, <code>50 ml<\/code>, and <code>2.5ml<\/code>. Compound values such as <code>2 x 10ml<\/code> require a manual millilitre override on the product or variation.<\/p>\n\n<h3>Mark a product eligible for vape duty<\/h3>\n\n<ol>\n<li>Edit the simple product or variation in WooCommerce.<\/li>\n<li>Open the <strong>Vape Duty<\/strong> product data panel.<\/li>\n<li>Set <strong>Eligible for Vape Duty<\/strong> to Applicable (or use Inherit \/ Excluded as needed).<\/li>\n<li>Enter a valid volume from the mapped attribute or a manual millilitre value.<\/li>\n<li>Save the product. Eligibility and volume are checked before duty can be applied.<\/li>\n<\/ol>\n\n<p>The default eligibility rule requires a selected product category <strong>and<\/strong> a valid volume. Explicit Applicable can bypass the category requirement but still requires volume.<\/p>\n\n<h3>Apply duty manually in the product editor<\/h3>\n\n<ol>\n<li>Open a simple product or variation that is eligible and has valid volume.<\/li>\n<li>In the Vape Duty panel, review the calculated duty-inclusive price.<\/li>\n<li>Click <strong>Apply duty price<\/strong> (or the equivalent apply control) when you are ready.<\/li>\n<li>Confirm if prompted. The plugin stores base prices and updates the WooCommerce selling price.<\/li>\n<\/ol>\n\n<p>There is no SKU limit in Free. Apply products one at a time through the product editor.<\/p>\n\n<h3>Use Product Prices<\/h3>\n\n<p>The <strong>Product Prices<\/strong> tab is for products <strong>already duty-managed<\/strong> through the product editor.<\/p>\n\n<ul>\n<li>Review duty status, stored base prices, and applied prices.<\/li>\n<li>Edit base prices and preview recalculated duty-inclusive prices.<\/li>\n<li>Apply confirmed changes per product or in bulk for duty-managed rows only.<\/li>\n<li>Product Prices does not bulk-onboard new duty-managed SKUs; enable each product in the editor first.<\/li>\n<\/ul>\n\n<h3>Remove duty from the catalogue<\/h3>\n\n<p>Free provides <strong>catalogue-wide duty removal<\/strong> only (not per-batch rollback).<\/p>\n\n<ol>\n<li>Open <strong>Products \u2192 Vape Duty \u2192 Rollback<\/strong>.<\/li>\n<li>Click <strong>Create removal preview<\/strong> to scan currently duty-managed products.<\/li>\n<li>Review the preview summary and product table.<\/li>\n<li>Type <code>REMOVE DUTY<\/code> to confirm and restore saved base prices.<\/li>\n<li>If you navigate away, return to Rollback and use <strong>Continue preview<\/strong>, <strong>Regenerate preview<\/strong>, or <strong>Discard preview<\/strong> as needed.<\/li>\n<\/ol>\n\n<p>Products changed outside Vape Duty Manager are skipped by default. Price history is kept.<\/p>\n\n<h3>Customer notices<\/h3>\n\n<p>Optional shopper messaging is under <strong>Settings \u2192 Customer notices<\/strong>.<\/p>\n\n<ul>\n<li>Product page: automatic placement or <code>[vdmwc_duty_notice]<\/code> shortcode.<\/li>\n<li>Classic cart and checkout: total and\/or per-item notices.<\/li>\n<li>Notices are informational only; they never change prices or order totals.<\/li>\n<li>Cart and Checkout Blocks live integration is <strong>Pro only<\/strong>.<\/li>\n<\/ul>\n\n<h3>Privacy and uninstall<\/h3>\n\n<p>All product, price, history, and order-line duty snapshot data stays on your WordPress site. No telemetry or external data transfer is used.<\/p>\n\n<ul>\n<li><strong>Settings \u2192 Privacy<\/strong> \u2014 optional automated retention for price drafts and price history, plus delete-all-data on uninstall.<\/li>\n<li>WordPress personal-data export includes order duty snapshots linked to a customer email.<\/li>\n<li>Deactivating the plugin does not restore prices. Uninstall retains data unless you enable explicit cleanup under Privacy before deleting the plugin.<\/li>\n<\/ul>\n\n<h3>Supported product types<\/h3>\n\n<p>Supported: simple products and variations.<\/p>\n\n<p>Not supported: grouped, external\/affiliate, subscription, bundle, composite, mix-and-match, booking, and other extension-defined product types.<\/p>\n\n<h3>Troubleshooting<\/h3>\n\n<ul>\n<li>Check WooCommerce \u2192 Status \u2192 Logs for the <code>vape-duty-manager<\/code> source.<\/li>\n<li>If volume is rejected, enter a manual millilitre value on the product or variation.<\/li>\n<li>If tax configuration blocks apply, review WooCommerce tax settings and the admin warning on Settings.<\/li>\n<li>Disabling the plugin never restores prices. Use Product Prices or catalogue duty removal deliberately.<\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Install and activate the plugin from Plugins \u2192 Add New, or upload the ZIP to <code>\/wp-content\/plugins\/<\/code>.<\/li>\n<li>Confirm WooCommerce 8.0+ is active. Activation refuses cleanly if WooCommerce is missing or if WordPress multisite is enabled.<\/li>\n<li>Open <strong>Products \u2192 Vape Duty \u2192 Settings<\/strong>.<\/li>\n<li>Enable duty pricing, set the duty rate per ml, and map your liquid-volume attribute.<\/li>\n<li>Open a product in the WooCommerce product editor, mark it eligible, enter volume if needed, and apply duty when ready.<\/li>\n<\/ol>\n\n<p>Composer is not required at runtime.<\/p>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20saving%20settings%20change%20prices%3F\"><h3>Does saving settings change prices?<\/h3><\/dt>\n<dd><p>No. Prices change only after you explicitly apply duty in the product editor, confirm a Product Prices change, or run a confirmed catalogue duty removal.<\/p><\/dd>\n<dt id=\"can%20free%20calculate%20my%20whole%20catalogue%20at%20once%3F\"><h3>Can Free calculate my whole catalogue at once?<\/h3><\/dt>\n<dd><p>No. Bulk <strong>Calculate &amp; Batches<\/strong> workflows are <strong>Pro only<\/strong>. Free supports unlimited manual apply per product in the WooCommerce editor.<\/p><\/dd>\n<dt id=\"does%20free%20support%20per-batch%20rollback%3F\"><h3>Does Free support per-batch rollback?<\/h3><\/dt>\n<dd><p>No. Free supports full-catalogue duty removal only. Per-batch rollback is <strong>Pro only<\/strong>.<\/p><\/dd>\n<dt id=\"are%20sale%20prices%20and%20coupons%20supported%3F\"><h3>Are sale prices and coupons supported?<\/h3><\/dt>\n<dd><p>Yes. Plugin-managed percentage sales discount the stored base only and then add full duty. Standard WooCommerce coupons are excluded from duty-bearing products so duty is not discounted.<\/p><\/dd>\n<dt id=\"does%20the%20plugin%20assume%2020%25%20vat%3F\"><h3>Does the plugin assume 20% VAT?<\/h3><\/dt>\n<dd><p>No. It uses each product's tax status, tax class, and your store's WooCommerce tax configuration.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial WordPress.org release of Vape Duty Manager Free.<\/li>\n<li>Unlimited manual per-product duty calculation and application in the WooCommerce product editor.<\/li>\n<li>Product Prices management for already duty-managed products.<\/li>\n<li>Full-catalogue duty removal to restore saved base prices.<\/li>\n<li>Customer duty notices on product pages and classic cart\/checkout templates.<\/li>\n<li>Privacy export, erasure, and optional uninstall data cleanup controls.<\/li>\n<li>WooCommerce tax-configuration and eligibility safety checks before prices change.<\/li>\n<li>Separate Pro edition for Calculate &amp; Batches, audit, per-batch rollback, and advanced workflows.<\/li>\n<\/ul>","raw_excerpt":"Manage UK vape duty in WooCommerce with manual setup, Product Prices, catalogue removal, and storefront notices. Calculate &amp; Batches are Pro-only.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/363055","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=363055"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/jnysoftware"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=363055"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=363055"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=363055"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=363055"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=363055"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=363055"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}