{"id":291941,"date":"2026-05-10T03:25:31","date_gmt":"2026-05-10T03:25:31","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/precise-expressions-returns-exchanges-portal-lite\/"},"modified":"2026-09-19T02:44:33","modified_gmt":"2026-09-19T02:44:33","slug":"precise-expressions-returns-exchanges-portal-lite","status":"publish","type":"plugin","link":"https:\/\/pe.wordpress.org\/plugins\/precise-expressions-returns-exchanges-portal-lite\/","author":23450623,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.2","stable_tag":"1.0.2","tested":"7.1.1","requires":"6.0","requires_php":"7.4","requires_plugins":null,"header_name":"Precise Expressions - Returns & Exchanges Portal Lite","header_author":"Precise Expressions","header_description":"WooCommerce returns and exchanges portal with guest lookup, status tracking, and admin workflow.","assets_banners_color":"c6e6fd","last_updated":"2026-09-19 02:44:33","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"","rating":0,"author_block_rating":0,"active_installs":0,"downloads":452,"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":"preciseexpressions","date":"2026-06-20 05:57:32","revision":3579484},"1.0.1":{"tag":"1.0.1","author":"preciseexpressions","date":"2026-09-09 04:21:54","revision":3687565},"1.0.2":{"tag":"1.0.2","author":"preciseexpressions","date":"2026-09-19 02:44:33","revision":3702918}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3527515,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3527515,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3527515,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3527515,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0","1.0.1","1.0.2"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3527515,"resolution":"1","location":"assets","locale":"","width":1097,"height":916},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3527515,"resolution":"2","location":"assets","locale":"","width":1097,"height":916},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3527515,"resolution":"3","location":"assets","locale":"","width":911,"height":1834},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3527515,"resolution":"4","location":"assets","locale":"","width":702,"height":624},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3527515,"resolution":"5","location":"assets","locale":"","width":800,"height":716},"screenshot-6.png":{"filename":"screenshot-6.png","revision":3527515,"resolution":"6","location":"assets","locale":"","width":800,"height":577}},"screenshots":[]},"plugin_section":[],"plugin_tags":[18057,45369,55969,170592,286],"plugin_category":[45],"plugin_contributors":[256384],"plugin_business_model":[],"class_list":["post-291941","plugin","type-plugin","status-publish","hentry","plugin_tags-customer-portal","plugin_tags-order-tracking","plugin_tags-returns","plugin_tags-rma","plugin_tags-woocommerce","plugin_category-ecommerce","plugin_contributors-preciseexpressions","plugin_committers-preciseexpressions"],"banners":{"banner":"https:\/\/ps.w.org\/precise-expressions-returns-exchanges-portal-lite\/assets\/banner-772x250.png?rev=3527515","banner_2x":"https:\/\/ps.w.org\/precise-expressions-returns-exchanges-portal-lite\/assets\/banner-1544x500.png?rev=3527515","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/precise-expressions-returns-exchanges-portal-lite\/assets\/icon-128x128.png?rev=3527515","icon_2x":"https:\/\/ps.w.org\/precise-expressions-returns-exchanges-portal-lite\/assets\/icon-256x256.png?rev=3527515","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/precise-expressions-returns-exchanges-portal-lite\/assets\/screenshot-1.png?rev=3527515","caption":""},{"src":"https:\/\/ps.w.org\/precise-expressions-returns-exchanges-portal-lite\/assets\/screenshot-2.png?rev=3527515","caption":""},{"src":"https:\/\/ps.w.org\/precise-expressions-returns-exchanges-portal-lite\/assets\/screenshot-3.png?rev=3527515","caption":""},{"src":"https:\/\/ps.w.org\/precise-expressions-returns-exchanges-portal-lite\/assets\/screenshot-4.png?rev=3527515","caption":""},{"src":"https:\/\/ps.w.org\/precise-expressions-returns-exchanges-portal-lite\/assets\/screenshot-5.png?rev=3527515","caption":""},{"src":"https:\/\/ps.w.org\/precise-expressions-returns-exchanges-portal-lite\/assets\/screenshot-6.png?rev=3527515","caption":""}],"raw_content":"<!--section=description-->\n<p>Precise Expressions - Returns &amp; Exchanges Portal (Lite) adds a customer-facing returns portal shortcode and an admin RMA workflow for WooCommerce stores.<\/p>\n\n<p>Lite is focused on return requests. Customers can look up an order, submit a return request, track status, and follow the return workflow from approval through completion.<\/p>\n\n<p>Key points:<\/p>\n\n<ul>\n<li>HPOS-aligned custom tables for RMA data.<\/li>\n<li>Guest lookup by order number and billing email, with account-order ownership enforcement for logged-in customers.<\/li>\n<li>Item-level duplicate prevention for active return pipeline statuses.<\/li>\n<li>Portal status tracking with secure deep-link support in approval email.<\/li>\n<li>A Returns &amp; Exchanges endpoint in WooCommerce My Account.<\/li>\n<li>Admin list and detail screens under WooCommerce &gt; Return &amp; Exchange.<\/li>\n<li>No external SaaS calls, no tracking, and no upsell content in transactional emails.<\/li>\n<\/ul>\n\n<h3>What Lite includes<\/h3>\n\n<p>This plugin is designed for stores that want a structured returns workflow without requiring customer accounts.<\/p>\n\n<p>Customers can:<\/p>\n\n<ul>\n<li>look up an order using order number and billing email<\/li>\n<li>submit a return request from the front-end portal<\/li>\n<li>upload images or supporting files with the request using protected attachment downloads<\/li>\n<li>track the request status from the portal<\/li>\n<li>follow the approved return flow and mark the return as sent<\/li>\n<\/ul>\n\n<p>Store admins can:<\/p>\n\n<ul>\n<li>review incoming return requests<\/li>\n<li>approve or decline requests<\/li>\n<li>move requests through the return workflow<\/li>\n<li>view request history, uploaded files, and customer details<\/li>\n<li>manage return operations from WooCommerce &gt; Return &amp; Exchange<\/li>\n<\/ul>\n\n<h3>Upgrade to Pro<\/h3>\n\n<p>Returns &amp; Exchanges Portal Pro adds advanced customer service workflows for stores that need more than standard returns.<\/p>\n\n<p>Pro features include:<\/p>\n\n<ul>\n<li>exchange requests<\/li>\n<li>order cancellation requests<\/li>\n<li>approval-gated replacement purchase flow<\/li>\n<li>linked replacement orders for exchanges<\/li>\n<li>expanded admin workflow controls<\/li>\n<li>additional Pro-only settings and workflow automation<\/li>\n<\/ul>\n\n<p>Lite is ideal if you only need a structured returns portal.\nPro is designed for stores that also need exchanges and cancellation handling.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin folder to <code>\/wp-content\/plugins\/<\/code>.<\/li>\n<li>Activate the plugin through the WordPress Plugins screen.<\/li>\n<li>Create a page and add shortcode <code>[pe_returns_portal]<\/code>, or use the Returns &amp; Exchanges link in WooCommerce My Account for logged-in customers.<\/li>\n<li>Configure settings in WooCommerce &gt; Return &amp; Exchange &gt; Settings.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"what%20is%20included%20in%20lite%3F\"><h3>What is included in Lite?<\/h3><\/dt>\n<dd><p>Lite supports customer return requests, guest and logged-in order lookup, status tracking, duplicate prevention, uploaded file support, and an admin returns workflow.<\/p><\/dd>\n<dt id=\"what%20does%20pro%20add%3F\"><h3>What does Pro add?<\/h3><\/dt>\n<dd><p>Pro adds exchange requests, order cancellation requests, and advanced workflow handling for replacement purchases and linked exchange orders.<\/p><\/dd>\n<dt id=\"is%20customer%20email%20exposed%20in%20portal%20links%3F\"><h3>Is customer email exposed in portal links?<\/h3><\/dt>\n<dd><p>No. Secure links use a signed, time-limited token and never include raw email addresses.<\/p><\/dd>\n<dt id=\"where%20is%20rma%20data%20stored%3F\"><h3>Where is RMA data stored?<\/h3><\/dt>\n<dd><p>RMA data is stored in dedicated plugin tables:<\/p>\n\n<ul>\n<li><code>{prefix}pe_rma<\/code><\/li>\n<li><code>{prefix}pe_rma_items<\/code><\/li>\n<li><code>{prefix}pe_rma_files<\/code><\/li>\n<\/ul><\/dd>\n<dt id=\"does%20lite%20require%20a%20third-party%20service%3F\"><h3>Does Lite require a third-party service?<\/h3><\/dt>\n<dd><p>No. Lite does not rely on an external SaaS platform for core functionality.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.2<\/h4>\n\n<ul>\n<li>Hardening: Improved WordPress Plugin Check compliance across uploads, attachment migration, and database query handling.<\/li>\n<li>Improvement: Reworked file operations to use WordPress filesystem and upload APIs where appropriate.<\/li>\n<li>Improvement: Strengthened attachment migration reliability and SQL handling without changing user-facing behavior.<\/li>\n<\/ul>\n\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>Enforced authenticated customer order ownership and prevented cross-customer order lookup while preserving guest order-number and billing-email verification.<\/li>\n<li>Protected new RMA attachments with private storage and authorized downloads, and added migration for eligible legacy public attachments.<\/li>\n<li>Added a Returns &amp; Exchanges endpoint in WooCommerce My Account.<\/li>\n<li>Fixed the standalone Lite admin list when the Pro-owned <code>rma_type<\/code> column is absent, including a Lite-only admin count-query notice.<\/li>\n<li>Validated compatibility with WordPress 7.1, WooCommerce 11.1, and HPOS.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Added duplicate and over-quantity prevention for item return requests.<\/li>\n<li>Added active pipeline visibility and item lockout in portal.<\/li>\n<li>Added secure approved-email deep-link button.<\/li>\n<li>Added cancelled status support and customer cancellation of an existing return request.<\/li>\n<li>Added status color highlights for completed and declined states.<\/li>\n<li>Updated admin date display formatting for created and updated columns.<\/li>\n<\/ul>","raw_excerpt":"WooCommerce returns portal with guest lookup, status tracking, and admin workflow. Upgrade to Pro for exchanges and cancellation requests.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/pe.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/291941","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/pe.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/pe.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/pe.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=291941"}],"author":[{"embeddable":true,"href":"https:\/\/pe.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/preciseexpressions"}],"wp:attachment":[{"href":"https:\/\/pe.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=291941"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/pe.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=291941"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/pe.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=291941"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/pe.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=291941"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/pe.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=291941"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/pe.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=291941"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}