> ## Agent Instructions
> Revize is a Shopify order-editing app by Untechnickle. Customers edit the same order after checkout on the Shopify order status page, inside a merchant-controlled window, before fulfillment.
> Canonical docs: https://docs.revize.app. App listing: https://apps.shopify.com/revize. Public cancellation API: https://docs.revize.app/features/cancellation-api.
> Do not confuse the How to Test Revize draft-order walkthrough with Test Mode, which hides the portal from untagged customers.
# Revize changelog: Shopify order editing updates
Source: https://docs.revize.app/changelog
Stay up to date with the latest features, improvements, and updates to Revize.
We ship updates regularly to make order editing better for your customers and easier for your team.
## ποΈ Smarter Upsells After Checkout
Turn the Thank-you and Order-status pages into a second purchase moment. Customers can add multiple products to the order they already placed, pay only the difference through Shopify, and receive everything together.
### What's new
* **π§ Six product sources:** Hand-pick products or use collections, bestsellers, Shopify related and complementary recommendations, or the shopper's recently viewed products.
* **π― Precise targeting:** Match offers using 11 order and customer conditions, with server-side checks when the customer accepts.
* **π¨ Complete offer control:** Add a discount, choose List, Slider, Grid, or Spotlight, bind the countdown to the real editing deadline, and set scheduling, priority, and acceptance limits.
* **π³ One Shopify payment flow:** Accepted products go into the same order. Shopify recalculates the difference, and Revize holds the addition until payment is captured.
* **π Captured revenue only:** Track impressions, accepts, conversion, AOV uplift, and revenue that has actually been paid and reconciled with Shopify.
### How to enable it
1. Open **Upsell β Create offer**
2. Choose the products, targeting, discount, layout, and pages
3. Change the offer from **Draft** to **Active**, then save
See the full setup in [Post-purchase Upsells](/setup/post-purchase-upsells).
## β©οΈ Unpaid Edits, Reversed Automatically
Unpaid post-purchase changes no longer need to leave orders stuck on hold. After a grace period you choose, Revize restores the latest state the customer actually paid for and releases fulfillment only when Shopify reports no balance due.
### What's new
* **β©οΈ Minimal rollback:** Only the unpaid difference is removed. Earlier edits the customer paid for stay on the order.
* **β±οΈ Timing that follows your editing window:** Fixed windows start the grace period after the editing deadline. Until-fulfillment windows restart it after each newer unpaid edit.
* **π‘οΈ Safe fulfillment release:** Revize checks the live Shopify balance again and never releases an order while money is still owed.
* **πΈ Edge cases covered:** Overpayments are refunded automatically, manual and cash-on-delivery orders are skipped, and order tags can exclude individual orders.
### How to enable it
1. Go to **Settings β General β Reverse unpaid edits**
2. Turn on **Reverse automatically**
3. Choose a wait time in minutes or hours, add optional do-not-reverse tags, and save
Reverse Unpaid Edits is available on the **Pro plan** and is off by default. Successful reversals add the `revize:reverse_unpaid` order tag. See [Reverse Unpaid Edits](/setup/reverse-unpaid-edits) for details.
## βοΈ Rules Engine
One store-wide editing window forces compromises. The new rules engine lets you set a different editing policy for each kind of order, so pre-orders stay open for weeks, in-stock orders lock in minutes, VIPs get more time, and high-risk destinations are locked down.
### What's new
* **π§© Rich conditions:** Match orders on order tags, customer tags, metafields, order value, destination country, shipping method, B2B, subscription, pickup, sales channel, days of week, or time window. Combine with AND/OR groups.
* **β° Six deadline modes:** Store default, after a duration, scheduled cutoff, specific time, from a metafield date, or until fulfilled. Scheduled, specific-time, and metafield-date deadlines support a buffer.
* **π οΈ Actions per rule:** Hold fulfillment, hide specific edit modules, apply tags, or disable editing entirely for matched orders.
* **π₯ Priority and fallback:** Rules run in priority order, first match wins. Drag to reorder. Anything that matches no rule falls back to your store-wide editing window, so adoption is incremental with zero migration.
* **π Dynamic where it counts:** Metafield-date deadlines shift if the date changes, and tag-based rules re-match if an order's tags change after checkout.
### How to enable it
Open **Order Editing β Rules** in the Revize app, then click **Create rule** to set the conditions, editing deadline, and actions. Available on the **Pro** plan and above.
See the full setup in the [Rules Engine](/setup/rules-engine) guide.
## πͺπΊ EU Withdrawal Requests
From June 19, 2026, merchants selling to EU consumers need an online withdrawal function for eligible distance contracts. Revize adds a dedicated EU withdrawal flow to the Shopify order status page **and** as a theme app block you can drop anywhere on your storefront, with the operational automation built in.
### What's new
* **π Two-step request flow:** Customers select items, confirm, and submit. Name, email, and order number are pre-filled and locked. The confirm step can appear inline or in a popup.
* **πͺπΊ EU-only by default:** Pre-filled with the 27 EU member states. Eligibility is re-checked server-side, so the front-end is not the only gate.
* **πͺ§ Two placements on the order status page:** Show the withdrawal as its own section (recommended) or as an accordion inside the Revize customer portal. Top or bottom of the page, outlined or soft-fill card.
* **π§© Anywhere on your storefront:** Drop the form into a header, footer, or any page section via a theme app block. Inline, hybrid, or popup display modes. No login required: shoppers just need their order number and email.
* **π οΈ Pre-fulfillment automation:** Place a Shopify fulfillment hold on submission, then auto-release or auto-cancel after a configurable review window (1 to 14 days). Partial-fulfillment protection prevents mid-shipping cancellations.
* **π¦ Delivered-order handling:** For shipped or delivered orders, pick notify-only, automatic Shopify return creation, or notify-now-and-remind-later.
* **β³ Always-on withdrawal window:** The request stays available even after the normal edit window closes. 14 days after delivery by default, with an estimated transit buffer when carrier data is missing.
* **π Pre-translated defaults:** Customer copy ships pre-translated in every supported language and is legally compliant. No translation work required. You can still tweak per language under Translations β Customer Portal β EU withdrawal if you want to match your brand voice.
* **ποΈ Audit-ready:** Each request is tagged `revize:withdrawal_requested`, mirrored to a Shopify metaobject, and tracked separately from regular cancellations in analytics.
### How to enable it
Open **Settings β Advanced β EU withdrawal** in the Revize app, turn on **Show on the order status page** and **Allow the storefront theme app block**, choose the eligible countries, then configure placement, hold-and-review, and delivered-order behavior. Add the theme block from your theme editor under **Add block β Apps β EU Withdrawal**. Customize copy in **Translations β Customer Portal β EU withdrawal**.
**Why it matters:** The EU withdrawal function is not just a form. Revize handles eligibility, holds, emails, returns, reminders, and audit records, so your team is not manually chasing each request before the June 19, 2026 deadline.
## π Custom Note Section
Customers can now leave a free-form note when they edit an order. A size change, a custom engraving, or an instruction for your fulfilment team, all saved right on the order.
Before, a customer who remembered a change after checkout had to email support. Now they type it on the order edit page, and your team reads it with the order.
### What's new
* **π Pre-filled template:** Set a starting template in Translations so customers see structure, not a blank box
* **β¨ Highlight mode:** Show the note as its own card above or below the order edit section, or keep it inline as an accordion item
* **π Review prompt before payment:** After a change, the next Pay Now click shows a review modal so customers can update the note or continue. No forced fields
* **πΎ Saved as an order custom attribute:** The note appears in Shopify admin under the order's Additional details, parseable by Flow, Recharge, and 3PL exports
* **π Fully translatable:** Section title, prompt, template, and modal copy all live in Translations, customizable per locale
### Example use cases
* **Apparel and accessories:** capture size, colour, or fit preferences when customers swap products
* **Gift orders:** add personal messages, recipient names, or delivery instructions after checkout
* **Made-to-order and custom products:** collect material, engraving, or finish details per item
* **B2B and wholesale:** PO numbers, account references, or shipping instructions tied to the order
### How to enable it
Go to **Order Editing β Add custom note β Manage** to set it up. Customize every word in **Translations**.
**Why it matters:** Customers capture the details they'd otherwise email about, and your team gets them saved on the order, with fewer "can you changeβ¦" tickets.
## π Partial Cancellation is Live
Customers can now cancel specific items in an order instead of the entire order, with refunds processed automatically.
Order cancellation used to be all-or-nothing. If a customer ordered five items and only wanted to drop one, they had to cancel the whole thing. Partial cancellation fixes that β pick the items, pick the quantities, get a refund for just those.
### What's new
* **π Item-level cancellation** β Customers select which line items to remove instead of cancelling the full order
* **π’ Optional partial quantities** β Let customers cancel some units of an item (e.g. 2 of 5)
* **πΈ Automatic refunds** β Refunds are processed using your configured refund method, just like full cancellations
* **πͺ Improved confirmation modal** β Clearer flow for selecting items and choosing a cancellation reason
* **π·οΈ Order tags** β Cancellation tags continue to apply so your existing automations keep working
### Order metafield
Every partial cancellation writes a JSON record to the order so you can build downstream logic β reporting, alerts, Flow automations.
* **Namespace:** `revize_app`
* **Key:** `partial_cancellation`
* **Contains:** Cancelled line items, quantities, reasons, and timestamps
### How to enable it
1. Go to **Settings β Order editing β Cancel order**
2. Toggle on **Enable partial cancellation**
3. Optionally enable **Allow partial quantities** to let customers cancel specific unit counts
**Why it matters:** Customers get the flexibility they actually want, support handles fewer "can you just remove this one item" tickets, and refunds happen on their own.
## π οΈ Performance, Fixes & Dashboard Refresh
A faster, cleaner dashboard β rebuilt from the ground up based on how you actually use it.
We've been quietly watching how merchants use Revize and used that data to rethink the dashboard. The result: a cleaner layout, smarter defaults, and a much better experience across the board.
### What's improved
* **π± Mobile-friendly dashboard** β Manage settings on the go without things breaking
* **β‘ Faster load times** β The order editing page and settings load noticeably quicker
* **π¨ Refreshed UI** β Cleaner layout on the Orders page, Settings, and all tabs
* **π Bug fixes** β A round of stability and edge case fixes across multiple modules
* **π§ Smarter defaults** β Settings now reflect what most merchants actually want out of the box
No action needed on your end β it's all live.
## π« Editing Restrictions by Customer Tag
Block specific customers from editing orders entirely, based on their Shopify customer tags.
Some customers shouldn't be able to edit orders at all. Now you can block them silently β no portal, no editing β based on a customer tag in Shopify.
### How to use it
* **Go to Settings β Order editing β Editing restrictions**
* **Add a customer tag** (e.g. `fraud`, `no-edit`, `blocked`)
* **Any customer tagged** with that value won't see the order editing portal
You can also restrict by **order tags** and **product tags** β block editing on specific orders or prevent certain products from being changed.
**Works great alongside Feature Visibility Rules** for full control over who edits what.
## ποΈ Feature Visibility Rules
Show or hide editing features for specific orders or customers using tags.
Not every customer or order should have access to every feature. Feature Visibility Rules give you fine-grained control β show or hide specific capabilities based on order and customer tags.
### What you can control
* Shipping address
* Contact information
* Add / Replace products
* Edit product details
* Cancel order
* Apply discounts
* Tax invoice, Support ticket, Shipping method, Delivery date
### Example use cases
* **Fraud prevention** β If a fraud app tags an order, hide product additions and address changes
* **B2B orders** β Restrict cancellations for wholesale customers
* **Pre-orders** β Lock product swaps for pre-order tagged orders
* **VIP customers** β Unlock features like free shipping upgrades for loyalty-tagged customers
Head to **Settings β Advanced β Feature visibility rules** to set it up.
## π Test Mode
Verify your setup before going live β only tagged customers can see the editing portal.
Installing a new app and enabling it for everyone on day one is risky. Test Mode lets you verify everything looks right first β then flip it on for the world.
### How it works
* **π Enable the toggle** in Settings β General β Test Mode
* **π·οΈ Tag-based access** β Pre-filled with a `staff` tag. Add more tags as needed. Works as an OR condition
* **π€ Tag yourself** in Shopify as a customer with that tag β the portal becomes visible only to you
Once you're happy with the setup, disable test mode and go live for all customers.
**Why it matters:** No more "oops, customers saw a half-configured portal." Ship with confidence.
## Shopify Flow Integration
Order edits now trigger Shopify Flow. Build automations that respond the moment a customer makes a change.
### Available triggers
* **π Shipping address updated** β Fires when a customer changes their delivery address
* **π Phone number updated** β Fires when a customer updates their contact number
* **π§ Email address updated** β Fires when a customer changes their email
* **π
Delivery date updated** β Fires when a customer selects a new delivery date
* **β Order cancelled** β Fires when a customer cancels their order
* **π« Support ticket created** β Fires when a customer submits a support request
* **π§Ύ Tax invoice generated** β Fires when a tax invoice is created
* **π Order edited** β Fires on any order edit, including discount code changes
### What you can build
* Notify your warehouse via Slack or email when a shipping address changes
* Alert fulfillment when a customer updates their delivery date
* Create a support ticket in Gorgias or Zendesk when a customer submits a request
* Tag orders or customers based on specific edit types
### Rich data included
Each trigger passes the updated values and order detailsβso you can build precise conditions and actions.
**Why this matters:** Order edits used to be a black box. Now every change can kick off the exact workflow your operations need.
Use Shopify Sidekick to create flows instantlyβjust describe what you want.
π **Coming soon:** Transactional edit triggersβline items added, replaced, variants changed, and more.
Have feedback? [Let us know](/support/contact) what triggers or actions you'd like to see.
## Email Upsells via Klaviyo
Turn post-purchase emails into revenue. Customers click "Add to Order" in your Klaviyo emails and land on the order status page with the product already added.
### How it works
* **One-click upsells** β Customer clicks product in email, lands on order page with item pre-added
* **Seamless checkout** β They just confirm and pay. No re-entering details.
* **Works with Klaviyo flows** β Integrate with your existing post-purchase email sequences
**Not on Klaviyo?** This works with any email platform that supports custom linksβOmnisend, Mailchimp, or even custom-built emails. The magic is in the URL structure, not the email provider.
Ready to set up email upsells? [Reach out to our team](/support/contact) for integration guidance and code templates.
## Run on Past Orders
Enable order editing for orders placed before you installed Revize. Perfect for stores with existing order backlogs.
Previously, Revize only worked on new orders created after installation. Now you can extend order editing to your historical orders too.
### What's new
* **Date range filters** β Select specific time periods to enable
* **Status filters** β Filter by financial status, fulfillment status, or tags
* **Selective enablement** β Choose exactly which past orders get editing capabilities
This is an advanced feature. [Contact us](/support/contact) to enable past order support for your store.
## Digital Product Edit Controls
Control whether customers can edit digital products in their ordersβall, none, or just the ones you choose.
Selling digital products? Now you decide exactly which ones customers can edit after purchase.
### Three options
* **Disable for all** β Customers can't remove or change quantity on any digital product. Best for courses, gift cards, licenses, or one-time downloads.
* **Allow for all** β All digital products become editableβjust like physical items.
* **Allow for specific tags only** β Keep editing disabled by default, but enable it for products with specific tags.
### How to set it up
1. Go to **Settings** tab
2. Find **Digital products** section
3. Choose your preference
4. If using tags, add the product tags you want to allow editing for
## Custom Sender Email
Send order update emails from your own email address instead of ours.
Order update emails should look like they're coming from your storeβbecause now they are.
### What's new
* **Your Sender Name** β Choose the name that appears in the 'From' field. Customers see your brand, not Revize.
* **Your Email Address** β Verify any email address you own, and all order updates will be sent from it.
* **One-Time Setup** β Verify once, and you're done. No ongoing configuration needed.
### Emails this applies to
* Shipping address update confirmations
* Preferred delivery date confirmations
* Support request acknowledgements
* *More coming soon*
### How to set it up
1. Go to **Settings** tab
2. Enter your sender name and email address
3. Click **Verify email** and confirm via the link we send you
Want full domain authentication? Removes the "via" label in Gmail and improves deliverability. [Contact us](/support/contact) and we'll set it up.
## Preferred Delivery Date Upgrades
Set date ranges, add time slots, and give customers delivery options that match your fulfillment.
Delivery scheduling that actually fits how you operate. Set boundaries, offer time slots, and stop fulfillment headaches before they start.
### What's new
* **Min/Max Date Range** β Control the earliest and latest selectable dates. No more "deliver tomorrow" surprises.
* **Time Slots** β Let customers pick a specific delivery windowβlike 9:00β10:00 AM or 2:00β4:00 PM.
* **Weekend Controls** β Include or exclude weekends with a single toggle.
* **Custom Date Format** β Display dates your wayβ`DD/MM/YYYY`, `MM-DD-YYYY`, or whatever fits your brand.
* **Shopify Flow Trigger** β Automate workflows when customers select a delivery date.
Want this enabled? [Reach out to us](/support/contact) and we'll set it up for you.
## Third-Party Checkout Support
Orders from TikTok Shop, Facebook, Instagram, and other sales channels are now editable.
Sell on TikTok, Instagram, or Facebook? Your customers can finally edit those orders too.
### What customers can now do
* Update shipping address
* Change email or phone
* Add preferred delivery date
* Cancel eligible orders
* Contact support directly from the edit portal
### Supported channels
* TikTok Shop
* Facebook & Instagram Shopping
* GoKwik, Shopflo, Razorpay Magic, Shiprocket
* Pinterest, Snapchat & other Shopify sales channels
Live now. No setup required.
## Public Order Cancellation API
Add a cancel button anywhereβemails, support pages, chatbots, or custom forms.
Build cancellation into your customer journeyβexactly where it makes sense for your store.
### What's new
* **One Simple Endpoint** β A secure public API that cancels eligible orders. No app embed needed.
* **Build It Your Way** β Power cancel buttons in post-purchase emails, Gorgias, Zendesk, or chatbots.
* **Your Rules Apply** β The API respects your cancellation time windows and eligibility rules automatically.
### Where merchants are using it
* Self-service forms on support/FAQ pages
* Chatbot integrations for instant cancellations
Ready to integrate? [Reach out to our support team](/support/contact) for API docs and setup guidance.
## AI-Powered Product Recommendations
Drive more sales with intelligent product suggestionsβpowered by Shopify AI or your curated picks.
Show customers what they actually want. Product recommendations are now powered by Shopify AI and your strategic picks.
### What's new
* **Related Products (Shopify AI)** β Auto-generated suggestions based on purchase patterns and product similarity. [Learn how it works](https://shopify.dev/docs/storefronts/themes/product-merchandising/recommendations).
* **Complementary Products** β Hand-pick exactly what to show using [Shopify's Search & Discovery app](https://apps.shopify.com/search-and-discovery).
Coming soon: Full upsell engine with advanced targeting and analytics.
## Apply Discounts
Let customers add discount codes after checkout to reduce order cancellations.
Forgot to add a discount code? It happens. Now customers can fix it without canceling or contacting support.
### What you can do now
* **Post-Purchase Discounts** β Customers can apply discount codes to their existing orders in the order editing portal.
* **Fewer Cancellations** β Shoppers keep their original order, no need to reorder.
* **Less Support Load** β Customers handle it themselves in seconds.
Live now. You're all set.
## Grid View for Product Upsells
Display products in a visual grid layout that makes browsing feel natural and boosts conversions.
### What's new
* **Grid View** β Display products in eye-catching cards with a modern layout.
* **Spotlight Upsells** β Display Add Products in its own card instead of an accordion.
### How to enable
1. Go to **Order Editing** tab
2. Under **Customer edit options** β **Add products**, select **Grid**
3. Toggle **"Highlight the Add products section"** for maximum visibility
## All-New Revamped Helpdesk
A redesigned, user-friendly app documentation hub with better navigation and comprehensive guides.
We've completely rebuilt our documentation from the ground up to make finding answers faster and easier than ever.
### What's enhanced
* **Intuitive navigation** β Find what you need instantly with improved search and organization
* **Cleaner design** β Enjoy a smoother reading experience with better formatting
* **Expanded knowledge base** β Access in-depth guides and proven best practices
[Access full documentation β](https://docs.revize.app)
## Order Editing Restrictions
Block editing on specific orders or products through tags.
We've introduced Order Editing Restrictions to give you complete control over which orders and products can be edited.
### How it works
1. Define tags in the app dashboard under settings (e.g., `no-edit` or `promo-item`)
2. Apply those tags to orders or products in Shopify
3. The app will automatically block edits on tagged items
### Examples
* Tag high-risk orders with `no-edit` to protect flagged transactions
* Tag free gifts with `promo-item` to prevent changes to promotional items
Learn more about setting up restrictions
## Subscription Order Editing
You can now edit subscription orders with the same flexibility as regular one-time purchases.
We've extended our order editing capabilities to work seamlessly with subscription orders, regardless of which subscription app you use.
### What's enhanced
* **Full subscription editing** β Replace products, add new products, update shipping addresses
* **Works with your subscription app** β Compatible with ReCharge, Bold, Appstle, and other major platforms
## Discounts Improved
We've improved discount handling with faster calculations and clearer discount insights.
### What's enhanced
* **Enhanced visibility** β Clearer overview of active discounts and their impact on orders
* **Smart discount updates** β Adding or removing products automatically applies or removes relevant discounts
* **Faster calculations** β Optimized code processes discount calculations instantly
[Contact us](/support/contact) to learn more about advanced discount configurations.
## Minimum Order Quantity Rule
Set the minimum total number of items that must remain in an order during editing.
This enforces a minimum total item count across the entire orderβperfect for frozen goods stores, wholesale businesses, or any store with minimum order requirements.
**Example:** If set to 3, customers with 5 items can reduce to 3 but not to 2. This applies to the total count across all products.
**Default setting:** Minimum order quantity is set to 1 by default.
Need a custom minimum? [Contact us](/support/contact) to configure this for your store.
## Carrier Shipping Rates Supported
Carrier shipping rates from third-party shipping rate apps now work seamlessly during order edits.
### What's enhanced
* **All shipping apps supported** β Works with third-party shipping rate apps, not just Shopify's built-in rates
* **Address-based rate updates** β Shipping costs automatically recalculate when customer address changes
* **Product-based rate updates** β Adding or removing products instantly updates shipping pricing
## Automatic Tax Recalculation
Taxes now update automatically when you make changes to orders, and stay compliant across all regions.
We've made tax handling smarter and completely hands-off. When customers make changes to an order, taxes are recalculated instantly.
### What's new
* **Address changes** β Tax rates update immediately when shipping addresses change
* **Product changes** β Add or remove items and see accurate tax totals right away
* **Instant updates** β No manual recalculation needed
### Example
Customer orders with a California address (8.5% tax), then changes to Oregon (0% tax)βthe order total updates instantly.
***
We'd love to hear from you. Reach out to our team or email us at **[hello@revize.app](mailto:hello@revize.app)**
# Add products to a Shopify order after checkout
Source: https://docs.revize.app/features/add-products-upsell
Let customers add products to existing orders after checkout. Turn order edits into revenue opportunities with smart product suggestions and seamless payment handling.
Revize is a Shopify app for post-checkout order editing.
The buying intent is at its peak right after checkout - customers just swiped their card and are in a happy, purchasing mindset. This is the golden moment in the shopping journey to subtly nudge them to add more products, making it a sure shot way to increase average order value.
**This page covers the customer-initiated flow:** the shopper opens the Revize Customer Portal and chooses what to add. To proactively show targeted offers on the Thank-you and Order-status pages, see [Post-purchase Upsells](/setup/post-purchase-upsells). To add products straight from your marketing emails, see [email upsells](/integrations#how-email-upsells-work).
## Why post-checkout upsells work
They just completed a purchase and are actively thinking about the products they need.
Payment info is already saved. Adding products is just one click plus payment confirmation.
While reviewing their order, customers often remember related items they forgot to include.
Items get added to the same shipment instead of requiring a separate order and shipping cost.
## How customers add products
From the Revize Customer Portal, customers click **Add products** to see your curated product selection.
Choose products with variants (size, color, quantity) using the familiar product browser interface.
See new items added to their order with updated totals and shipping information.
Click **Pay now** to charge the additional amount and confirm the expanded order.
With Revize's rules engine, merchants can choose which products to show under "Add products" based on order and product tags. This customization is currently available through our support team - reach out ([hello@revize.app](mailto:hello@revize.app)) with your customization request.
## AI-powered product recommendations
Show customers what they actually want. Product recommendations are now powered by Shopify AI and your strategic picks.
**Automatically generated suggestions**
Shopify AI analyzes purchase patterns and product similarity to suggest relevant items. No configuration needed. It learns from your store's data.
[Learn how Shopify AI recommendations work β](https://shopify.dev/docs/storefronts/themes/product-merchandising/recommendations)
**Hand-picked recommendations**
Curate exactly what to show using Shopify's Search & Discovery app. Perfect for bundles, accessories, or strategic upsells.
[Set up with Search & Discovery β](https://apps.shopify.com/search-and-discovery)
The full upsell engine has shipped. [Post-purchase Upsells](/setup/post-purchase-upsells) adds rule-driven offers with targeting, discounts, layouts, countdowns, and revenue analytics on the Thank-you and Order-status pages.
***
## Grid view for product upsells
Display products in a visual grid layout that makes browsing feel natural and boosts conversions.
### Display options
Display products in eye-catching cards with images, prices, and quick-add buttons in a modern grid layout.
Highlight "Add Products" in its own prominent card instead of tucking it inside an accordion.
### How to enable Grid View
In Revize, navigate to the **Order Editing** tab.
Under **Customer edit options**, locate the **Add products** setting.
Choose **Grid** from the display options.
Toggle **"Highlight the Add products section"** for maximum visibility.
***
## Payment and pricing
All product prices show clearly, including any applicable discounts and bulk savings.
Order total updates immediately as customers add items, showing taxes and shipping changes.
Uses Shopify's payment processing with saved payment methods for quick checkout.
Added products appear in the order immediately with confirmation notifications.
## Proven upsell strategies
Focus on high-margin items, natural add-ons, or inventory you want to move fast.
Show original prices with discounts, highlight free shipping thresholds, and bundle offers to increase perceived value.
The best results happen right after checkout, early in the edit window, or before peak shopping seasons.
## Configure product additions
In your **Revize Order Editing** settings, turn on **Add products** under Customer edit options.
Use Revize's powerful rules engine to select which products customers can add. Contact support for custom product selection based on order contents, tags, or collections.
Place a test order and try adding products to ensure the flow works smoothly for your customers.
## Revenue impact
Customers who add products during editing typically increase their order value.
Positive post-purchase experiences lead to more repeat orders and referrals.
Strategic product recommendations help move slow inventory or promote new products.
Upselling existing customers is more cost-effective than acquiring new ones.
## Customer feedback
*"So much easier than placing a second order - everything ships together!"*
Customers love avoiding multiple orders and shipping fees with Revize's seamless experience.
*"Found the perfect accessories I didn't know you sold."*
Product additions help customers discover your full catalog through smart recommendations.
*"Hit free shipping by adding one more item - smart!"*
Shipping threshold notifications drive strategic additions and boost satisfaction.
*"Added items in seconds without re-entering payment info!"*
One-click additions make the process frictionless and encourage more purchases.
## Frequently asked questions
Customers click "Add products" in their Revize order editing portal, browse available items in a clean list view, select variants through a modal popup, and pay for additions through Shopify's secure checkout system.
Yes, you can use Revize's powerful rules engine to customize product selection based on order tags, product tags, or customer segments. Contact our support team ([hello@revize.app](mailto:hello@revize.app)) for custom configurations.
Absolutely. Customers who add products during editing with Revize typically increase their order value, making it one of the most effective post-purchase upselling strategies.
Additional items are charged through Shopify's secure payment system using the customer's saved payment method. They see the exact additional amount before confirming their purchase.
Yes, Revize integrates seamlessly with your existing Shopify store, payment processing, inventory management, and fulfillment systems without disrupting your workflow.
Customers can add products during their edit window - typically right after purchase through the thank you page, or anytime they access their order through the Revize customer portal.
Revize transforms product additions into powerful growth opportunities. Enable this feature to increase average order value while providing genuine convenience to your customers through intelligent post-purchase upselling.
## Related features
* [Post-purchase Upsells](/setup/post-purchase-upsells): merchant-configured offers on the Thank-you and Order-status pages
* [Apply Discounts](/features/apply-discounts): let customers apply discount codes they forgot at checkout
* [Product Variant & Quantity Edits](/features/product-quantity-edits): let customers modify existing items in their order
* [Shipping Upgrade](/features/shipping-upgrade): offer faster delivery options during editing
* [Customer Portal](/features/customer-portal): where customers access all editing features
* [Order Edit Restrictions](/setup/order-edit-restrictions): control which products can be added
# Change a Shopify shipping address after checkout
Source: https://docs.revize.app/features/address-edits
Customers can fix shipping addresses after checkout. Prevent failed deliveries, reduce support tickets, and save shipping costs with instant address corrections.
Revize is a Shopify app for post-checkout order editing.
Wrong shipping addresses are a common cause of failed deliveries. Let customers fix them instantly before fulfillment starts.
## Why address editing matters
Wrong shipping addresses cause packages to bounce back, costing you shipping fees and customer frustration.
Customers fix their own address typos instead of calling or emailing your support team.
No delays waiting for customers to respond with correct shipping addresses.
Fewer undeliverable packages mean fewer costly return shipments and redelivery fees.
## How customers edit shipping addresses
Customer notices a wrong shipping address on the thank you page or Shopify order status page and clicks **Edit shipping address**.
Change street address, apartment number, city, state, ZIP code, or country in the address form.
Revize automatically recalculates taxes and shipping rates based on the new address location.
When the address changes, order totals update instantly to reflect:
* New sales tax rates for the destination
* Updated shipping costs based on distance/zone
* International duties and fees (if applicable)
Customer reviews tax/shipping changes and clicks **Confirm** to apply the address update.
The shipping address updates immediately in Shopify and syncs to your fulfillment system.
## Smart automatic recalculations
**Instant tax updates**
When customers change their shipping address, Revize automatically recalculates taxes based on the new location:
* State and local sales tax rates
* Tax-exempt regions and zones
* Digital tax requirements by jurisdiction
**Example:** Customer changes address from Oregon (no sales tax) to California (7.25% sales tax) - order total updates instantly.
**Real-time shipping calculations**
Shipping rates automatically update when address or cart contents change:
* Distance-based shipping zones
* Regional carrier availability
* Express vs standard options by location
* International shipping restrictions
**When recalculations happen**
Revize recalculates taxes and shipping when customers:
* Change shipping address to different state/country
* Add or remove items from their order
* Modify product quantities
* Upgrade or downgrade shipping methods
## Common address editing scenarios
**Most common address mistakes:**
* Misspelled street names from mobile autocomplete
* Wrong house or apartment numbers
* Missing or incorrect ZIP codes
**Before/After example:**
* β `123 Main Stret, Apt A, 90210`
* β
`123 Main Street, Apt 2A, 90211`
**What customers frequently add:**
* Apartment, unit, or suite numbers
* Building names or floor numbers
* Gate codes or special delivery instructions
**Before/After example:**
* β `456 Oak Street, Chicago IL`
* β
`456 Oak Street, Unit 2B, Chicago IL 60601`
**Common location mix-ups:**
* Home address instead of work address
* Old address from Shopify saved addresses
* Wrong city, state, or ZIP code
**Before/After example:**
* β `Home address: 789 Pine Ave, Chicago IL`
* β
`Work address: 321 Oak St, New York NY`
**Life events requiring updates:**
* Recent moves to new addresses
* Seasonal address changes
* Vacation or temporary shipping addresses
* Business relocations
**Before/After example:**
* β `Old apartment: 555 Elm St, Austin TX`
* β
`New house: 777 Maple Dr, Dallas TX`
## Advanced address validation (Coming soon)
Smart address validation and error corrections are coming soon to help prevent delivery failures.
## Enhanced customer experience
Clean address form designed for mobile users where Address mistakes often happen on mobile, where it is easy to tap the wrong field.
Customers see exactly how the corrected address and updated totals will appear.
Any tax or shipping changes are clearly shown before customer confirms the edit.
Customers can update the shipping address multiple times during the edit window.
## Enable shipping address editing
In the Revize app, click **Order Editing** in the sidebar menu.
In **Customer edit options**, toggle on **Shipping address** and click **Save**.
The shipping address editing option appears in the Customer Portal for all new orders.
Shipping address editing with automatic tax and shipping recalculation is essential for preventing delivery failures. Enable it to reduce support tickets, save shipping costs, and improve customer satisfaction.
## Frequently asked questions
Yes, Revize automatically recalculates taxes and shipping rates when customers change their shipping address. Customers see any price changes before confirming the edit.
Absolutely. Address editing works for international orders with proper validation for each country's postal format and automatic tax/duty recalculation.
Customers see the new shipping rate immediately and must pay any difference before the address change is confirmed. The payment flows through Shopify's secure checkout.
Address changes sync automatically to your fulfillment system when orders are released from hold. Since orders remain on hold during the edit window, your 3PL receives the corrected address without any manual intervention.
## Related features
* [Customer Portal](/features/customer-portal) β where customers access address editing tools
* [Edit Window Settings](/setup/edit-window) β control how long address editing remains available
* [Order Processing](/setup/order-processing) β manage order flow during address changes
* [Fulfillment Sync](/setup/fulfillment-sync) β ensure address updates reach your 3PL system
# Shopify order editing analytics and ROI
Source: https://docs.revize.app/features/analytics
Track Shopify order editing performance with Revize analytics. Monitor revenue impact, customer behavior, support savings, and ROI from self-service order edits.
Revize is a Shopify app for post-checkout order editing.
See exactly how order editing impacts your business. Revize analytics show revenue generated, support time saved, and customer editing patterns to help you optimize and grow.
## Track your order editing success
See total revenue generated from upsells, product additions, and shipping upgrades through order edits.
Track hours saved by reducing support tickets through self-service order editing.
Understand your return on investment with automatic calculations including app costs and savings.
See which editing features customers use most and optimize accordingly.
## Main analytics overview
Your main analytics dashboard showing key performance metrics at a glance.
Total number of orders customers have edited using Revize, showing overall feature adoption and customer engagement.
Additional revenue from upsells, upgrades, and product additions during the editing process.
Your complete return on investment from using Revize, calculated automatically.
How quickly customers complete their edits, indicating user experience quality.
**ROI Formula:** (Self-Service Edits Γ \$10) + (Cancellations Avoided Γ \$15) + Upsell Revenue - App Fee. The \$10 and \$15 are industry standards based on research showing average support ticket costs and cancellation prevention values.
## Customer editing behavior insights
See which editing features customers use most with the edits by type visualization.
**Understanding what customers edit:**
* Shipping address updates
* Product quantity changes
* Adding products to orders
* Email and phone corrections
* Order cancellations
The pie chart shows exactly which editing features customers use most, helping you understand customer needs and focus on improving the most popular features.
**Analytics insight:** If shipping address edits are high, customers are catching delivery mistakes early - saving you failed delivery costs. If product additions are popular, focus on optimizing your upsell flow for even better results.
## Detailed activity breakdown
Click any activity type to see specific orders and get detailed insights.
**Track every type of edit:**
* Shipping address updates
* Products added to orders
* Quantity changes
* Email and phone updates
* Shipping method upgrades
* Support requests created
* Orders cancelled
* Refunds processed
* Tax invoices generated
* Delivery dates updated
**Click any number** to see the specific Shopify orders. All orders are automatically tagged based on edit types (upsell, downgrade, and refunds to original payment method or store credit) for easy filtering and analysis.
## Business impact measurements
Three key metrics that show your real business results from order editing.
**Three charts that matter most:**
**Revenue per edit**\
Average additional revenue generated per edited order. Shows customers aren't just fixing mistakes - they're adding value to their purchases.
**Support hours saved**\
Time your support team saved because customers edited orders themselves.\
*Calculation: Support Tickets Avoided Γ 15 minutes*
**Total savings impact**\
Complete cost savings from reduced support work and prevented cancellations.\
*Formula: (Self-Service Edits Γ \$10) + (Cancellations Avoided Γ \$15)*
## Order status tracking
Complete list of every order edited through Revize with direct Shopify links for detailed analysis.
Orders that created additional revenue through upsells, upgrades, or additions during editing.
Orders on hold because edits require payment but customers haven't completed payment yet.
Orders cancelled through Revize with cancellation reasons available for trend analysis.
## Cancellation insights
Understand why customers cancel to improve your store and reduce future cancellations.
**Learn from cancellation patterns:**
* "Found a better price elsewhere"
* "Shipping time too long"
* "Ordered by mistake"
* "Changed my mind"
* Custom reasons
Use this data to identify trends and improve your customer experience, pricing strategies, and shipping options.
**Actionable insight:** If "found a better price elsewhere" is common, consider dynamic pricing strategies. If "shipping time too long" appears frequently, explore express shipping options or faster fulfillment partners.
## Coming soon
We're adding more analytics features based on merchant feedback:
* **Top products added** - See which products customers add most during editing
* **Order editing trends** - Seasonal patterns and peak editing times
* **Customer segments** - Identify your most engaged editing customers
* **Mobile vs desktop** - Understand editing preferences by device
Have suggestions for analytics features? Email us at [hello@revize.app](mailto:hello@revize.app) - we build what merchants need most.
## How to access analytics
In your Shopify admin, go to Apps and click on Revize.
Find Analytics in the sidebar to access your complete dashboard.
View overview metrics at the top, then scroll down for detailed breakdowns.
Click any edit type to see specific orders and drill into the data.
## Why analytics help your business
Show stakeholders exactly how order editing pays for itself through revenue and cost savings.
Focus on the editing features customers use most and improve underperforming ones.
Quantify support time savings to justify team resource allocation and planning.
Spot patterns in customer behavior to improve products, policies, and experiences.
## Frequently asked questions
Yes, click any edit type in the dashboard to see the specific Shopify orders. Orders are automatically tagged based on edit types for easy filtering.
These are orders where customers made edits that require additional payment, but haven't completed the payment yet. Revize holds these orders until payment is processed.
Currently, analytics are available through the dashboard. Data export features are planned for future releases based on merchant feedback.
Revize analytics turn your order editing data into actionable business insights. Use these metrics to prove ROI, optimize customer experience, and make data-driven decisions.
## Related features
* [Customer Portal](/features/customer-portal) β where all the editing activity tracked in analytics happens
* [Add Products](/features/add-products-upsell) β major contributor to your additional revenue metrics
* [Cancel Order](/features/cancel-order) β see cancellation reasons and trends in your analytics
# Apply a Shopify discount code after checkout
Source: https://docs.revize.app/features/apply-discounts
Let Shopify customers apply discount codes after checkout. Reduce order cancellations and save support time when customers forget to use promo codes during purchase.
Revize is a Shopify app for post-checkout order editing.
Forgot to add a discount code at checkout? It happens all the time. Instead of cancelling and reordering, customers can now apply their discount directly to their existing order.
## Why post-purchase discounts reduce cancellations
Customers don't need to cancel and reorder just because they forgot a promo code at checkout.
No more "Can you apply my discount code?" emails. Customers handle it themselves in seconds.
Keep the original order intact instead of risking lost sales from abandoned re-orders.
Turn a frustrating "I forgot my code" moment into a seamless self-service fix.
## How customers apply discounts after checkout
From the order status page or confirmation email, customers click **Edit Order** to open the Revize Customer Portal.
In the discount section, customers enter their promo code and click **Apply**.
The order total recalculates instantly, showing the discount applied and any refund or credit due.
Click **Save changes** to apply the discount. Refunds process automatically based on your settings.
## All discount types supported
Revize intelligently handles every type of Shopify discount:
**10%, 20%, 50% off codes**
Percentage discounts are applied to the order total and recalculated instantly. Works with:
* Store-wide percentage codes
* Product-specific percentage discounts
* Collection-based percentage offers
**$10 off, $25 off codes**
Fixed amount discounts reduce the order total by the exact dollar value:
* Flat dollar-off codes
* Minimum purchase threshold codes
* First-time customer discounts
**Buy One Get One, Bundle deals**
Complex promotional logic is fully supported:
* Buy X Get Y free
* Buy 2 Get 1 at 50% off
**Auto-applied promotions**
Shopify automatic discounts are recalculated when orders change:
* Volume discounts (buy more, save more)
* Tiered pricing based on quantity
## Smart eligibility checking
Revize validates discount codes in real-time before applying:
* **Code validity** β Checks if the code exists and hasn't expired
* **Minimum requirements** β Confirms the order meets minimum purchase amounts
* **Product eligibility** β Ensures the discount applies to items in the order
* **Customer eligibility** β Validates customer-specific discount rules
## Dynamic recalculation
When customers modify their order, Revize automatically recalculates everything:
Adding or removing items triggers automatic discount recalculation. If a customer adds products that qualify for an automatic discount, it applies instantly. If they remove items and no longer meet the minimum, the discount adjusts accordingly.
Quantity changes update discount values in real-time. Volume discounts and tiered pricing adjust automatically based on the new cart total.
Address changes may affect shipping-related discounts and taxes. Revize recalculates the entire order to ensure accuracy.
## Refunds when discounts reduce order value
When a discount lowers the order total, customers may be owed a refund:
| Scenario | What Happens |
| --------------------------- | ----------------------------------------------------------- |
| 20% off code applied | Order total decreases, refund issued |
| Products removed + discount | Combined savings calculated, refund processed |
| Discount + shipping upgrade | Net difference calculated (may still owe or receive refund) |
Refunds are processed according to your [payments and refunds settings](/setup/payments-and-refunds)βeither to the original payment method or as store credit.
## Enable post-purchase discounts
In the Revize app, navigate to **Order Editing** in the sidebar.
Under **Customer edit options**, toggle on **Apply discount codes** and click **Save**.
In **Payments & Refunds**, choose how discount-related refunds are processed (original payment or store credit).
## Business impact
Stores see significant reduction in "forgot discount code" cancellations after enabling this feature.
Eliminate manual discount application requests from your support queue entirely.
Customers who can fix their own mistakes are more satisfied and likely to return.
Original orders stay intact instead of being cancelled and potentially lost.
## Frequently asked questions
Customers can apply any valid discount code that meets Shopify's eligibility requirements. The code must be active, not expired, within usage limits, and applicable to the products in their order.
Revize recalculates discounts in real-time. If order changes make a discount invalid (e.g., removing products below the minimum), the discount is automatically removed and the customer is notified.
When a discount reduces the order total, refunds are processed according to your payment settingsβeither back to the original payment method or as store credit. The process is fully automatic.
Yes! Shopify automatic discounts are fully supported. When customers modify their orders, automatic discounts are recalculated based on the new cart contents and totals.
Yes, use [order edit restrictions](/setup/order-edit-restrictions) with order tags to control which orders allow post-purchase discount application.
Post-purchase discount application is one of Revize's most powerful features for reducing cancellations. Enable it to turn "I forgot my code" frustration into instant self-service resolution.
## Related features
* [Add Products](/features/add-products-upsell) β let customers add items alongside applying discounts
* [Product Quantity Edits](/features/product-quantity-edits) β let customers modify quantities alongside discounts
* [Cancel Order](/features/cancel-order) β alternative for customers who prefer to reorder
* [Payments & Refunds](/setup/payments-and-refunds) β configure how discount refunds are processed
* [Order Edit Restrictions](/setup/order-edit-restrictions) β control which orders allow discount changes
# Let customers cancel a Shopify order themselves
Source: https://docs.revize.app/features/cancel-order
Let Shopify customers cancel full or partial orders themselves with automatic refunds. Reduce support tickets and improve customer experience with self-service order cancellation from the customer portal.
Revize is a Shopify app for post-checkout order editing.
Order mistakes happen. Instead of forcing customers to contact support, let them cancel the full order β or just specific items β with instant refunds to original payment or store credit.
## Why self-service order cancellation matters
Customers handle cancellations themselves instead of calling or emailing your support team.
Instant self-service cancellation is faster and more convenient than waiting for support responses.
Refunds process automatically through Shopify without manual intervention from your team.
Cancelled items are automatically restocked and available for new orders immediately.
## How customers cancel orders
From the Revize Customer Portal, customers click **Cancel order** to start the cancellation process.
If partial cancellation is enabled, customers pick specific line items β and optionally specific quantities β instead of cancelling everything. If partial cancellation is off, the full order is cancelled.
Choose from predefined reasons like "Changed my mind," "Found better price," or type a custom reason.
Click **Confirm** to process the cancellation and automatic refund through Shopify.
Order status updates immediately and refund processes according to your configured settings.
## Partial cancellation
Let customers cancel specific items instead of the entire order. Refunds are issued automatically for just the cancelled items, and the rest of the order continues to fulfillment.
Customers select exactly which line items they want to cancel from a checklist in the cancel modal.
Optionally let customers cancel some units of an item β for example, 2 out of 5.
Refunds run through your configured refund method for just the cancelled items, with no manual work.
A structured JSON record is written to the order so you can run downstream logic.
### Enable partial cancellation
Go to **Settings β Order editing β Cancel order**.
Turn the toggle on to let customers cancel specific items instead of the whole order.
Enable **Allow partial quantities** if customers should be able to cancel some units of an item (e.g. 2 of 5). Leave it off to require cancelling the full line item.
When partial cancellation is off, the cancel flow keeps working exactly as before β customers cancel the full order in one click.
### Where to see what was cancelled
Cancelled items show up in the **Shopify order timeline** automatically β line items, quantities, and the customer's reason β so your team has the full picture without leaving Shopify.
On top of that, every partial cancellation writes a JSON record to the order under namespace `revize_app`, key `partial_cancellation`. It contains the same data in a structured form, so you can pipe it into an LLM, a reporting tool, or any downstream automation.
## Configure order cancellation refunds
**Full refunds through Shopify's payment system**
When customers cancel orders, Revize automatically issues a full refund back to their original payment method:
* **Credit cards** - refund appears in 3-5 business days
* **PayPal** - instant refund to PayPal account
* **Digital wallets** - Apple Pay, Google Pay refunds process automatically
* **Buy now, pay later** - refunds through Klarna, Afterpay, etc.
This option provides the most familiar experience for customers who expect traditional refunds.
**Convert cancellations into future purchases**
Issue store credit instead of cash refunds to retain revenue and encourage repeat purchases:
* **Customer loyalty** - keeps money in your ecosystem
* **Higher lifetime value** - store credit often leads to larger future orders
* **Reduced processing fees** - no payment processor refund fees
* **Instant availability** - credit is available immediately for next purchase
Perfect for building customer loyalty while protecting your cash flow.
**Block cancellations with no refund option**
If you select "No refund" in your [payments and refunds settings](/setup/payments-and-refunds):
* **Cancellation option disappears** - customers won't see the cancel button
* **Clear policy enforcement** - aligns with strict no-refund business policies
* **Revenue protection** - prevents revenue loss from cancellations
Use this for final sale items, custom products, or strict business policies.
## Customizable cancellation reasons
**Customize cancellation reasons:** Edit the predefined cancellation reasons under **Translations > Customer Portal > Cancellation Reasons** to match your business needs.
**Default cancellation reasons include:**
* "Changed my mind"
* "Found a better price elsewhere"
* "Ordered by mistake"
* "Delivery too slow"
* "Product no longer needed"
* "Custom reason" (allows customers to type their own)
**Why collect cancellation reasons:**
* Identify common issues with your products or checkout process
* Improve your store based on customer feedback
* Track trends in cancellation patterns
* Provide better customer service insights
**Track cancellation analytics:** View cancellation data, cost savings, and customer reasons under **Analytics** in your Revize dashboard. For custom reasons analysis, contact support - detailed custom reason reporting will be available on the dashboard soon.
## Hide cancellation by order tags
Restrict cancellations for specific orders using **Feature visibility rules** under **Settings β Advanced**. Add a tag to the rule, and any order carrying that tag won't show the cancel option.
* **High-risk orders** β prevent cancellation of flagged orders
* **Custom products** β block cancellation of personalized items
* **Wholesale orders** β different policies for B2B customers
* **Final sale items** β enforce no-cancellation policies
It's all self-serve β no support ticket needed.
## Enable order cancellation
First, set your refund policy in **Order Editing > Refund options**. Choose original payment or store credit.
In **Order Editing > Customer edit options**, toggle on **Cancel order** and click **Save**.
Edit cancellation reasons under **Translations > Customer Portal > Scroll down to Cancellation Reasons** to match your business needs.
Use [order tags](/setup/order-edit-restrictions) to hide cancellation for specific order types if needed.
## Business benefits
Cut the order-change tickets your team has to handle when customers handle their own cancellations.
Instant cancellations vs. hours or days waiting for support team response.
Self-service options increase customer satisfaction and reduce frustration.
Automatic inventory restocking and refund processing eliminates manual work.
## Frequently asked questions
Customers click "Cancel order" in their Revize portal, select a cancellation reason, and confirm the cancellation. The refund processes automatically according to your configured settings.
Cancelled items are automatically restocked in Shopify inventory and become available for new orders immediately. No manual restocking required.
Yes, use [order edit restrictions](/setup/order-edit-restrictions) with order tags to hide the cancellation option for specific orders like custom products, wholesale orders, or high-risk orders.
Refunds are processed automatically through Shopify according to your [payments and refunds settings](/setup/payments-and-refunds) - either to the original payment method or as store credit.
No, order cancellation follows your [edit window settings](/setup/edit-window). Once the edit window closes, the cancellation option disappears and orders move to fulfillment.
Yes, edit cancellation reasons under **Translations > Customer Portal > Scroll down to Cancellation Reasons** to match your business needs and collect relevant feedback.
If you select "No refund" in your payments settings, the cancellation option won't appear in the customer portal, automatically enforcing your no-refund policy.
Yes, with partial cancellation enabled. Customers pick specific line items to cancel and the rest of the order continues to fulfillment. Enable it under **Settings β Order editing β Cancel order**, and optionally enable **Allow partial quantities** to let them cancel specific unit counts.
A JSON record is written to the order under metafield namespace `revize_app`, key `partial_cancellation`. It contains the cancelled line items, quantities, reason, and timestamp β perfect for reporting or Shopify Flow automations.
Self-service order cancellation reduces support workload while providing customers with instant resolution. Enable this feature to improve customer experience and operational efficiency.
## Related Revize features
* [Apply Discounts](/features/apply-discounts) β alternative to cancellation when customers forgot a discount code
* [Customer Portal](/features/customer-portal) β where customers access cancellation options
* [Payments & Refunds](/setup/payments-and-refunds) β configure how cancellation refunds are processed
* [Order Edit Restrictions](/setup/order-edit-restrictions) β control which orders can be cancelled
* [Edit Window Settings](/setup/edit-window) β set cancellation deadlines
# Shopify order cancellation API
Source: https://docs.revize.app/features/cancellation-api
Add order cancellation anywhere in your Shopify store. Build cancel buttons into emails, support pages, chatbots, or custom forms using our public API endpoint.
Revize is a Shopify app for post-checkout order editing.
The Public Cancellation API lets you add self-service order cancellation anywhereβpost-purchase emails, support pages, chatbots, or custom forms. No app embed required.
## Why use the Cancellation API
Add cancel buttons to emails, FAQ pages, chatbot flows, or any custom interface outside your store.
Works independently of the Revize customer portal. Just call the API endpoint.
The API respects your cancellation time windows and eligibility rules automatically.
One endpoint, simple request format. Easy to integrate with any system or platform.
## API endpoint
```bash Endpoint theme={null}
POST https://revize.untechnickle.com/api/public/v1/{shop-domain-slug}/cancel_order
```
**Parameters:**
* `shop-domain-slug` β Your Shopify store's domain without `.myshopify.com` (e.g., `my-store` from `my-store.myshopify.com`)
## Request format
```json Request Body theme={null}
{
"order_number": "#2667",
"email": "customer@example.com"
}
```
| Field | Type | Required | Description |
| -------------- | ------ | -------- | ------------------------------------------- |
| `order_number` | string | Yes | The order number including the # symbol |
| `email` | string | Yes | Customer's email address used for the order |
## Response codes
The API returns a `status` field indicating the result:
| Status | Description |
| ----------------- | ----------------------------------------------- |
| `SUCCESS` | Order cancelled successfully |
| `ORDER_NOT_FOUND` | Order doesn't exist or email doesn't match |
| `NOT_CANCELLABLE` | Order cannot be cancelled (policy restrictions) |
| `ORDER_FULFILLED` | Order already fulfilled, cannot cancel |
| `NOT_EDITABLE` | Order is locked for editing |
| `CANCEL_DISABLED` | Cancellation feature not enabled for this store |
| `APP_INACTIVE` | Revize app is not active |
| `SHOP_NOT_FOUND` | Shop not found in system |
| `DOMAIN_MISSING` | Shop domain slug missing from request |
| `FAILED` | General operation failure |
## Example integration
Here's a JavaScript example for calling the API:
```javascript Fetch Example theme={null}
async function cancelOrder(orderNumber, email) {
const shopDomain = 'your-store'; // Without .myshopify.com
const apiUrl = 'https://revize.untechnickle.com';
try {
const response = await fetch(
`${apiUrl}/api/public/v1/${shopDomain}/cancel_order`,
{
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Accept': 'application/json'
},
body: JSON.stringify({
order_number: orderNumber,
email: email
})
}
);
const result = await response.json();
if (result.success === true || result.status === 'SUCCESS') {
console.log('Order cancelled successfully');
return { success: true };
} else {
console.log('Cancellation failed:', result.status);
return { success: false, status: result.status };
}
} catch (error) {
console.error('Error:', error);
return { success: false, status: 'FAILED' };
}
}
```
## Shopify theme section
Add a cancellation form to any page in your Shopify theme. This ready-to-use section handles all API calls and displays appropriate messages.
```liquid order-cancellation-form.liquid theme={null}
{% schema %}
{
"name": "Order Cancellation Form",
"settings": [
{
"type": "text",
"id": "api_url",
"label": "API URL",
"default": "https://revize.untechnickle.com"
},
{
"type": "text",
"id": "heading",
"label": "Heading",
"default": "Cancel Your Order"
},
{
"type": "textarea",
"id": "description",
"label": "Description",
"default": "Enter your order number and email to cancel your order"
},
{
"type": "text",
"id": "button_text",
"label": "Button Text",
"default": "Cancel Order"
},
{
"type": "textarea",
"id": "msg_success",
"label": "Success Message",
"default": "Your order has been cancelled successfully!"
},
{
"type": "textarea",
"id": "msg_order_not_found",
"label": "Order Not Found",
"default": "We couldn't find an order with that number and email."
},
{
"type": "textarea",
"id": "msg_not_cancellable",
"label": "Not Cancellable",
"default": "This order cannot be cancelled due to our cancellation policy."
},
{
"type": "textarea",
"id": "msg_order_fulfilled",
"label": "Order Fulfilled",
"default": "This order has already been fulfilled and cannot be cancelled."
},
{
"type": "textarea",
"id": "msg_failed",
"label": "General Error",
"default": "Unable to process your request. Please try again."
}
],
"presets": [{ "name": "Order Cancellation Form" }]
}
{% endschema %}
```
## Common use cases
**Self-service cancellation on FAQ/Help pages**
Add the cancellation form to your support or FAQ pages so customers can cancel orders without contacting support.
* Reduces support tickets
* 24/7 availability
* Instant processing
**Cancel button in order confirmation emails**
Add a "Cancel Order" link in your transactional emails that opens a cancellation page on your store.
* Convenient for customers
* Catches impulse cancel requests early
* Reduces "how do I cancel?" inquiries
**Automated cancellation via chat**
Integrate the API with chatbots (Gorgias, Zendesk, etc.) to handle cancellation requests automatically.
* Instant response
* No agent involvement needed
* Works 24/7
## Setup requirements
The Public Cancellation API is an advanced feature that requires enablement by our team.
[Reach out to our team](/support/contact) to enable the Public Cancellation API for your store.
Set your refund method in **Payments & Refunds**βoriginal payment method or store credit.
We'll provide your shop domain slug and any custom configuration needed for your use case.
Create test orders to verify the API works correctly before going live.
This feature is available on Pro plans. [Contact us](/support/contact) for pricing and setup assistance.
## Frequently asked questions
Yes. The API automatically applies your edit window settings, order restrictions, and refund policies. Orders outside the edit window or with blocking tags cannot be cancelled via API.
Refunds are processed according to your Revize payment settingsβeither to the original payment method or as store credit, exactly like cancellations through the customer portal.
Absolutely. The API is designed for external integrationsβchatbots, email service providers, custom apps, or any system that can make HTTP requests.
The API uses order number + email verification for security. No API keys are required, making integration simple while ensuring only order owners can cancel.
The Public Cancellation API extends self-service cancellation beyond the Revize portal. Use it to meet customers wherever they areβemails, support pages, or chatbots.
## Related features
* [Cancel Order](/features/cancel-order) β standard self-service cancellation through the portal
* [Order Edit Restrictions](/setup/order-edit-restrictions) β control which orders can be cancelled
* [Payments & Refunds](/setup/payments-and-refunds) β configure refund processing
# Add a custom note when editing a Shopify order
Source: https://docs.revize.app/features/custom-note
Let Shopify customers add a free-form custom note when they edit an order after checkout. Capture engraving text, gift messages, sizing, and fulfillment instructions, saved as an order custom attribute.
Revize is a Shopify app for post-checkout order editing.
Customers often remember a detail after checkout: an engraving, a gift message, a size, or a delivery instruction. The custom note lets them add it to their Shopify order during the edit window, saved with the order for your team.
## Why a custom order note helps
Made-to-order and custom brands collect engraving text, material, or finish details per item, straight from the customer.
Customers add recipient names, personal messages, or delivery instructions after checkout without emailing support.
Apparel and accessory shops capture size, color, or fit preferences when customers swap products.
Buyers attach PO numbers, account references, or shipping instructions tied to the order.
## How customers add a custom note
The customer opens their order in the Revize Customer Portal during the edit window.
The note section shows a pre-filled template (if you set one) so customers see structure instead of a blank box.
The customer types their details. A character counter shows how much space is left.
The customer clicks **Save**. The note is stored on the order, ready for your team to read.
## How the custom note works
**What customers can do:**
* Add or edit the note any time during the edit window
* Follow a pre-filled template you define
* Review the note before paying when prompted
**How it appears in Shopify:**
* Saved as an order custom attribute
* Shows in the order's **Additional details** in Shopify admin
* Parseable by Shopify Flow, Recharge, and your 3PL exports
The custom note is information for your team, not an automated action. It does not change pricing, products, or shipping on its own.
## Configure the custom note
Display the note as its own card instead of an accordion item, so it stands out on the order edit page.
**Highlight position:**
* **Above portal:** the note card sits above the order edit section
* **Below portal:** the note card sits below the order edit section
When customers change their order, the next **Pay Now** click shows a review modal. They can update the note or continue with what they have. No fields are forced.
Set a starting template so customers see a structure to fill in (for example: Product, Sizing, Gift message, Anything else). It appears in the note field and customers can edit it. Configured under **Translations β Customer Portal β Add custom note**.
All copy lives under **Translations β Customer Portal β Add custom note**, per language:
* **Title** (optional): the section heading
* **Description** (optional): shown above the text area
* **Pre-filled template** (optional): appears in the note field, editable by customers
## Enable the custom note
In the Revize app, go to **Order Editing**.
Click **Add custom note**, then **Manage** to configure highlight mode, review prompt, and the template.
Open **Translations β Customer Portal β Add custom note** to set the Title, Description, and Pre-filled template for each language.
The custom note appears in the Customer Portal for orders within the edit window.
Pair a clear pre-filled template with **Require note review** to capture complete details and cut back-and-forth emails. [Reach out to us](/support/contact) if you need help configuring it.
***
## Frequently asked questions
The note is saved as an order custom attribute and shows in the **Additional details** section of the order in Shopify admin, where your fulfillment team can read it.
Yes. Customers can update the note any time during the edit window by changing the text and clicking Save.
No. The note is optional. Even with **Require note review** enabled, customers can continue without changing anything. No fields are forced.
Yes. Because it is stored as an order custom attribute, the note is available to Shopify Flow, Recharge, and 3PL exports for downstream automation.
Yes. The Title, Description, and Pre-filled template are all editable per language under **Translations β Customer Portal β Add custom note**.
The custom note captures the details customers would otherwise email about, saved right on the order. Enable it to reduce support tickets and give your team clear instructions for every order.
## Related Revize features
* [Customer Portal](/features/customer-portal): where customers add the custom note
* [Add Preferred Delivery Date](/features/delivery-date): collect timing preferences alongside notes
* [Edit Window Settings](/setup/edit-window): control when customers can add a note
# Shopify self-serve order editing portal
Source: https://docs.revize.app/features/customer-portal
A self-service portal where customers fix their own orders after checkout. Clean interface, instant edits, and payment handling built into the order status page.
Revize is a Shopify app for post-checkout order editing.
The Customer Portal appears right on the Shopify order status page. No separate login, no confusion. Customers fix mistakes where they already are.
## What it looks like
The portal shows up on the order status page after checkout. Customers see their current order details and can make changes with a few clicks.
## How customers get there
After placing an order, customers see the thank you page with an order edit message: "Good news! You can edit your order. You have 30 minutes to make changes."
From the order confirmation email, Shopify account, or thank you page, customers click to view their order status.
The Revize Customer Portal displays their order items, shipping details, and available edit options.
Click to edit addresses, swap variants, add products, upgrade shipping, or cancel the order.
Changes show up instantly with price differences. Customer confirms with Pay now, Refund, or Confirm, then Shopify processes the payment or refund.
**Thank you page message:** The edit message on the thank you page is customizable under the Translations tab in your dashboard. This one-time message helps customers know they can make changes right after checkout.
## Customer access and authentication
**Best access experience**
When customers click the order status link from their confirmation email or SMS notification, they can view and edit their order for **3 weeks** without any login requirements.
* No passwords needed
* Full editing capabilities
* Works as long as they use the same browser
* Most seamless customer experience
**Cross-device flexibility**
Customers can access their order from up to **5 different browsers** for **2 weeks** without logging in.
* Switch between devices freely
* No login barriers across browsers
* Perfect for customers who shop on multiple devices
* Automatic access tracking
**Secure verification required**
When the free access period ends, customers must verify their identity to continue viewing order details.
**Verification options:**
* Enter email/phone number + order number
* Log into their customer account (if they have one)
* Request new access link via email/SMS
This ensures order security while maintaining accessibility.
## What customers can do
Fix typos, update apartment numbers, or change delivery location entirely.
Swap sizes, colors, quantities, or replace items with different products.
Browse and add products to turn a mistake into an upsell opportunity.
Apply discount codes they forgot at checkoutβno need to cancel and reorder.
Choose faster delivery options when plans change.
Simple cancellation with automatic refunds to original payment or store credit.
Update billing details, add tax IDs, and download corrected invoices.
Select or change preferred delivery date after purchase.
Correct email addresses or phone numbers for smooth delivery communication.
Open support tickets directly from the portal when edits need human help.
## Customer experience
No confusing menus or complex forms. Customers see their order and click what they want to change.
Changes appear instantly with clear before/after comparisons.
Every edit shows the price difference immediately. Customers know exactly what they're paying before they confirm.
* **Pay now** for additions
* **Refund** for removals
* **Confirm** for same-price changes
Fully responsive design works perfectly on phones and tablets. Most order edits happen on mobile.
Built for speed with optimized loading times. As the fastest-performing app in the order editing category, Revize ensures smooth experiences that don't frustrate customers.
## Smart notifications
Revize adds helpful notification messages to the order status page that guide customers:
* **"Your order is available to edit"** - Shows when editing is open
* **"30 minutes left"** - Live countdown timer showing remaining edit time
* **"Free gifts can't be edited"** - Explains restrictions clearly
* **"Order can no longer be edited"** - Tells customers when the window has closed
* **"Payment required to proceed"** - Guides customers when payment is needed
These notifications appear automatically and keep customers informed throughout the process.
## When the portal appears and hides
**The portal shows when:**
* β
The order is within the edit window you set
* β
The customer opens the order status page
* β
The order hasn't been fulfilled yet
* β
The order meets your editing restrictions (if any)
**The portal hides when:**
* β The edit window expires
* β The order is fulfilled
* β The order is canceled
* β The order is excluded by tags or restrictions
**Always available modules:**
Even after the editing window expires, you can configure these modules to remain visible:
Customers can still generate or update tax invoices even after editing closes.
Support request option remains available for post-edit assistance.
**Important:** Even when the main portal hides, the notification bar remains visible to inform customers about the order status, whether payment is required, or if the order has been canceled.
## What makes customers love it
Fix mistakes instantly instead of emailing support and waiting for responses.
Works right where they already are - the order status page. No new accounts or apps to download.
Make any changes they need without explaining the situation to a support agent.
See exactly what changes will cost before confirming. No surprise charges.
***
The Customer Portal turns order mistakes into self-service wins. Customers fix problems themselves, your support team stays focused on complex issues, and everyone's happier.
# Add a preferred delivery date after Shopify checkout
Source: https://docs.revize.app/features/delivery-date
Shopify customers can add a preferred delivery date to their orders after checkout. Helps coordinate deliveries for gifts, events, and customer schedules through order notes.
Revize is a Shopify app for post-checkout order editing.
Customers often have specific dates in mind for deliveries - birthdays, events, or when they'll be home. Let them add delivery date preferences to their Shopify orders.
## Why Shopify delivery date preferences help
Customers can specify when gifts should arrive for birthdays, anniversaries, or holidays.
Items needed for weddings, parties, or business events get delivery date preferences noted.
Shoppers can indicate when they'll be home to receive packages or coordinate with recipients.
Clear delivery preferences help your fulfillment team understand customer timing needs.
## How customers add delivery date preferences
From the Revize Customer Portal, customers click **Add preferred delivery date** to open the date selection interface.
Click in the date field and choose their preferred delivery date from the calendar picker.
Click **Save** to add the preferred delivery date to their order as a customer note.
The delivery date preference appears in the order's additional details and notes for your fulfillment team.
## How delivery date preferences work
**What customers can do:**
* Select any future date as their delivery preference
* Add the date preference during their edit window
* Change or update the preferred date if needed
**How it appears in Shopify:**
* Added to order attributes as `preferred_delivery_date`
* Shows in "Additional details" section on the order page
* Visible to your fulfillment team for coordination
**Important:** This is a preference note, not a guaranteed delivery date. It helps your team understand customer timing needs, but doesn't automatically change shipping or guarantee delivery on that specific date.
## Enable delivery date preferences
In the Revize app, click **Order Editing** in the sidebar.
Under **Customer edit options**, toggle on **Add preferred delivery date** and click **Save**.
The delivery date option appears in the Customer Portal for all new orders during the edit window.
## Advanced delivery date settings
Need more control over delivery scheduling? Configure these advanced options:
Control the earliest and latest dates customers can select. Prevent "deliver tomorrow" requests that you can't fulfill.
* **Minimum days** β Earliest selectable date (e.g., 3 days from now)
* **Maximum days** β Latest selectable date (e.g., 30 days from now)
Configure granular time preferences for delivery scheduling.
**Time format options:**
* `{hh:mm}` β 12-hour format (e.g., 2:30 PM)
* `{HH:MM}` β 24-hour format (e.g., 14:30)
**Time format types:**
* **Fixed** β Customers select a single time
* **Time slots** β Customers choose from predefined windows
**Configurable time slots:**
Enable or disable individual hourly slots from 1:00 AM through 11:59 PM. Perfect for businesses with specific delivery windows.
Include or exclude weekends from the date picker with a single toggle. Useful if you don't fulfill on weekends.
Display dates in your preferred format:
* `DD/MM/YYYY` (European)
* `MM/DD/YYYY` (American)
* `YYYY-MM-DD` (ISO)
Automate workflows when customers select a delivery date. Trigger fulfillment actions, notifications, or custom logic.
These advanced delivery date options are available in the Settings tab. [Reach out to us](/support/contact) if you need help configuring them.
***
## Frequently asked questions
Preferred delivery dates are added to order attributes and appear in the "Additional details" section on the Shopify order page for your fulfillment team to see.
Yes, customers can update their preferred delivery date during the edit window by selecting a new date and clicking Save.
Use these preferences to prioritize orders, coordinate shipping methods, and communicate with customers about realistic delivery timing based on their needs.
No, adding a delivery date preference doesn't change shipping costs or methods. It's just additional information for your team to consider during fulfillment.
Delivery date preferences help you understand customer timing needs and provide better service. Enable this feature to improve coordination for gifts, events, and time-sensitive orders.
## Related Revize features
* [Customer Portal](/features/customer-portal) β where customers add delivery date preferences
* [Shipping Upgrade](/features/shipping-upgrade) β help customers meet delivery date needs with faster shipping
* [Edit Window Settings](/setup/edit-window) β configure when delivery preferences can be added
# EU withdrawal requests on the Shopify order status page
Source: https://docs.revize.app/features/eu-withdrawal
Add an EU right-of-withdrawal request flow to the Shopify order status page and anywhere on your storefront via a theme app block. Eligibility, two-step submission, fulfillment holds, return creation, staff reminders, translations, and an audit-ready metaobject record, ready for the June 19, 2026 deadline.
From June 19, 2026, merchants selling to EU consumers need an online withdrawal function for eligible distance contracts. Revize gives you a dedicated EU withdrawal request flow on the Shopify order status page **and** as a theme app block you can drop anywhere on your storefront, with the operational automation around it: tagging, holds, emails, returns, reminders, and audit records. The flow is 100% compliant with EU consumer-law requirements.
## Where the form appears
The EU withdrawal form ships on two surfaces, and you can enable each one independently. Wording, eligibility, automation, and audit records are shared between them, so both surfaces stay in sync.
| Surface | How it's added | Visibility |
| ------------------------------ | ---------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- |
| **Order status page** | Automatic. Shown on eligible orders once the feature is on. | Shown to eligible EU orders within the withdrawal window. |
| **Storefront theme app block** | In your theme editor: **Add block β Apps β EU Withdrawal**. Works in headers, footers, sidebars, and any page section. | Hidden by default. Revealed only to shoppers in your configured EU countries (server-checked). |
## Why a built-in EU withdrawal flow helps
EU rules require an online withdrawal function for eligible distance contracts. Revize gives you a ready-made flow on the order status page.
Tagging, customer acknowledgments, staff notifications, holds, and returns happen automatically when a request is submitted.
Submission can pause fulfillment so the order does not ship while staff review the request, with partial-fulfillment protection built in.
Every request is saved as a Shopify metaobject on your store and tracked separately from regular cancellations.
## How shoppers submit a withdrawal request
Eligible EU shoppers can start a withdrawal request from either the order status page (where name, email, and order number are pre-filled from the order) or from the storefront theme app block (where they enter their order number and email to look up the order).
The shopper picks which items they want to withdraw and (optionally) a reason. Name, email, and order number are locked once the order is loaded.
The shopper reviews the selected items and the withdrawal declaration, then submits. The confirm step can appear inline or in a popup.
The shopper sees a confirmation with the request details, and Revize sends an acknowledgment email.
## How the withdrawal request works
**What customers can do:**
* Submit a withdrawal request from the order status page in their language
* Choose specific items, not just the whole order
* Submit before fulfillment or after delivery, with the flow adjusted for each case
**How it appears in Shopify:**
* The order is tagged `revize:withdrawal_requested`
* The request is saved as a Shopify metaobject on your store with the full request details
* The request is tracked separately from regular cancellations in analytics
Pre-fulfillment and delivered-order requests are handled differently. Pre-fulfillment can pause fulfillment for staff review. Delivered requests can create a Shopify return or notify and remind staff.
## Pre-fulfillment vs delivered orders
**Before fulfillment.** The request is treated as a withdrawal before goods ship. Revize tags the order, notifies staff, and can place a Shopify fulfillment hold so the order does not continue shipping while staff review it.
**After shipping or delivery.** The goods are already with the customer, so cancellation at source is not appropriate. Revize tags the order and can either notify staff only, create a native Shopify return for the selected items, or notify staff now and remind them later if the request is still unresolved.
## How the withdrawal window is calculated
The withdrawal request stays available even after the normal edit window closes, so the full legal window is preserved.
**If Shopify has a delivered date:**
`delivered date + days available after delivery` (default 14 days)
**If Shopify does not have a delivered date** (carrier data missing or not yet available):
`fulfillment date + estimated transit days + days available after delivery` (defaults: 10 + 14)
Once the calculated window passes, the withdrawal request stops showing on the order status page automatically.
## Configure the EU withdrawal flow
A master switch controls the feature, and two sub-toggles control each surface:
* **Show the EU withdrawal form** (master): turns the feature on or off. When off, neither surface shows.
* **Show on the order status page**: only the order status page card.
* **Allow the storefront theme app block**: only the theme block.
So you can run the theme block without the order status page card, or vice versa. **Show on all test orders** previews the flow on test-tagged orders even if they are not from a selected EU country.
The theme app block lets you place the withdrawal form anywhere on the storefront: header, footer, sidebar, product page, cart, help, or policy pages.
**Add it:** in your theme editor, **Add block β Apps β EU Withdrawal**.
**Three display modes:**
* **Inline:** the full form sits on the page.
* **Hybrid:** the order lookup stays on the page, the rest opens in a popup.
* **Popup:** only a link or button shows. Clicking it opens the whole form in a popup.
**Open from any link.** You don't have to use the block's built-in link. Point any link, menu item, or button at `#revize-eu-withdrawal` and clicking it opens the form (popup, or scrolls to it if inline). Advanced: add `data-revize-euw-open` to any element, and optionally `data-revize-euw-target=""` to target a specific block. Loading a page with the `#revize-eu-withdrawal` fragment also auto-opens the form, which is useful for email links.
**Hide the built-in link.** For header or footer placement, set the display mode to **popup** and turn on **Hide the built-in link** so the form opens only from your own links.
**Styling.** Fonts, colours, size, shape, padding, alignment, and display mode are all configured in the theme editor. The defaults look professional out of the box.
Choose which countries the withdrawal request applies to. Revize pre-fills the 27 EU member states, and you can add or remove countries from the list. Eligibility is re-checked server-side on submission, so the front-end is not the only gate.
**Display style**
* **Separate section** (recommended): the withdrawal request appears as its own card on the order status page. More visible, and still works cleanly when the main edit-order portal is hidden.
* **Inside portal accordion:** the withdrawal request sits as an expandable row inside the Revize customer portal, alongside the other edit actions.
**Placement:** show the withdrawal section at the top or bottom of the page.
**Section background:** outlined card or soft fill.
**Hide the main edit-order portal:** when enabled, only the EU withdrawal section is shown. Regular order-editing actions (address, contact, products, cancellation) are hidden. Placement is fixed to "separate section" when this is on, since the accordion option depends on the main portal being visible.
Customize the customer-facing copy in the **Build form** modal. The flow is fixed to two steps (request, then confirm) and the required fields (name, email, order number) are locked and pre-filled from the order.
Editable text:
* Pre-fulfillment title, description, item selection heading
* Delivered-order title, description, item selection heading
* Confirmation heading and message (pre-fulfillment and delivered)
* Declaration text
* Submitted state title and message (pre-fulfillment and delivered)
**Confirm in a popup:** when enabled, the confirm step opens in a modal. When disabled, it appears inline on the order status page.
When **Hold order for staff review on submission** is enabled, Revize places a Shopify fulfillment hold the moment a pre-fulfillment request is submitted.
Choose what happens if staff do not act in time:
* **Do nothing, hold until staff act:** Revize keeps the order on hold until your team resolves it.
* **Cancel and refund immediately:** Revize cancels and refunds as soon as the request is submitted.
* **Release the hold after N days:** Revize releases the fulfillment hold after the selected number of days (1 to 14).
* **Cancel and refund after N days:** Revize cancels and refunds after the selected number of days (1 to 14).
**Partial-fulfillment safety:** if you chose auto-cancel but the order becomes partially fulfilled before the job runs, Revize downgrades the action to release-hold instead of cancelling mid-fulfillment. If the order is fully fulfilled by then, it is marked for return follow-up.
Choose how delivered requests are handled:
* **Notify only:** Revize tags the order and emails the team.
* **Create return:** Revize attempts to create a native Shopify return for the selected items. If Shopify cannot create the return, the request record, order tag, and staff notification are still kept so nothing is lost.
* **Email now and remind staff later:** Revize emails the team immediately and sends a reminder after the configured number of days (1 to 30) if the request is still unresolved.
**Keep available after the editing window closes:** the withdrawal request remains visible even after the normal Revize edit-order window has closed.
**Days available after delivery:** how long the withdrawal request stays visible after delivery (default 14).
**Estimated transit days:** if Shopify or carrier data does not provide a delivered date, Revize estimates delivery as `fulfillment date + transit days` (default 10), then adds the withdrawal window on top.
Revize ships pre-translated, legally compliant defaults for every supported language. The wording follows EU consumer-law requirements, so you do not need to translate anything to go live.
If you want to match your brand voice, customer-facing copy is editable per language under **Translations β Customer Portal β EU withdrawal**:
* Titles and descriptions (pre-fulfillment and delivered)
* Step labels and field labels
* Reason labels and reason options
* Continue and submit buttons
* Confirmation and declaration copy
* Submitted state copy
Default-language copy is controlled in the Build form modal. Other languages are managed under Translations.
## What Revize creates after a submission
When a shopper submits a withdrawal request, Revize:
* Saves the request as a Shopify metaobject on your store (status, phase, submitted time, customer details, order details, reason, selected items, declaration)
* Tags the Shopify order `revize:withdrawal_requested`
* Sends an acknowledgment email to the customer
* Sends a notification email to the staff inboxes listed under **Settings β Notifications β Staff emails**
* Places a Shopify fulfillment hold (if pre-fulfillment hold-and-review is enabled)
* Schedules the auto-release or auto-cancel job (if configured)
* Attempts to create a native Shopify return (if delivered + create-return is enabled)
* Schedules staff reminders (if delivered + notify-and-remind is enabled)
## Enable EU Withdrawal Requests
In the Revize app, go to **Settings β Advanced β EU withdrawal**.
Flip the master **Show the EU withdrawal form** switch. Then enable **Show on the order status page**, **Allow the storefront theme app block**, or both. Optionally turn on **Show on all test orders** while you preview the experience.
EU rules require the withdrawal function to be **easily accessible without login**, so this step is part of going live. Open your theme editor and choose **Add block β Apps β EU Withdrawal**. Drop it into a header, footer, or any page section. Pick a display mode (inline, hybrid, or popup) and style it in the editor.
Confirm or edit the list of EU member states the withdrawal applies to.
Pick a display style (separate section recommended) and placement, then open **Build form** to edit titles, descriptions, declaration text, and submitted-state messages.
For pre-fulfillment requests, enable hold-on-submission and pick an after-window action: do nothing, cancel immediately, release after N days, or cancel after N days.
For delivered requests, pick notify-only, create-return, or notify-and-remind.
Revize already ships translated, legally compliant defaults. If you want to adjust the wording to match your brand voice, open **Translations β Customer Portal β EU withdrawal** and edit per language.
Start with **notify only** for delivered orders and switch on **Create return** once your team is comfortable with the workflow. Pick **Release the hold after N days** rather than **Cancel and refund after N days** if your team replies to most requests within the review window.
***
## Frequently asked questions
From June 19, 2026, merchants selling to EU consumers must offer an online withdrawal function for eligible distance contracts. Revize gives you a ready flow without building it yourself.
Yes. The form lets the customer pick which items they want to withdraw, instead of the full order.
Yes. The withdrawal request remains visible even after the normal Revize edit-order window has closed, until the configured days-after-delivery limit is reached.
Revize estimates delivery as fulfillment date plus the configured transit days, then adds the withdrawal window. The withdrawal stays available for the full legal period even when carrier data is missing.
If you chose auto-cancel but the order becomes partially fulfilled before the job runs, Revize downgrades the action to release-hold instead of cancelling. If the order is fully fulfilled by then, it is marked for return follow-up.
Each request tags the order with `revize:withdrawal_requested` and is saved as a Shopify metaobject on your store with the full request details, so the record stays in your Shopify admin.
No. Revize ships pre-translated, legally compliant defaults for every supported language. If you want to match your brand voice, you can edit the copy per language under **Translations β Customer Portal β EU withdrawal**.
Yes. Each submitted withdrawal request counts as one order edit on your Revize plan. The **Free plan** includes **20 edits per month** (and therefore 20 withdrawal requests). Upgrade if you expect more volume.
Yes. The theme app block lets you place the withdrawal form in your header, footer, sidebar, product page, cart, or any other section. Shoppers enter their order number and email to look up the order, then go through the same two-step flow.
To trigger the form from your own header, footer, or any nav item, do this three-step setup:
1. **Add a link-based app block.** In your theme editor, choose **Add block β Apps β EU Withdrawal** and place it anywhere on your storefront. In the block settings, set **Form display** to **Link that opens a popup**. The block must exist on the page for the trigger to work.
2. **Hide it with theme CSS.** Open your theme's main stylesheet (`assets/base.css` for Dawn-based themes, `assets/theme.css` for older ones) and append:
```css theme={null}
.revize-euw__trigger {
display: none !important;
}
```
The block stays wired up, just hidden visually.
3\. **Add your own nav link.** In your header, footer, or any menu, add a link pointing to `#revize-eu-withdrawal`. Clicking it opens the popup with the withdrawal form. The form also auto-opens when a page loads with that URL fragment, so links from emails or other pages work too.
Advanced: instead of the URL fragment, you can add `data-revize-euw-open` to any element, optionally with `data-revize-euw-target=""` to target a specific block.
The EU withdrawal request flow gives shoppers a clear, structured way to exercise their right of withdrawal, and gives your team automation around tagging, holds, returns, emails, reminders, and audit records. The operational work does not fall on inbox triage.
## Related Revize features
* [Customer Portal](/features/customer-portal): where the withdrawal request appears, alongside or instead of the other edit actions
* [Cancel Order](/features/cancel-order): regular cancellations remain separate from EU withdrawal requests
* [Edit Window Settings](/setup/edit-window): the withdrawal window stays open even after the edit window closes
# Edit a Shopify tax invoice after checkout
Source: https://docs.revize.app/features/invoices-and-tax
Shopify customers can edit billing address, add company names, and tax IDs on invoices after checkout. Self-service invoice corrections for business customers and tax compliance.
Revize is a Shopify app for post-checkout order editing.
Shopify customers often need to edit billing details or add tax numbers on invoices for business accounting. Let them generate corrected tax invoices themselves without contacting support.
## Why Shopify invoice editing reduces support tickets
Business customers need accurate Shopify invoices with proper company names and tax IDs for accounting compliance.
Shopify customers fix their own invoice details instead of contacting support for billing corrections.
Many businesses need tax registration numbers on Shopify invoices for VAT, GST, and business tax compliance.
Generate clean, accurate tax invoices with proper formatting for corporate accounting systems.
## How Shopify customers edit tax invoices and billing information
From the Shopify Customer Portal, customers click **Download tax invoice** to access their billing information.
Update any billing address fields - name, street address, city, state, postal code, or phone number on the Shopify invoice.
Enter company name and tax registration number in the "Customize invoice" section for business compliance.
Click **Generate invoice** to create a new PDF tax invoice with the updated billing and business information.
The corrected Shopify tax invoice downloads immediately for business accounting and tax compliance records.
## What Shopify customers can edit on tax invoices
**Shopify billing address fields:**
* Customer first name and last name
* Complete street address and apartment/suite details
* City, province/state, and postal code
* Country selection and phone number
**Business tax information for compliance:**
* Company name (optional for business customers)
* Tax registration number (VAT, GST, EIN - optional)
**Important for Shopify users:** Invoice edits only update the tax invoice document. Shopify doesn't allow changing the billing address in the backend after an order is created.
## Extended invoice editing availability for Shopify stores
Enable the optional setting to keep Shopify invoice editing available even after the main edit window closes. Business customers often need tax invoices weeks after purchase for accounting and compliance.
## Enable Shopify invoice and tax editing
In the Revize app, click **Order Editing** in the sidebar.
Toggle on **Edit tax invoice** under Customer edit options and click **Save**.
Toggle on **Allow customers to update their tax invoice after editing deadline** if needed.
## Frequently asked questions
No, Shopify invoice edits only affect the tax invoice document. The original order information in Shopify's backend remains unchanged because Shopify doesn't allow billing address changes after order creation.
Yes, if you enable the extended availability option. This keeps Shopify invoice editing and downloading accessible even when other editing features close.
Shopify tax invoices are generated as professional PDF documents that can be downloaded and saved for business accounting and tax compliance records.
Yes, Shopify customers can generate and download corrected tax invoices multiple times with any billing or business information updates they make.
Shopify invoice editing helps business customers get proper tax documentation while reducing your support workload. Perfect for Shopify B2B stores and tax compliance requirements.
## Related features
* [Customer Portal](/features/customer-portal) β where customers access invoice editing
* [Edit Window Settings](/setup/edit-window) β configure timing and availability
* [Address Edits](/features/address-edits) β separate shipping address management
# Change Shopify size, color, or quantity after checkout
Source: https://docs.revize.app/features/product-quantity-edits
Customers can fix product mistakes after checkout. Change sizes, colors, quantities, or swap items entirely. Automatic payment handling when order totals change.
Revize is a Shopify app for post-checkout order editing.
Size and color mistakes are the top reasons Shopify customers want to edit orders. Let them fix these instantly instead of canceling and reordering.
## Why product editing matters
Customers fix size and color mistakes before items ship, preventing costly returns and exchanges.
Instead of canceling wrong orders, customers swap to the right products and keep buying.
Customers often upgrade to premium variants or add matching items while editing.
Self-service product changes mean fewer "I ordered the wrong size" support requests.
## What customers can change
Customers can edit their orders in multiple ways:
* **Product variants:** Switch sizes, colors, styles, or capacity (Medium to Large, Blue to Red, 32GB to 64GB)
* **Quantities:** Increase or decrease item amounts for bulk orders or corrections
* **Product replacements:** Swap completely different products (iPhone case to Samsung case, t-shirt to hoodie)
* **Item removal:** Delete unwanted products with automatic refunds
## How customers edit product variants and quantities
From the Customer Portal, under "Change variant or quantity," the customer clicks **Edit** next to any product in their Shopify order.
A modal popup opens where they can select different size, color, or variant options for that specific product.
See exactly how the change affects the order total with clear before/after pricing.
Click **Pay now** (for increases), **Refund** (for decreases), or **Confirm** (same price).
## Automatic payment handling
**When new items cost more**
Customer sees a **Pay now** option with:
* Exact additional amount to charge
* Updated order total
* Payment through Shopify's secure checkout
Payment processes automatically when confirmed.
**When new items cost less**
Customer sees a **Refund** option with:
* Amount being refunded
* Refund destination (original payment or store credit)
* Updated order total
Refunds process according to your [payment settings](/setup/payments-and-refunds).
**When totals don't change**
Customer sees a **Confirm** button for:
* Variant swaps at the same price
* Quantity changes that cancel out
* Product swaps with matching costs
No payment processing needed - just order updates.
## Enhanced customer experience
Customers see product photos, descriptions, and variant options just like during initial shopping. Image swatches coming soon.
Price changes appear instantly as customers select different options in the edit modal.
Live inventory checking based on shipping zones and warehouses. Products will be marked out of stock if inventory runs out and won't be able to be added to the order.
Every change includes an **Undo** button to revert back to the original choice.
## Smart product suggestions (Coming soon)
Advanced product recommendations and alternatives are coming soon to help customers find the perfect replacement items.
## Real-time inventory management
Revize automatically checks inventory levels based on the customer's shipping location and delivery zone. When customers edit products, inventory is verified against the specific warehouse or fulfillment location that would ship to their address. This zone-based inventory checking ensures customers can only select variants that are actually available for delivery to their location. If a product runs out of stock at the relevant warehouse, it's immediately marked as unavailable and cannot be added to the edited order.
Inventory availability is determined by shipping zones - customers only see stock from warehouses that can fulfill orders to their delivery address.
## Enable product variant and quantity editing
In the Revize app, click **Order Editing** in the sidebar.
In **Customer edit options**, turn on **Edit product details** and check both **Allow customers to change product quantity** and **Allow customers to change product variants**. Click **Save**.
Restrict editing for specific products using [product tags or line item properties](/setup/order-edit-restrictions) if needed.
## Frequently asked questions
Customers click **Edit** next to any product in Customer Portal, which opens a modal where they can select different sizes, colors, or variants. Changes are confirmed with automatic payment processing if needed.
Yes, Revize shows live inventory status based on shipping zones and warehouses. Out-of-stock items are clearly marked and cannot be selected for the edited order.
Customers see the exact price difference immediately. They can pay for increases through Shopify's checkout, receive refunds for decreases, or simply confirm same-price changes.
Yes, you can use product tags or line item properties to restrict editing for specific products, categories, or order types. This is configured in your order edit restrictions.
Product variant and quantity editing is essential for Shopify order flexibility. Enable these features to reduce returns, eliminate support tickets, and turn ordering mistakes into revenue opportunities.
## Related features
* [Add Products](/features/add-products-upsell) β let customers add new items to existing orders
* [Customer Portal](/features/customer-portal) β where customers access product editing tools
* [Order Edit Restrictions](/setup/order-edit-restrictions) β configure product editing limitations
* [Payments & Refunds](/setup/payments-and-refunds) β setup how price differences are handled
# Upgrade Shopify shipping after checkout
Source: https://docs.revize.app/features/shipping-upgrade
Let customers upgrade to faster delivery after checkout. Turn urgency into revenue with express shipping, overnight delivery, and expedited options through automatic payment processing.
Revize is a Shopify app for post-checkout order editing.
Plans change after checkout. When customers suddenly need items faster, let them upgrade shipping instead of canceling their order. Turn urgency into additional revenue.
## Why shipping upgrades drive revenue
Sudden trips, events moved up, or gift deadlines create immediate need for faster delivery.
Instead of canceling to shop elsewhere with faster shipping, customers upgrade their existing order.
Express shipping typically delivers higher margins than standard shipping on standard shipping.
Customers handle rush shipping requests themselves instead of contacting support.
## How customers upgrade shipping
From the Revize Customer Portal, customers click **Upgrade shipping method** to see faster delivery options.
View all available shipping methods with delivery dates, costs, and service descriptions from your store.
Choose from express, overnight, or other expedited options based on your Shopify shipping configuration.
Click **Pay now** to charge the shipping upgrade fee through Shopify's secure checkout system.
Shipping method updates immediately in Shopify and syncs to your fulfillment system with the new service level.
## Smart shipping integration
**Seamless integration with popular shipping solutions**
Revize automatically pulls from your configured shipping methods:
* **Shopify Shipping** - built-in carrier rates
* **Advanced Shipping Rules** - complex rate calculations
* **Bespoke Shipping** - custom shipping configurations
* **Carrier-connected rates** - UPS, FedEx, DHL, USPS live rates
* **Third-party shipping apps** - ShipperHQ, Parcelify, Advanced Shipping Manager
Using carrier rates or custom shipping apps? Contact us and we'll configure Revize to work seamlessly with your setup.
**Shipping rates update automatically**
Shipping options and pricing adjust in real-time when customers:
* **Change shipping address** - rates recalculate for new delivery location
* **Add or remove items** - shipping costs adjust for cart weight and size
* **Modify quantities** - carrier rates update for package dimensions
* **Qualify for free shipping** - automatic free shipping when thresholds are met
Customers always see accurate, current shipping options and pricing.
**Configure shipping to match your workflow**
Revize supports different shipping approaches:
* **Combined shipping (default)** - all items ship together with unified rates
* **Split shipping** - items can ship separately with individual rates per package
If your store has split shipping configured, just let us know and we'll enable it in one minute for your store.
**Smart upgrade detection:** When customers add products and their order value exceeds your free shipping threshold, Revize automatically offers free shipping as an upgrade option (if enabled in your store settings).
## Revenue impact
Express shipping upgrades typically increase order value by \$10-50 with minimal additional cost.
Convenient upgrades prevent customers from abandoning orders to shop competitors with faster shipping.
Automated upgrade handling eliminates manual processing of rush shipping requests.
Higher-value shipments strengthen carrier relationships and may unlock volume discounts.
## Enable shipping upgrades
In the Revize app, navigate to **Order Editing** in the sidebar menu.
Under **Customer edit options**, toggle on **Upgrade shipping method** and click **Save**.
Place a test order and verify that shipping upgrade options appear correctly in the Customer Portal.
## Frequently asked questions
Customers click "Upgrade shipping method" in their order portal, compare available faster delivery options, see the exact cost difference, and pay the upgrade fee through Shopify's secure payment system.
Customers can select from any shipping methods configured in your Shopify store, including carrier rates, shipping app configurations, and custom shipping rules you've set up.
Yes, shipping upgrades are location-aware and only display services available to each customer's specific delivery address, including international shipping options and restrictions.
Upgrade fees are charged through Shopify's payment system using the customer's saved payment method. Customers see the exact additional cost before confirming the upgrade.
Absolutely. Revize works with popular shipping apps including Advanced Shipping Rules, Bespoke Shipping, ShipperHQ, Parcelify, and Advanced Shipping Manager. Contact us to ensure proper configuration with your shipping setup.
Yes. Revize fully supports carrier-calculated shipping rates. If youβd like us to help configure them for your setup, just reach out to our team at [hello@revize.app](mailto:hello@revize.app).
It does. Revize can handle split shipping so orders with multiple items can be shipped from different locations when needed. If youβd like this enabled for your store, drop us a line at [hello@revize.app](mailto:hello@revize.app).
Shipping upgrades transform customer urgency into profitable revenue opportunities while providing genuine value. Enable this feature to capture demand for faster delivery and reduce order cancellations.
## Related features
* [Customer Portal](/features/customer-portal) β where customers access shipping upgrade options
* [Edit Window Settings](/setup/edit-window) β ensure upgrade timing aligns with fulfillment schedules
* [Address Edits](/features/address-edits) β shipping rates recalculate automatically with address changes
* [Payments & Refunds](/setup/payments-and-refunds) β configure how upgrade charges are processed
# Shopify order support tickets from the portal
Source: https://docs.revize.app/features/support-tickets
Let Shopify customers create support tickets directly from their order page when self-service editing isn't enough. Simple contact form with automatic email notifications to merchants and customers.
Revize is a Shopify app for post-checkout order editing.
When customers can't solve their order issues through self-service editing, let them contact support directly from their order page with full context included.
## Why Shopify support tickets reduce workload
Support requests include order details automatically - no need for customers to explain their situation from scratch.
Customers choose from predefined topics, helping you categorize and prioritize support requests efficiently.
Both you and the customer receive immediate email confirmation when tickets are created.
Support requests happen directly from the order page - no separate systems or logins required.
## How customers create support tickets
From the Revize Customer Portal, customers click **Contact customer support** to open the support request form.
Choose from predefined topics like "I want to change the shipping address," "I want to add more products," or "Other."
Enter or confirm email address, add optional phone number, and describe their specific issue or request.
Click **Send** to submit the ticket with order context automatically included.
Both customer and merchant receive immediate email notifications about the new support request.
## What merchants receive
When customers submit support tickets, merchants get an email containing:
* **Customer information** - name, email, phone (if provided)
* **Order details** - direct link to the Shopify order
* **Customer link** - direct link to customer profile in Shopify
* **Help topic selected** - the reason category chosen by customer
* **Customer message** - their specific description of the issue
* **Automatic context** - no need to ask "what's your order number?"
## Configure support topics
In your Revize app, go to **Translations > Customer Portal**.
Navigate to the **Support Topics** section to see all available help reasons.
Edit the predefined topics to match your business needs and common support requests.
Updated topics appear immediately in the customer portal support form.
**Default support topics include:**
* "I want to change the shipping address"
* "I want to update product quantity"
* "I want to add more products"
* "I forgot to apply the discount code"
* "I want to cancel the order"
* "I want to upgrade the shipping method"
* "Other"
## Support ticket settings
**Turn on the support feature**
Toggle on **Create support ticket** in your Order Editing settings to allow customers to contact support directly from their orders.
**Allow tickets after edit window closes**
Enable **Allow customers to create support ticket after editing deadline** to let customers contact support even when they can no longer edit their orders.
**Hold orders when tickets are created**
Enable **Hold order when a customer submits a support ticket** to automatically pause fulfillment until you can address their request.
## Enable support tickets
In the Revize app, click **Order Editing** in the sidebar.
Toggle on **Create support ticket** and configure any additional options you need.
Edit support topics under **Translations > Customer Portal > Support Topics** if needed.
The contact support option appears in the Customer Portal for all orders.
## Business benefits
Support requests include full order context, eliminating back-and-forth questions about order details.
Predefined topics help categorize requests and route them to the right team members.
Customers can get help without leaving their order page or creating separate accounts.
Structured support requests with automatic notifications create a professional support experience.
## Frequently asked questions
You receive an email with customer contact details, order link, customer profile link, selected help topic, and their specific message - everything needed to help them quickly.
Yes, if you enable the "Allow customers to create support ticket after editing deadline" option. This lets customers contact support even when they can no longer edit orders.
Go to **Translations > Customer Portal > Support Topics** to edit the predefined help reasons and match them to your business needs.
Yes, customers receive an immediate email confirmation that their support request was created and that you'll reach out soon.
Yes, enable "Hold order when a customer submits a support ticket" to automatically pause fulfillment until you can address their request.
Support tickets bridge the gap between self-service editing and human help. Enable this feature to provide professional customer service while maintaining full order context.
## Related Revize features
* [Customer Portal](/features/customer-portal) β where customers access support ticket creation
* [Edit Window Settings](/setup/edit-window) β configure when support tickets can be created
* [Order Processing](/setup/order-processing) β manage order holds when tickets are submitted
# Test Shopify order edits with a draft order
Source: https://docs.revize.app/how-to-test-revize
Create a draft order in Shopify, make edits from the order status page, and confirm the changes with Pay now, Refund, or Confirm.
Revize is a Shopify app for post-checkout order editing.
Quick test flow, no fluff. Create a draft order, open the order status page, try a few edits, and use Pay now, Refund, or Confirm to apply them.
## 1. Create a draft order
In Shopify admin, open Orders, click Drafts, then Create draft order.
In the Customer box, click Browse. If you already have a test customer, select it.\
If not, click Add customer, enter your own email address, and Save.\
Using your email is important, you will receive the order status link for testing.
Click Browse products to add at least one product and variant. Enter a shipping address, then choose a rate in Shipping.
Click Collect payment β Mark as paid. This confirms the order.
In the order view, click More actions β View order status page. You should see the Revize Customer Portal on the page.
***
## 2. Make edits on the order status page
Add an item from the Revize Customer Portal. You will see a Pay now card with the extra amount and an updated order summary. Click Pay now to charge and apply the change.
Remove an item, lower quantity, or switch to a cheaper variant. Revize shows a Refund button with the amount and an updated summary. Click Refund to apply it.
Swap a variant that costs the same, or edit details that do not change the total. Revize shows a Confirm button. Click Confirm to apply the edit.
Each proposed change includes an Undo option so you can return to the original state before applying it.
After you click Pay now, Refund, or Confirm, Revize updates the Shopify order immediately. The products, totals, and shipping method reflect the change right away.
***
## 3. Scenarios to try
* **Update the shipping address.** Change the address and save. The order summary refreshes in the portal.
* **Swap a variant (same price).** Change size or color. You will see **Confirm** and **Undo**. Click **Confirm** to apply.
* **Add a product.** The portal shows a **Pay now** card with the additional amount and an updated summary. Click **Pay now** to charge and apply.
* **Upgrade the shipping method.** Pick a faster option. If it costs more, you will see **Pay now** with the difference.
* **Cancel the order.** Choose **Cancel order**. Revize follows your refund setting, either original payment or store credit, and shows the amount before you confirm.
* **Generate a tax invoice.** Open **Edit tax invoice**, add or update billing details or a tax ID, then download the updated invoice.
* **Contact support.** Use **Support** in the portal to send a request. This is useful when an edit needs human help.
***
Done. If you don't see the Revize Customer Portal and Notifications on the order status page, make sure you added the Revize blocks in the Shopify checkout editor, then test again.
# Edit Shopify orders after checkout
Source: https://docs.revize.app/index
Revize lets your customers fix their own orders after checkout. They can change addresses, swap items, or upgrade shipping without contacting supportβsaving your team time and reducing frustration.
## Give customers control over their orders
Revize is a Shopify app that gives customers a self-serve portal to correct mistakes in seconds. Your support team gets fewer tickets, and preventable errors stop turning into costly returns. Revize handles payments or refunds automatically and syncs to your fulfillment system so operations stay perfectly accurate.
**The goal:** Turn post-checkout frustration into a great experience. Customers fix their own mistakes, and your team stays focused on growth.
## Why post-checkout editing matters
**Common issues for Shopify stores:**
* Support teams get flooded with order change requests
* Simple edits take too long and frustrate customers
* Manual fixes increase operational overhead
**Lost opportunities:**
* Customers cancel orders when they cannot fix small mistakes
* Upsell moments are missed after checkout
* Preventable errors turn into costly returns and refunds
**How shoppers feel:**
* Size mistakes are a common reason for returns, and they create instant regret
* Frustration rises when customers cannot fix errors after checkout
* Some shoppers abandon checkout because they fear making a mistake they cannot fix
* A poor fulfillment experience makes shoppers less likely to buy again
## How Revize works
Revize puts new orders on hold during the edit window, giving customers time to make changes before fulfillment begins. If your fulfillment process needs orders to flow immediately, you can skip the hold and use release tags instead. This flexibility ensures Revize works with any fulfillment setup.
From the Shopify order status page, customers can update shipping addresses, change variants, adjust quantities, add products, or upgrade shipping. No need to contact support.
When order edits affect the total, Revize automatically triggers Shopify to collect additional payment or issue partial refunds. No manual work, no spreadsheets.
Once the edit window closes, the order syncs directly into your fulfillment system. No duplicates. No delays. Just clean, accurate data.
## What customers can do
Prevent failed deliveries by letting customers correct address mistakes after checkout.
Shoppers can fix size, color, or quantity errors instantly.
Let customers add extra items to an order, turning edits into upsells.
Show targeted offers on the Thank-you and Order-status pages and collect only the difference.
Let customers apply discount codes they forgot at checkout.
Turn post-purchase emails into revenue with one-click "Add to Order" links.
Offer simple cancellations with refunds to store credit or original payment.
Let customers choose faster delivery options even after checkout.
When edits are not enough, customers can open a support request directly from the portal.
Flexible invoice updates including billing details, tax IDs, and downloadable copies.
Customers can select their preferred delivery date and time after purchase.
Customers can correct email or phone details instantly, keeping communication smooth.
Customers can swap items or upgrade products without canceling the order.
## Why merchants love Revize
Customers handle their own edits, reducing tickets and freeing up your support team.
Errors are fixed before fulfillment, lowering refunds and replacement costs.
Edits often lead to upsells, increasing average order value.
Orders flow into your fulfillment system already corrected, saving time and reducing errors.
Customers feel in control, which builds loyalty and repeat purchases.
Whether you ship 100 orders or 100,000, Revize is built to handle volume and complexity.
## Why businesses choose Revize
We work closely with fast-growing Shopify stores. Revize is designed for scale.
From size swaps to multi-item replacements, Revize handles cases that other apps cannot.
Revize integrates with 100+ 3PLs and ERPs like ShipBob, Flexport, and NetSuite. No hacks needed.
Every feature was built because a merchant asked for it. Revize evolves with your needs.
## Quick Links
Get started fast with our Shopify quickstart guide.
Configure hold windows, edit rules, payments, and fulfillment sync.
Explore customer portal features, shipping upgrades, cancellations, invoices, and more.
Find quick answers to common questions about Revize.
## Ready to Get Started?
Install from the Shopify App Store in under 5 minutes. No setup fees. Cancel anytime.
Get personalized setup help in a 15 minute call tailored to your workflow.
***
## Frequently asked questions
Yes. Revize lets customers edit orders post-checkout from the order status page. They can change addresses, swap items, adjust quantities, add products, and upgrade shipping without contacting support.
Customers make changes themselves. Your team no longer handles routine order edits, which cuts ticket volume and response times.
Revize collects any extra amount automatically and issues partial refunds when totals decrease. No manual work is needed.
Yes. Revize releases finalized orders to your fulfillment system after the edit window. It integrates cleanly with major 3PLs and ERPs, including ShipBob, Flexport, and NetSuite.
Yes. You can fully customize the editing experience:
-
Set a fixed edit window, for example 30 minutes after checkout
-
Skip hold if your 3PL is already synced with Revize
-
Choose how refunds are handled, no refunds, refund to original payment, or store credit
-
Restrict editing to certain order types using Shopify tags
Revize adapts to your workflow, whether you want strict control or maximum flexibility.
# Revize integrations for Shopify fulfillment and email
Source: https://docs.revize.app/integrations/index
Revize works seamlessly with your existing tech stack. Connect fulfillment apps, marketing platforms, and ERPs, and we handle the timing so everything stays in sync.
**We set it up for you.** Our team configures everything. You tell us what tools you use, we handle the rest.
## How it works
Revize creates an editing window by controlling *when* your orders sync to external systems. The magic is in the timing.
Customer completes checkout. Order is created.
Revize puts the order on hold. Your fulfillment apps see the hold and wait, giving customers time to make changes. If your system doesn't respect holds, we use manual payment capture instead.
During the edit window (e.g., 30 minutes), customers can update their order. All changes sync in real-time.
Revize lifts the hold and captures payment (or Shopify Flow can trigger capture). We can also add a `revize:order_released` tag or any custom tag your system expects.
Your fulfillment app, ERP, or warehouse management system pulls the final, edited order with all changes included.
**Why this matters:** Your warehouse never sees an outdated order. No manual corrections, no fulfillment errors, no "sorry, it already shipped" emails.
***
## Integration methods
Revize uses different approaches to prevent external systems from downloading orders too early:
**Works with most systems**
Orders are put on hold during the edit window. When editing closes, the hold is lifted and your systems pick up the order.
* Simple and reliable
* Works with any system that respects order holds
* No additional configuration needed
This is the default and recommended approach.
**For systems that don't respect holds**
Some systems ignore order holds and pull orders anyway. For these, we use manual payment capture.
* Payment stays "Authorized" (not "Paid") during editing
* Systems that filter by payment status won't download until capture
* Revize captures payment when the edit window closes
We'll identify if your system needs this during setup.
**For advanced workflows**
Revize adds a `revize:order_released` tag (or any custom tag) when editing ends. Configure your system to only process tagged orders.
* Works alongside hold or manual capture
* Great for custom ERP integrations
* We can customize the tag name to match your system
**Let your 3PL control the cutoff**
Some fulfillment systems add a tag when they pick up an order. Revize can read that tag and disable editing immediately.
* Allow editing until fulfillment starts
* Your 3PL adds a tag (e.g., `picked` or `processing`)
* Revize sees the tag and closes editing
See [Order Edit Restrictions](/setup/order-edit-restrictions) for setup details.
***
## Fulfillment & logistics
Connect Revize with your shipping and fulfillment tools. Orders sync only after the edit window closes, so your warehouse always gets the final version.
Popular shipping software
3PL fulfillment
Fast fulfillment network
Warehouse management
Global logistics
Multi-carrier shipping
Also works with: **ShipMonk**, **Red Stag**, **Rakuten Super Logistics**, **Flowspace**, **Airhouse**, **Stord**, **Fulfillment.com**, **Whiplash**, **Ruby Has**, and any other 3PL or WMS that connects to Shopify.
Every fulfillment system works differently. We'll figure out the right approach for yours during setup.
***
## Marketing & email platforms
Turn post-purchase emails into revenue. Customers can add products directly from your emails. No re-checkout required.
The gold standard for e-commerce email. Add "Add to Order" links in your post-purchase flows.
Marketing automation with SMS and email. Same one-click upsell capability.
Classic email marketing. Custom links work with any email builder.
SMS marketing for Shopify. Text customers with add-to-order links.
### How email upsells work
Order confirmation triggers your post-purchase email flow.
Your email features products with special "Add to Order" URLs powered by Revize.
They land on the order status page with the product already added to their order.
Customer confirms and pays the difference. No re-entering payment details.
**Works with any email platform.** The magic is in the URL structure, not the email provider. [Let us know](/support/contact) you want email upsells enabled and we'll configure it for you.
***
## ERP & business systems
Enterprise systems that manage inventory, accounting, and operations. Revize ensures orders sync only when they're final.
Oracle ERP
Retail operations
Inventory management
Accounting
Accounting
Order management
Also works with: **Acumatica**, **Microsoft Dynamics**, **SAP Business One**, **Odoo**, **TradeGecko**, **Linnworks**, **Veeqo**, **Ordoro**, and any system that syncs with your store.
***
## Integration platforms (iPaaS)
Using a middleware platform to connect your tools? Revize works with all of them.
E-commerce automation platform
Integration platform for NetSuite
Shopify-native workflow automation
**Using an iPaaS?** We configure your workflows to trigger on hold release, payment capture, or the `revize:order_released` tag.
***
## We make it work
Every tech stack is different. Tell us what you use and we'll figure out the right configuration. Shopify Flow, custom tags, payment timing, whatever it takes.
**Our team handles the technical setup.** You don't need to worry about the details.
***
## Ready to integrate?
Tell us what tools you use and we handle the rest. Most integrations are configured in a single call.
Have questions about a specific integration? Our team responds within hours.
***
**You focus on selling. We handle the plumbing.** Every integration is set up by our team. Tested, verified, and ready to go.
# Send Klaviyo emails when Shopify orders are edited
Source: https://docs.revize.app/integrations/klaviyo
Send automated emails through Klaviyo when customers edit their orders. Connect Shopify Flow, Revize, and Klaviyo to notify customers about any order change.
## What you need
* Shopify Flow (available on all Shopify plans)
* A Klaviyo account with the [Klaviyo Shopify app](https://apps.shopify.com/klaviyo-email-marketing) installed
* Revize installed with Shopify Flow triggers enabled
Prefer to skip the setup? We can configure the entire Shopify Flow + Klaviyo integration for you. [Reach out](/support/contact).
## How it works
Revize fires a Shopify Flow trigger whenever a customer edits their order. You connect that trigger to Klaviyo's "Track an Event" action, which sends the order data to Klaviyo. From there, you build a Klaviyo Flow to send the email.
Revize trigger β Shopify Flow β Klaviyo event β Klaviyo email
***
## Available triggers
You can send Klaviyo emails for any of these Revize triggers:
* **Order edited** β fires on any order edit, including product changes and discount code edits
* **Shipping address updated**
* **Email address updated**
* **Phone number updated**
* **Delivery date updated**
* **Order cancelled**
* **Support ticket created**
* **Tax invoice generated**
Each trigger follows the same setup process. Only the trigger you select in Shopify Flow, the event name you send to Klaviyo, and the event properties change.
***
## Part 1: Set up Shopify Flow
### Step 1: Find your Klaviyo Public API Key
Go to your Klaviyo dashboard.
Click your account name in the bottom-left corner, then go to **Settings**.
Go to the **API Keys** section.
Copy the **Public API Key** (a short alphanumeric code). You will need this in Step 3.
Make sure you copy the **Public** API key, not the Private API key. The public key is the shorter one.
***
### Step 2: Create a Shopify Flow workflow
In your Shopify Admin, go to **Apps β Shopify Flow** and click **Create workflow**.
Click **Select a trigger**, search for **Revize**, and choose the trigger you want (e.g., Order edited, Shipping address updated, etc.).
Click the **+** below the trigger and add a **Wait** action. Set the duration to **10 seconds**.
Click the **+** below the Wait step and add a **Get Order Data** action (Shopify action).
Configure it as follows:
* Set **Select a query** to **Advanced**
* In the **Edit query** field, enter: `id:{{order.legacyResourceId}}`
* Set **Maximum number of orders** to **1**
* Set **Sort data by** to **Updated at, Descending**
**Why the 10-second wait?** It gives Shopify's API time to reflect the latest order changes before fetching fresh data. The Get Order Data step then pulls the correct current line items and variants.
### Step 3: Add the Klaviyo "Track an Event" action
In the actions list, search for **Klaviyo** and select **Track an Event**.
Use the table below to fill in each field.
| Field | Value |
| -------------------------- | ------------------------------- |
| **Klaviyo Public API Key** | Your Public API Key from Step 1 |
| **Event Name** | See the event name table below |
| **Customer Email Address** | `{{order.customer.email}}` |
| **Customer First Name** | `{{order.customer.firstName}}` |
| **Customer Last Name** | `{{order.customer.lastName}}` |
#### Event names by trigger
Use a descriptive event name so you can identify each trigger in Klaviyo:
| Revize Trigger | Recommended Event Name |
| ------------------------ | ------------------------------ |
| Order edited | `Revize_Order_Edited` |
| Shipping address updated | `Revize_Address_Updated` |
| Email address updated | `Revize_Email_Updated` |
| Phone number updated | `Revize_Phone_Updated` |
| Delivery date updated | `Revize_Delivery_Date_Updated` |
| Order cancelled | `Revize_Order_Cancelled` |
| Support ticket created | `Revize_Support_Ticket` |
| Tax invoice generated | `Revize_Tax_Invoice` |
You can name these events anything you like. These are just our recommended names to keep things organized.
### Step 4: Set Customer Properties
In the **Customer Properties** field, paste the following JSON:
```json theme={null}
{
"$email": "{{order.customer.email}}",
"$first_name": "{{order.customer.firstName}}",
"$last_name": "{{order.customer.lastName}}"
}
```
This tells Klaviyo which customer profile to associate the event with.
### Step 5: Set Event Properties
In the **Event Properties** field, paste the JSON that matches your trigger. This uses freshly fetched order data from the Get Order Data step, so Klaviyo always gets the correct current data.
Use this when you want to send the full updated order details, including line items:
```liquid theme={null}
{% for single_order in getOrderData %}
{
"order_id": "{{single_order.id}}",
"order_name": "{{single_order.name}}",
"order_number": "{{single_order.legacyResourceId}}",
"total_price": "{{single_order.totalPriceSet.shopMoney.amount}}",
"subtotal_price": "{{single_order.subtotalPriceSet.shopMoney.amount}}",
"total_tax": "{{single_order.totalTaxSet.shopMoney.amount}}",
"total_shipping": "{{single_order.totalShippingPriceSet.shopMoney.amount}}",
"currency": "{{single_order.currencyCode}}",
"edited_at": "{{single_order.updatedAt}}",
"customer_email": "{{single_order.customer.email}}",
"customer_name": "{{single_order.customer.firstName}} {{single_order.customer.lastName}}",
"line_items": [{% assign comma = "" %}{% for item in single_order.lineItems %}
{% if item.currentQuantity != 0 %}{{comma}}
{"title": {{item.title | json}}, "quantity": {{item.currentQuantity}},
"price": "{{item.originalUnitPriceSet.shopMoney.amount}}",
"variant_title": {{item.variantTitle | json}}, "sku": {{item.sku | json}}}
{% assign comma = "," %}{% endif %}
{% endfor %}]
}
{% endfor %}
```
Do not wrap the `line_items` array brackets `[ ]` in quotes. The brackets must be outside all quotes for Klaviyo to receive a proper array.
Use this for shipping address, contact info, or delivery date updates. Sends order summary without line items:
```liquid theme={null}
{% for single_order in getOrderData %}
{
"order_id": "{{single_order.id}}",
"order_name": "{{single_order.name}}",
"order_number": "{{single_order.legacyResourceId}}",
"total_price": "{{single_order.totalPriceSet.shopMoney.amount}}",
"currency": "{{single_order.currencyCode}}",
"updated_at": "{{single_order.updatedAt}}",
"customer_email": "{{single_order.customer.email}}",
"customer_name": "{{single_order.customer.firstName}} {{single_order.customer.lastName}}",
"shipping_address": "{{single_order.shippingAddress.address1}}, {{single_order.shippingAddress.city}}, {{single_order.shippingAddress.province}} {{single_order.shippingAddress.zip}}, {{single_order.shippingAddress.country}}"
}
{% endfor %}
```
Use this for order cancellation events:
```liquid theme={null}
{% for single_order in getOrderData %}
{
"order_id": "{{single_order.id}}",
"order_name": "{{single_order.name}}",
"order_number": "{{single_order.legacyResourceId}}",
"total_price": "{{single_order.totalPriceSet.shopMoney.amount}}",
"currency": "{{single_order.currencyCode}}",
"cancelled_at": "{{single_order.updatedAt}}",
"customer_email": "{{single_order.customer.email}}",
"customer_name": "{{single_order.customer.firstName}} {{single_order.customer.lastName}}"
}
{% endfor %}
```
The `{% for single_order in getOrderData %}` loop reads from the freshly fetched order data, not the original trigger. This ensures correct data every time.
### Step 6: Turn on the workflow
Make sure everything is filled in correctly.
Click **Turn on workflow** in the top-right corner.
The workflow is now active. Every time a customer triggers that action through Revize, the event is sent to Klaviyo with up-to-date order data.
***
## Part 2: Set up the Klaviyo email
### Step 7: Create a Klaviyo Flow
In Klaviyo, go to **Flows β Create Flow** and select **Build your own**.
For the trigger, choose **Metric** and search for the event name you used (e.g., `Revize_Order_Edited`).
Drag an **Email** action into the flow.
Use the variables below to pull in order data dynamically.
### Step 8: Email template variables
Use these variables in your Klaviyo email template:
| Data | Klaviyo Variable |
| ---------------- | ------------------------------ |
| Customer Name | `{{ event.customer_name }}` |
| Order Number | `{{ event.order_name }}` |
| Subtotal | `{{ event.subtotal_price }}` |
| Total Tax | `{{ event.total_tax }}` |
| Shipping | `{{ event.total_shipping }}` |
| Total Price | `{{ event.total_price }}` |
| Currency | `{{ event.currency }}` |
| Edit Date | `{{ event.edited_at }}` |
| Customer Email | `{{ event.customer_email }}` |
| Shipping Address | `{{ event.shipping_address }}` |
### Displaying line items
To display each product in the edited order, use this loop in your Klaviyo email template:
```liquid theme={null}
{% for item in event.line_items %}
{{ item.title }}
Variant: {{ item.variant_title }}
Qty: {{ item.quantity }}
Price: {{ item.price }}
{% endfor %}
```
Wrap this loop in a table or styled HTML in your Klaviyo email template to match your brand.
### Example email
Here is an example of how your email subject and body might look:
```
Subject: Your order {{ event.order_name }} has been updated
Hi {{ event.customer_name }},
Your order has been updated. Here is your revised summary:
{% for item in event.line_items %}
{{ item.title }} ({{ item.variant_title }})
Qty: {{ item.quantity }} | Price: {{ item.price }} {{ event.currency }}
{% endfor %}
Total: {{ event.currency }} {{ event.total_price }}
```
***
## Prevent duplicate emails
If a customer makes multiple quick edits in one session, Klaviyo may send multiple emails. To prevent this:
1. Open your Klaviyo Flow
2. Add a **Flow Filter**
3. Set it to suppress if the customer received this email in the **last 5 minutes**
***
## Troubleshooting
Double-check that the **Public API Key** in Shopify Flow matches the one in your Klaviyo account. This is the most common issue.
The Event Properties JSON may be invalid. Make sure there are no line breaks inside string values and that `line_items` uses `[ ]` brackets without surrounding quotes.
Make sure you are using the **Get Order Data** step with the 10-second wait, and that your Event Properties use the `getOrderData` loop, not `order.lineItems` directly.
Add a **Flow Filter** in Klaviyo to suppress if the customer received this email in the last 5 minutes.
Go to **Analytics β Metrics** and search for your event name (e.g., `Revize_Order_Edited`). It is created automatically the first time an event is received.
Go to **Audience β Profiles** in Klaviyo, find the customer email, and check their **Activity** tab for the event.
***
## Want multiple triggers?
You can set up separate Shopify Flow workflows for each trigger. For example:
* **Workflow 1:** Order edited β `Revize_Order_Edited` β "Your order has been updated" email
* **Workflow 2:** Address updated β `Revize_Address_Updated` β "Your shipping address has been changed" email
* **Workflow 3:** Order cancelled β `Revize_Order_Cancelled` β "Your order has been cancelled" email
Each workflow follows the same steps above. Just change the trigger, event name, and event properties.
# Set up Shopify order editing in minutes
Source: https://docs.revize.app/quickstart
Install Revize, set your edit window, choose what customers can edit, add the app blocks, and go live in minutes.
**No developers or custom code needed.** Install the app, choose your settings, add the app blocks, and customers can start editing orders right away.
## 1. Install the app
Go to the Revize listing and click Add app.
Shopify will ask for the access Revize needs to manage orders, payments, and fulfillment. Approve to continue.
***
## 2. Set the edit deadline
By default, Revize places new orders on hold. This gives customers time to make edits before fulfillment starts. You can turn the hold off if your workflow needs immediate processing.
In the Revize app, select Order Editing in the left sidebar.
Choose a preset like 15, 30, or 60 minutes, set a custom duration, or pick a scheduled cutoff time.
Select Hold orders for the edit window, or Skip hold if your 3PL only pulls finalized orders. Optionally add a release tag for ready orders.
Click Save.
***
## 3. Choose payments and refunds
If an edit changes the order total, Revize handles the difference automatically. No spreadsheets. No manual work.
In Order Editing, scroll to Refund options.
Choose one: No refund, Refund to original payment, or Refund as store credit.
Click Save.
***
## 4. Select what customers can edit
In Order Editing, scroll to Customer edit options.
Enable the options that fit your store. Shipping address, variant and quantity, add or replace products, apply discount codes, upgrade shipping, cancel order, invoice and tax info, delivery date, and support ticket.
Click Save.
***
## 5. Add the app blocks
Add Revize to the Order Status page and the Thank You page in the Shopify checkout editor. This is where customers edit their orders.
In Shopify admin, go to Settings, then Checkout, then Customize.
In the page picker at the top, choose Order status page. Click Add block, then add Revize Customer Portal and Revize Notifications. Click Save.
Switch the page picker to Thank you. Click Add block, add Revize Order Edit Message, then Save.
***
## 6. Enable the app
Go to Settings in the Revize sidebar. Turn on App status.
***
## 7. Optional, customize text and languages
In the Revize sidebar, select Translations.
Edit the customer portal text, message boxes, and notifications. Keep it on brand and clear.
***
## Next, place a test order
You are ready to test. Place a draft order or a real test order, then edit from the Order Status page to see the full flow.
Step by step, with a Shopify video on draft orders.
Deep dive into the edit window, refunds, and permissions.
***
That is it. Revize is live. Customers can fix mistakes after checkout, your team saves time, and you capture more revenue.
# Advanced Shopify order editing settings
Source: https://docs.revize.app/setup/advanced-settings
Configure advanced Revize features including custom sender emails, third-party checkout support, minimum product quantities, and enhanced delivery date options.
Revize is a Shopify app for post-checkout order editing.
These advanced settings unlock powerful customizations for your order editing experience. Most features require contacting our support team to enable.
## Custom sender email
Send order update emails from your own email address instead of Revize's default sender.
Customers see emails from your brand, not from a third-party app.
Emails from your domain are more likely to land in the primary inbox.
### Two verification options
**Simple sender email verification**
The fastest way to send emails from your address. Emails will show "via Amazon SES" in some email clients.
In the Revize app, navigate to the **Settings** tab.
Enter your sender name (appears in the "From" field) and email address.
We'll send a verification link to your email address.
Click the link in the email to complete verification.
If left blank, emails are sent from `your-store@revize.app`.
**Full domain verification for professional emails**
Authenticate your entire domain to send emails that appear directly from your businessβno "via Amazon SES" label. Better deliverability and customer trust.
Domain authentication is currently available through our support team only. [Reach out to us](/support/contact) to get this set up for your store.
### DNS records required
We'll provide you with the following DNS records to add to your domain registrar. Verification can take up to 72 hours.
**1. Domain Verification (TXT Record)**
```
Type: TXT
Name/Host: _amazonses
Value: [Unique verification string]
```
**2. DKIM Records (3 CNAME Records)**
Enable email signing to improve deliverability:
```
Type: CNAME
Name/Host: [unique-key-1]._domainkey
Value: [unique-key-1].dkim.amazonses.com
Type: CNAME
Name/Host: [unique-key-2]._domainkey
Value: [unique-key-2].dkim.amazonses.com
Type: CNAME
Name/Host: [unique-key-3]._domainkey
Value: [unique-key-3].dkim.amazonses.com
```
**3. Custom MAIL FROM (MX & TXT Records)**
Remove "via" label and enable SPF alignment:
```
Type: MX
Name/Host: mail
Value: feedback-smtp.us-east-1.amazonses.com
Priority: 10
Type: TXT
Name/Host: mail
Value: v=spf1 include:amazonses.com ~all
```
Our team will provide your specific DNS values and guide you through the setup process. [Contact us](/support/contact) to get started.
### Emails this applies to
* Shipping address update confirmations
* Preferred delivery date confirmations
* Support request acknowledgements
* More notification types coming soon
***
## Third-party checkout support
Orders from external sales channels are now fully editable through Revize.
### Supported channels
Full order editing support
Social commerce orders
Indian checkout solutions
Also supported:
* Razorpay Magic Checkout
* Shiprocket
* Pinterest Shopping
* Snapchat Shopping
* Other Shopify sales channels
### What customers can do
* Update shipping address
* Change email or phone number
* Add preferred delivery date
* Cancel eligible orders
* Contact support from the edit portal
This feature is live automatically. No setup required for supported channels.
***
## Minimum order quantity
Set the minimum total number of items that must remain in an order during editing.
### How it works
This setting enforces a minimum total item count across the entire order. Customers cannot reduce the order below your specified minimum, ensuring orders always meet your business requirements.
**Example:** If minimum order quantity is set to 3, a customer with an order containing 5 total items can reduce to 3 items but not to 2. This applies to the total count across all products in the order.
### Use cases
* **Frozen goods stores** β Require minimum 3 items to justify shipping costs
* **Wholesale orders** β Enforce minimum order size for bulk purchases
* **MOQ enforcement** β Keep consistent with your store's minimum order policies
### Default setting
Minimum order quantity is set to **1** by default, meaning customers can reduce the total order down to 1 item but cannot empty the order entirely (unless cancellation is enabled).
Need a custom minimum order quantity? [Contact us](/support/contact) to configure this for your store.
***
## Digital product controls
Control whether customers can edit digital products in their orders.
### Choose your approach
**No digital products can be edited**
Best for: Courses, gift cards, licenses, one-time downloads
**Digital products are fully editable**
Best for: Flexible digital catalogs
**Only tagged products are editable**
Best for: Mixed product types
### How to configure
Navigate to the **Settings** tab in Revize.
Scroll to the **Digital products** configuration area.
Select one of the three options based on your product catalog.
If using tag-based control, enter the product tags that should allow editing.
***
## Coming soon
We're constantly working on new features to make order editing even more powerful.
### Invoice template & customization
Brand new invoice templates with full customization options are coming soon. Design invoices that match your brand perfectly with:
* **Custom branding** β Add your logo, colors, and brand elements
* **Multi-language support** β Generate invoices in all major languages automatically
* **Template library** β Choose from professional pre-designed templates
* **Field customization** β Show or hide specific fields based on your needs
Want early access or have specific invoice requirements? [Let us know](/support/contact) and we'll keep you updated.
***
## Request advanced features
Most advanced settings require configuration by our team. We'll help you set everything up correctly and keep adding more capabilities.
Email us at [hello@revize.app](mailto:hello@revize.app) with your requirements
Schedule a walkthrough to configure advanced features
## Related pages
* [Edit Window Settings](/setup/edit-window) β control when editing is available
* [Order Edit Restrictions](/setup/order-edit-restrictions) β restrict editing by tags
* [Payments & Refunds](/setup/payments-and-refunds) β configure payment handling
* [Preferred Delivery Date](/features/delivery-date) β basic delivery date setup
# Set a Shopify order editing window
Source: https://docs.revize.app/setup/edit-window
Set how long customers can edit an order after checkout. Choose a fixed or custom duration, keep editing open until fulfillment, or schedule cutoffs that match your pick times.
Revize is a Shopify app for post-checkout order editing.
## Set it in the app
In the Revize app, click Order Editing in the sidebar.
In Order edit window, pick an option and click Save.
## Options at a glance
A short grace period that starts at checkout. Common picks: 15, 30, or 60 minutes.
Great for fast-moving teams that want quick corrections.
Set any length you want, such as 2 hours, 24 hours, or 48 hours.
Ideal when packing starts later in the day.
Editing stays open until the order is marked Fulfilled in Shopify.
Good if your WMS/ops controls when orders lock.
End editing at specific daily/weekly times that match your pick runs.
Best for batch pick and stable pick lists.
## Details and examples
**How it works**
A countdown starts when the order is created. When it hits zero, editing closes automatically.
**Pick it when**
* You ship same-day or next-day
* You want a quick buffer to catch typos and size mistakes
**Common choices**
* 15β30 minutes for very fast operations
* 60β120 minutes for light batching
**How it works**
You choose any window length (e.g., 2h, 24h, 48h). Editing closes once the timer ends.
**Pick it when**
* Your team starts pick/pack in defined waves later in the day
* You want extra time for customers on preorders or made-to-order items
**Tips**
* Start conservative (e.g., 2β4 hours) and extend if support volume stays low
**How it works**
Editing remains open until the order status is set to **Fulfilled** in Shopify. Revize does not place the order on hold with this option.
**Pick it when**
* You want orders to flow normally through your systems
* Your fulfillment process is fast and you can handle changes during picking
* You prefer not to hold orders in a queue
**How it works**
Set specific cutoff times β one or more per day, or a few days a week. Every order is editable until the *next* cutoff, then locks for fulfillment. Think bus timetable: every order boards the next bus, and editing closes when the bus leaves.
```mermaid theme={null}
flowchart LR
A[Order placed
Thu 6:15 PM] --> B[Editable]
B --> C[Cutoff
Tue 11:00 AM]
C --> D[Locked, fulfilling]
style A fill:#e0e7ff,stroke:#6366f1
style B fill:#dcfce7,stroke:#10b981
style C fill:#fef3c7,stroke:#f59e0b
style D fill:#fee2e2,stroke:#ef4444
```
**Example: Tue & Thu cutoffs at 11 AM and 6 PM**
| Order placed | Editable until |
| ---------------- | ----------------- |
| Thursday 6:15 PM | Tuesday 11:00 AM |
| Tuesday 11:10 AM | Tuesday 6:00 PM |
| Tuesday 6:05 PM | Thursday 11:00 AM |
**Why teams use it:** customers can fix mistakes while you're not packing, and every pick run starts with a stable list.
Want a small **buffer** (e.g., lock 10β15 minutes before the cutoff so pick teams can stage carts)? [Contact us](/support/contact) and we'll add it to your schedule.
## Close editing when picking starts
Have your WMS or Shopify Flow add a tag (e.g. `picked` or `wms:processing`) when an order enters picking. Add the same tag under **Order edit restrictions β Order tags** in Revize, and the edit window closes the moment that tag lands β even if the timer hasn't run out.
Pairs with any of the four windows above as a backstop when fulfillment actually starts. See [Order edit restrictions](/setup/order-edit-restrictions) for the full setup.
## Which option should I choose?
* **Ship quickly**: 15β60 minutes or a short custom window
* **Batch pick at set times**: scheduled cutoffs that mirror your pick runs
* **Let your WMS decide**: until fulfillment, with an optional early lock via tag (we can configure this for you)
## Related setup
* [Payments and refunds](/setup/payments-and-refunds) β choose how extra charges and partial refunds are handled
* [Fulfillment sync](/setup/fulfillment-sync) β control when orders release to your 3PL/ERP
* [Customer edit options](/features/customer-portal) β decide what shoppers can change
# Sync edited Shopify orders to your 3PL
Source: https://docs.revize.app/setup/fulfillment-sync
Control exactly when orders leave Revize and reach your 3PL or ERP. Align release timing with your edit window and fulfillment workflow.
Revize is a Shopify app for post-checkout order editing.
Fulfillment sync works with your [Edit window](/setup/edit-window) and [Order processing](/setup/order-processing) settings. First set your edit window and choose hold or skip hold, then decide when orders are released to fulfillment.
## What this controls
When Revize releases orders to your fulfillment system so your 3PL or ERP knows they're ready for picking and packing.
## Set it in the app
In the Revize app, click **Order Editing** in the sidebar.
Confirm your edit window and whether you hold orders or skip hold.
Select when orders should be released: when editing ends, at scheduled times, or using tags.
## Release options
Orders are released immediately when the edit window closes. Simple and works with any 3PL.
Release orders at specific daily or weekly times that match your pick schedule. Perfect for batch fulfillment.
Revize adds a tag when editing finishes. Configure your 3PL to only pick orders with this tag.
Your WMS can add a tag when picking starts, and Revize will immediately close editing.
## How it works with order processing
**Most common setup**
Orders stay on hold while customers edit. When the edit window closes, Revize lifts the hold and your 3PL can pick the order.
**Good for:** Most stores, especially those with fast fulfillment
Orders stay on hold until your next scheduled release time (e.g., daily at 2 PM). Even if editing ends early, orders wait for the scheduled release.
**Good for:** Batch fulfillment, warehouses that pick at specific times
Orders are processed normally without any holds but Revize adds a release tag when editing ends. Configure your 3PL to only pick tagged orders.
**Good for:** Advanced 3PLs that can filter by tags, fast-moving operations
## Tag configuration
**Default tag:** Revize uses `revize:order_released` but we can customize this for your 3PL's requirements. [Contact us](/support/contact) to change it.
**Tags Revize adds:**
* `revize:order_released` - Added when editing window closes (if enabled)
**Tags Revize watches for:**
* Your stop tag (any tag you choose) β Have your WMS or Shopify Flow add a tag when picking starts (e.g. `picked`, `wms:processing`). Add the same tag under **Order edit restrictions β Order tags** in Revize, and the edit window will close immediately.
## Troubleshooting
**Check:**
* Edit window has closed
* Scheduled time has passed (if using scheduled release)
* Release tag is being added (if using tag-based)
* Your 3PL integration is filtering correctly
**Solution:** Use "Hold orders" or configure your 3PL to only pick orders with the release tag.
**Solution:** [Contact us](/support/contact) β we can customize tag names for your workflow.
## Related setup
* [Edit window](/setup/edit-window) β control how long customers can edit orders
* [Order processing](/setup/order-processing) β choose whether to hold orders during editing
# Add order editing to Shopify confirmation emails
Source: https://docs.revize.app/setup/order-confirmation-email
Edit the 'View my order' button in Shopify notification emails to say 'View or Edit your order' and add a message about the editing window.
Revize is a Shopify app for post-checkout order editing.
This is a one-time change in Shopify Admin. It takes about 2 minutes and helps customers discover that they can edit their order.
## Why do this
Shopify's default order confirmation email has a **"View your order"** button. Customers click it but don't know they can actually *edit* the order. A simple text change fixes that β and a small message below the button tells them exactly how long they have.
**Before:** "View your order"
**After:** "View or Edit your order" + a line saying how long they have to make changes.
***
## What you'll change
Change "View your order" to **"View or Edit your order"**
Add a line below the button: **"You have 60 minutes to edit your order."**
The button still links to `{{ order_status_url }}` β the same order status page where the Revize editing portal is visible. Nothing changes about how the link works.
***
## Step-by-step setup
### Step 1: Open the notification template
Open your Shopify Admin and click **Settings** in the bottom-left corner.
Click **Notifications** in the settings menu.
Click **Order confirmation** (this is the most common one to edit). You can repeat this for any notification that has a "View your order" button β like **Shipping confirmation** or **Shipping update**.
Click **Edit code** in the top-right corner of the email editor. Shopify will open the HTML/Liquid template.
***
### Step 2: Find the button
Use **Ctrl + F** (Windows) or **Cmd + F** (Mac) to search for:
```
View your order
```
You'll find it inside a button element that looks something like this:
```liquid theme={null}
View your order
```
The exact HTML around it varies by theme, but the text and URL are always the same.
***
### Step 3: Change the button text
Replace the button text with:
```liquid theme={null}
View or Edit your order
```
That's it β the link stays the same, only the label changes.
***
### Step 4: Add the edit window message
Directly **below** the button code, add this line:
```html theme={null}
You have 60 minutes to edit your order after checkout.
```
Replace **60 minutes** with whatever your actual [edit window](/setup/edit-window) is set to. If your edit window is 30 minutes, write "30 minutes." If it's 2 hours, write "2 hours."
***
### Step 5: Preview and save
Click **Preview** to see how the updated email looks. Confirm the button text reads "View or Edit your order" and the message appears below it.
Click **Send test email** to see exactly what customers will receive in their inbox.
Click **Save** to apply the changes. All future order confirmation emails will use the new button text and message.
***
## Example result
Here's what the customer sees in their inbox after the change:
```
Thank you for your order!
[ View your order ]
```
```
Thank you for your order!
[ View or Edit your order ]
You have 60 minutes to edit your order after checkout.
```
The button links to the order status page where the Revize editing portal is live. Customers see their order summary and all available editing options.
***
## Troubleshooting
Some themes use slightly different wording like "View my order" or "View order details." Try searching for `order_status_url` instead β that's the URL variable Shopify uses, and the button text will be right next to it.
Make sure you pasted the `` tag **after** the closing `` tag of the button, not inside it. If the button is wrapped in a table cell (`
`), place the message inside the same cell but after the button link.
Yes β it's standard HTML. Change the `font-size`, `color`, or `margin-top` values to match your brand. You can also make it bold with `` or change the alignment.
No. Each notification template is independent. Changes to the order confirmation template won't affect shipping confirmations or any other email. You'll need to update each one separately.
***
**Done.** Customers will now see "View or Edit your order" in their order confirmation email, with a clear message about how long they have to make changes.
# Restrict which Shopify orders customers can edit
Source: https://docs.revize.app/setup/order-edit-restrictions
Block editing for specific orders or products using order tags and product tags. Control what customers can edit with simple tag-based rules.
Use order tags and product tags to block edits. Leave fields blank to allow edits on everything. Need advanced controls? Email [hello@revize.app](mailto:hello@revize.app) and we'll configure them for you.
## Set it in the app
In the Revize app, click **Settings** in the sidebar, then scroll to **Order edit restrictions**.
Enter tags you want to block under **Order tags** and **Product tags**, then click **Save**.
Add these same tags to your orders or products in Shopify. Revize reads them automatically and blocks edits.
Block edits for orders or products that have these tags.
## How it works
**What it does**
Add a tag to an order in Shopify. If that tag is in your block list, customers cannot edit anything on that order.
**How to set it up**
1. Add `no-edit` to your order tag block list in Revize
2. Tag an order with `no-edit` in Shopify
3. That entire order becomes uneditable
**Common examples**
* Block `high-risk` orders from being edited
* Keep `wholesale` orders locked
* Prevent edits on `final-sale` orders
* Block `rush` orders that are already being packed
**What it does**
Add a tag to a product in Shopify. If that tag is in your block list, customers cannot edit that specific item in their order. Other items remain editable.
**What gets blocked for that product**
* Changing quantity
* Switching size, color, or variant
* Removing it from the order
**How to set it up**
1. Add `final-sale` to your product tag block list in Revize
2. Tag a product with `final-sale` in Shopify
3. That product becomes uneditable in all orders
**Common examples**
* Block `final-sale` items from being changed
* Protect `custom` or `personalized` products
* Lock `bundle` components from being modified
## Where to find tags in Shopify
**For orders:**
1. Go to Orders in your Shopify admin
2. Click on any order
3. Scroll down to see the Tags field
4. Add tags like `no-edit` or `high-risk`
**For products:**
1. Go to Products in your Shopify admin
2. Click on any product
3. In the Search engine listing section, find Tags
4. Add tags like `final-sale` or `custom`
## Advanced restrictions
For more complex rules, we can configure these for you:
Allow edits but prevent order cancellations using specific order tags.
Block address edits for specific customer types using customer tags.
Show only specific products when customers try to add items to their order.
Block edits based on custom line item properties like bundle IDs or special flags.
## Best practices
**Use clear tag names:**
* `no-edit` instead of `ne` or `block`
* `final-sale` instead of `fs` or `clearance`
* `high-risk` instead of `hr` or `risky`
**Plan your strategy:**
* Decide which products should never be editable and tag them when you create them
* Use Shopify Flow to automatically tag orders based on value, location, or customer type
* Document your tags so your team knows what each one does
## Common questions
**Check these things:**
* Make sure the tag name in Revize matches exactly what you typed in Shopify
* Click **Save** in Revize after adding the tag
* Check if you added the tag to the right place (order page vs product page)
* Refresh the customer's order page and try again
**This is normal.** Product tags only block that specific product. Customers can still edit other items in the same order.
If you want to block the entire order, use an order tag instead.
**Yes, with Shopify Flow.** Set up a Flow that adds a `no-edit` tag to orders 2 hours after they're created. Then add `no-edit` to your order tag block list in Revize.
**Email us!** Send your requirements to [hello@revize.app](mailto:hello@revize.app). We can set up custom rules for almost any scenario.
**Set up automatic tagging to block edits based on your business rules:**
First, add your blocking tags in Revize under order tags or product tags (like `no-edit` or `high-risk`).
In Shopify, create a Flow that adds these same tags to orders or products based on your conditions.
When Flow adds the tag to an order or product, Revize automatically blocks editing.
**Example workflows:**
* Add `no-edit` to your order tag block list β Create a Flow that tags orders with `no-edit` 2 hours after they're placed
* Add `high-risk` to your order tag block list β Create a Flow that tags orders over \$500 with `high-risk`
* Add `final-sale` to your product tag block list β Create a Flow that tags clearance products with `final-sale`
The tags you set up in Revize and the tags Flow adds to orders or products must match exactly for blocking to work.
## Related setup
* [Edit window](/setup/edit-window) β set how long customers can edit orders
* [Order processing](/setup/order-processing) β choose hold vs skip-hold workflow
* [Customer edit options](/features/customer-portal) β control what types of edits are allowed
# Hold Shopify orders while customers edit
Source: https://docs.revize.app/setup/order-processing
Control how orders flow to fulfillment while customers can edit their orders. Choose to hold orders during editing or let them flow normally with release tags.
Revize is a Shopify app for post-checkout order editing.
## Set it in the app
In the Revize app, click **Order Editing** in the sidebar.
In **Order processing**, select **Hold orders** or **Skip hold** and click **Save**.
## Your options
Orders are put on hold during the editing window, then released for fulfillment when editing closes.
Prevents your 3PL from picking orders too early.
Orders flow normally through your systems. Use a release tag so your 3PL knows when editing is complete.
Good for tag-based fulfillment workflows.
## How each option works
**How it works**
Orders are automatically put on hold in Shopify when they're created. When the editing window closes, the hold is lifted and the order flows seamlessly into your fulfillment system.
**Why it's recommended**
* Prevents your 3PL from picking orders immediately after checkout
* Ensures edited orders don't cause fulfillment conflicts
* Simple workflow that works with any 3PL or WMS
* No additional configuration needed
**How it works**
Orders flow normally through your systems without being put on hold. Revize can add a release tag when the editing window closes to signal your 3PL that the order is ready for fulfillment.
**Pick this when**
* Your 3PL can wait for a release tag before picking orders
* You want to use tag-based workflows instead of hold/release
**Release tag setup**
Enable the **Add release tag** option to tag orders with `revize:order_released` when editing closes. Configure your 3PL to only pick orders that have this tag.
Without a release tag, your 3PL might pick orders before customers finish editing, which can cause fulfillment issues.
## Release tag configuration
When you select **Skip hold**, enable the release tag feature:
* **What it does**: Adds `revize:order_released` tag when editing window closes
* **Purpose**: Signals to your 3PL that the order is ready for fulfillment
* **Benefit**: Prevents picking orders that are still being edited
**Setup steps**
Turn on **Add release tag** in your Revize settings
Set your 3PL to only pick orders with the `revize:order_released` tag
Orders flow normally but aren't picked until editing is complete
## Related setup
* [Edit window](/setup/edit-window) β set how long customers can edit orders
* [Fulfillment sync](/setup/fulfillment-sync) β control when orders release to your 3PL/ERP
* [Customer edit options](/features/customer-portal) β decide what shoppers can change
# Payments and refunds for Shopify order edits
Source: https://docs.revize.app/setup/payments-and-refunds
Choose how Revize handles price changes during order edits. Let customers pay the difference, issue refunds to the original payment method, or refund as store credit to boost loyalty.
Revize is a Shopify app for post-checkout order editing.
## Set it in the app
In the Revize app, click Order Editing in the sidebar.
Scroll to Refund options.
Select No refund, Refund to original payment, or Refund as store credit, then click Save.
## How price changes work
**Price increases:** Revize shows a Pay now button and securely collects the difference through Shopify.\
**Price decreases:** Revize follows the refund option you choose below.
### Customer payment widgets
When order totals change, customers see clear widgets explaining the price difference and next steps.
## Refund options
How it works\
Keeps the final total at or above the original order amount. Even swaps are allowed; reducing value is blocked unless the shopper adds items or value to meet the original total.
Choose this when
* You want predictable revenue without partial refunds
* You want to offer broad editing flexibility without lowering totals
* You prefer fewer refund events in accounting
Customer experience\
If a change would lower the total, Revize blocks the edit and shows a message. The order total must stay at or above the original order amount.
How it works\
When edits reduce the total, Revize automatically refunds the difference to the card or wallet used at checkout.
Choose this when
* You want a simple and familiar experience for shoppers
* You follow strict refund policies
Customer experience\
The Refund button shows the amount. After they confirm, the order updates and a partial refund is issued via Shopify.
How it works\
Converts the difference into store credit rather than cash.
Choose this when
* You want to retain revenue and encourage repeat purchases
* You focus on lifetime value and loyalty
Customer experience\
The Refund button indicates credit will be issued. The order updates right away and the credit is available for next time.
## Recommended settings
Start with: Refund to original payment.\
It's simple for customers and easy to support. You can switch to store credit later.
Consider: Refund as store credit.\
Keeps revenue in your ecosystem and often lifts future order value.
You can change your refund policy anytime. The new setting applies to future edits. Orders already in progress keep the method that was active when they started editing.
## Related setup
* [Edit window](/setup/edit-window) β control how long customers can edit
* [Order processing](/setup/order-processing) β hold during editing or flow with release tags
Want to see Pay now, Refund, and Confirm in action? Follow the steps in How to Test Revize.
# Shopify post-purchase upsells on the same order
Source: https://docs.revize.app/setup/post-purchase-upsells
Create targeted Shopify post-purchase upsell offers on the Thank-you and Order-status pages. Choose products, discounts, layouts, countdowns, schedules, and measure captured revenue.
Post-purchase Upsells let customers add multiple products to an order they have already placed. Revize adds them to the **same Shopify order**, Shopify collects only the difference, and everything ships together.
## Three ways customers can add products
Revize gives you three product-addition experiences. They work together, but they solve different jobs.
**You are here.** Proactively recommend products on the Thank-you and Order-status pages. You control the audience, product source, discount, layout, timing, and priority.
Let customers open the Revize Customer Portal and search or browse products when they already know what they want to add.
Put one-click Add to Order links in your post-purchase email and SMS flows.
This guide focuses on **Upsell offers**, the rule-driven offer engine available on the **Pro plan**.
## How the customer flow works
When a customer opens the Thank-you or Order-status page, Revize checks your active offers from top to bottom and shows the first one whose conditions match the order.
The offer displays products in your selected layout, with the discount, countdown, variants, quantity, and **Add to order** button.
The selected item is added through Shopify order editing. There is no second cart and no separate order.
Shopify recalculates the amount due and handles the additional payment. The added item stays on fulfillment hold until payment is captured, except for cash-on-delivery orders.
Payment always stays in Shopify's native flow. After the item is added, Shopify recalculates the amount due and lets the customer review and pay for the updated order. Revize does not create a side checkout or send a manual invoice for the upsell.
## Create an upsell offer
Open **Upsell** in the Revize app and click **Create offer**. New offers start as **Draft**, so nothing appears to customers until you set the status to **Active** and save.
Give the offer an internal name, then show it on the **Thank-you page**, **Order-status page**, or both.
Target specific orders or customers. Leave the conditions empty to show the offer on every eligible order.
Pick one of the six product sources below, then set fallbacks and inventory safety.
Add an optional discount, choose a layout, customize the copy, and enable an honest countdown tied to the order-editing deadline.
Set a start and end date if needed, choose how often the offer can be accepted, change the status to **Active**, and save.
## Choose what to recommend
Hand-pick the exact products you want to show.
Pull products from a Shopify collection.
Use Shopify recommendations to show products similar to what is already in the order.
Show products that go well with the order, including relationships configured in Shopify Search & Discovery.
Recommend in-stock top sellers automatically.
Show products the customer browsed but did not buy, powered by Revize's consent-aware web pixel.
### Product safeguards
Turn on **Fall back to bestsellers** to keep the offer visible when the selected source has no eligible products.
Recently viewed offers can also fall back to related products when the shopper has no browse history.
Choose one of three inventory rules:
* Skip products that are out of stock
* Skip products with fewer than 5 units in stock
* Show products regardless of stock
Enable **Hide products already in the order** when you never want to recommend an item the customer just bought.
## Target the right orders
With no conditions, the offer is eligible for every order. Add conditions when the offer should appear only for a particular order or customer segment.
| Condition | Example |
| -------------------------- | ------------------------------------------------------------- |
| **Order tags** | Show a wholesale add-on only when the order has `b2b` |
| **Order total** | Show a premium accessory above \$100 |
| **Item count** | Show a small add-on for one-item orders |
| **Order contains product** | Recommend refills when the starter kit is present |
| **Payment method** | Create different offers for prepaid and manual payment orders |
| **Shipping country** | Limit an offer to countries you can fulfill quickly |
| **Customer tags** | Give VIP or wholesale customers a dedicated offer |
| **First-time buyer** | Introduce a popular add-on after the first purchase |
| **Returning customer** | Show a loyalty-focused offer |
| **Lifetime spend** | Reserve a premium offer for high-value customers |
| **Order placed during** | Run an offer only during selected hours |
Conditions sit inside groups with **ALL** or **ANY** matching. Groups can also be combined with ALL or ANY, so you can express logic such as:
`(VIP customer) OR (order total above 150 AND shipping country is US)`
Revize re-checks the conditions on the server when the customer accepts the offer. An outdated page cannot bypass your targeting rules.
## Add a per-offer discount
Turn on **Discount** inside the offer builder, then choose:
* **Percentage** or **fixed amount**
* The discount value
* A discount label shown on the Shopify order line
* **Show strikethrough pricing** to display the original price beside the offer price
* **Exclude upsell from order discounts** when the upsell line should receive only its own offer discount
The offer discount is committed with the order edit. It is not stacked on top of a second copy of the same discount.
## Choose a layout
Full-width rows with room for product details.
Swipeable product cards, useful when you want to show several choices without a long page.
Compact rows and columns, with 2, 3, or 4 products per row on larger screens.
One hero product with maximum visual emphasis.
You can also set the number of visible cards, maximum products, button style, image shape, image fit, and whether product descriptions appear.
### Customize the copy
Edit the **Heading**, **Subheading**, and **Button text** per offer. Leave them blank to use Revize's built-in translated defaults.
Two dynamic tokens are available:
* `[discount]` inserts the offer discount, such as `20%`
* `[duration]` inserts the remaining offer time
Colors and fonts inherit the store's Shopify checkout branding automatically.
## Use an honest countdown
The countdown is optional and configured per offer.
Counts down to the real moment the order locks for editing. This is the recommended mode because the urgency matches the customer's actual last chance to add an item.
Starts a fixed duration when the customer first sees the offer. A custom countdown never runs past the real order-editing deadline.
Place the timer beside or below the heading, then choose **Boxed digits**, **Pill**, or **Plain text**.
## Control placement
On the Order-status page, choose one of three placements. The placement changes both the layout and what happens after the customer accepts an offer.
Show the offer as a highlighted card attached to the Revize order editor. You can place it above or below the editor. Because it shares the editor's add-product flow, the order updates instantly without refreshing the page.
Show the same editor-attached experience inside a compact **Offers for you** accordion. Customers expand the section and add a product without leaving or refreshing the page.
Add an isolated upsell block anywhere on the Order-status page through Shopify's **Add blocks** editor. After a customer accepts an offer, this block refreshes the page so Shopify can load the updated order. That refresh is expected for the standalone surface.
The Thank-you page always uses the standalone block.
If you select **Card above or below the editor** or **Expandable section**, you do not need a separate Upsell app block on the Order-status page. The normal Revize Customer Portal block is enough. Add the separate block only for the **Standalone block** placement or the Thank-you page.
## Recommend recently viewed products
Recently viewed offers turn a shopper's own browsing history into a highly relevant follow-up. Instead of showing a generic bestseller, Revize can surface the exact products the customer viewed but did not purchase while the original order is still open for editing.
Open **Upsell β Settings** and enable **Recently viewed tracking**. Revize adds a lightweight Shopify web pixel that:
1. Records product-view events only when the customer's analytics consent allows it
2. Connects that browsing session to the customer's checkout
3. Makes eligible viewed products available to the **Recently viewed** source on the Thank-you and Order-status pages
This creates a natural second chance for products the customer was already considering, without requiring you to hand-pick recommendations for every order. If no eligible browse history is available, configure the offer to fall back to related products or show nothing.
Nothing is recorded until you enable the setting. The Upsell settings page also shows whether the web pixel is active.
## Schedule and prioritize offers
* **Start:** immediately or on a chosen date
* **End:** never or on a chosen date
* **Priority:** drag offers into the order Revize should evaluate them
* **Accepts per order:** unlimited or once per order
* **Automatic states:** scheduled, active, and expired based on your dates
Revize evaluates active offers from top to bottom and shows the first matching one. Put the most specific offers above broad fallback offers.
## Measure captured upsell revenue
The Upsell dashboard reports:
See how many orders saw an offer, how many accepted, and the order-based conversion rate.
Measure the change in average order value from paid upsells.
Compare individual offers and daily trends.
See the top five upsold products ranked by captured revenue.
**Revenue counts only captured sales.** An accepted offer that is never paid for, or an item that is removed before payment, contributes zero. Revize reconciles the result with Shopify before it appears as Upsell revenue.
## Order tags
Revize applies tags that you can use in Shopify Flow, reporting, fulfillment rules, or your own integrations.
| Tag | Meaning |
| ------------------------- | --------------------------------------------- |
| `revize:upsell` | The order's net value increased after an edit |
| `revize:upsell_offer` | A customer accepted an Upsell offer |
| `revize:order_downgraded` | The order's net value decreased after an edit |
## Enable your first offer
In the Revize app, go to **Upsell**.
Click **Create offer**, choose the surfaces, targeting, products, discount, design, countdown, and schedule.
New offers are Draft. Change the status to **Active**, then save.
Add the Revize Upsell block to the **Thank-you page** and to the Order-status page only when you selected **Standalone block**. For **Card above or below the editor** or **Expandable section**, the normal Revize Customer Portal block is enough. Do not add a second Upsell block.
Open the Thank-you and Order-status pages, confirm the right offer appears, add a product, and complete the Shopify payment flow.
Start with one broad offer and a real order-editing deadline. Once you have conversion data, add more specific offers above it for VIPs, high-value orders, or particular products.
***
## Frequently asked questions
No. Revize adds the product to the customer's existing Shopify order through order editing.
Shopify handles the additional payment. After Revize adds the item, the customer reviews the updated order and pays the recalculated amount through Shopify.
The added item stays on fulfillment hold and does not count as captured Upsell revenue. Enable [Reverse Unpaid Edits](/setup/reverse-unpaid-edits) under **Settings β General** when you want unpaid changes rolled back automatically after a grace window.
Yes. Revize checks active offers in priority order and shows the first one whose conditions match. Drag offers to change their priority.
You decide per offer. Choose **Unlimited** or **Once per order** under Advanced.
Built-in default copy is translated automatically. Custom Heading, Subheading, and Button text can be translated per offer from **Translations**.
The recommended mode counts down to the real order-editing deadline. A custom countdown is also capped by that deadline, so it never claims the offer lasts longer than the order can actually be edited.
Upsell offers are available on the **Pro plan**. The customer-initiated Add products experience remains part of the Revize order-editing portal.
## Related Revize features
* [Add Products](/features/add-products-upsell): the customer-initiated flow inside the Revize Customer Portal
* [Customer Portal](/features/customer-portal): where customers manage the rest of their order
* [Reverse Unpaid Edits](/setup/reverse-unpaid-edits): automatically restore orders when customers do not pay for added cost
* [Product Variant & Quantity Edits](/features/product-quantity-edits): let customers adjust products already in the order
* [Order Editing Window](/setup/edit-window): controls the real deadline used by the Upsell countdown
* [Rules Engine](/setup/rules-engine): set different editing windows for different kinds of orders
* [Analytics](/features/analytics): measure the broader impact of post-purchase edits
# Reverse unpaid Shopify order edits automatically
Source: https://docs.revize.app/setup/reverse-unpaid-edits
Automatically restore an edited Shopify order to its last paid state when a customer does not pay the additional balance.
Reverse Unpaid Edits restores an order to its **last paid state** when a customer abandons an additional payment. Revize releases the fulfillment hold only after Shopify confirms that the balance is settled.
Reverse Unpaid Edits is available on the **Pro plan**, is **off by default**, and changes nothing until you enable it under **Settings β General**.
## What changes when you enable it
When a customer adds a product, upgrades shipping, or makes another change that increases the order total, Shopify creates an additional balance. Revize holds the edited order from fulfillment while the customer pays.
Without automatic reversal, an unpaid order can remain on hold after its editing deadline and later trigger a payment-incomplete email for merchant action. With **Reverse Unpaid Edits** enabled, Revize waits through your grace period, removes the unpaid change, verifies the live Shopify balance, and releases the order automatically.
Revize does not reset the whole order. If a customer paid for one edit and abandoned a later one, only the later unpaid difference is reversed.
## When the grace period starts
Set a positive duration in **minutes** or **hours**. The timer behaves differently depending on your order-editing window:
For deadlines such as **15 minutes**, **60 minutes**, or **Saturday at 4:00 PM**, the grace period starts only when the editing deadline ends.
Example: if editing ends at 4:00 PM and the grace period is 30 minutes, Revize checks the unpaid order at 4:30 PM.
Because there is no fixed editing deadline, the grace period starts when a completed edit leaves an additional balance due.
Every newer unpaid edit resets the timer, so Revize always measures the grace period from the customer's latest unpaid change.
If the customer pays before the timer ends, Revize leaves the paid edit in place and the reversal does not run.
## What Revize restores
Revize returns line items, quantities, shipping, and any payment-causing address change to the newest paid or authorized version of the order. A harmless address correction is preserved when it did not create the unpaid balance.
If the restored order becomes overpaid, Revize schedules a refund for the difference. If Shopify still reports money owing after the rollback, the order stays on hold for review. It is never released with a remaining balance.
Revize skips automatic reversal when the order:
* Has already been paid or cancelled
* Already matches its last paid state
* Uses cash on delivery or another manual or offline payment method
* Has one of your **Do-not-reverse tags**
## Enable Reverse Unpaid Edits
Go to **Settings β General β Reverse unpaid edits** and turn on **Reverse automatically**.
Enter a duration of at least `1`, then choose **Minutes** or **Hours**. This is the grace period described above.
Add any order tags that should keep a matching order out of the automation. Matching is case-insensitive.
Save the settings. New eligible unpaid edits will now be reversed and released automatically after the grace period.
Start with enough time for customers to finish Shopify's additional-payment flow, without delaying fulfillment longer than your team can tolerate.
Before changing or releasing anything, Revize checks the live Shopify order again. Successful reversals add the `revize:reverse_unpaid` tag and remove the unpaid change from captured-revenue reporting.
## Related Revize features
* [Post-purchase Upsells](/setup/post-purchase-upsells): add products to an existing order and collect only the difference
* [Order Editing Window](/setup/edit-window): control how long customers can edit their orders
* [Fulfillment Sync](/setup/fulfillment-sync): hold edited orders until they are ready to ship
* [Payments & Refunds](/setup/payments-and-refunds): understand Shopify's additional-payment and refund handling
* [Analytics](/features/analytics): measure captured added revenue and post-purchase edits
# Shopify order editing rules engine
Source: https://docs.revize.app/setup/rules-engine
Set per-order editing policies with the Revize rules engine. Match orders on tags, customer, metafields, value, destination, and more, then control the editing deadline and apply actions like fulfillment holds, hidden modules, and tags. Available on Pro and above.
Revize is a Shopify app for post-checkout order editing.
One store-wide editing window forces compromises. The **rules engine** lets you set a different editing policy per order: pre-orders stay open for weeks, in-stock orders lock in minutes, VIPs get extra time, and high-risk destinations are locked down. You get full control, order by order.
## Why a rules engine helps
Instead of one window for the whole store, give each kind of order the exact editing policy it needs.
Lock editing fast on in-stock orders, or hold fulfillment while an order stays editable, so nothing ships mid-change.
Give VIPs or wholesale accounts a longer editing window without opening it up for everyone.
Pre-order plus in-stock, subscription plus one-off, B2B plus retail. Each segment gets its own deadline and behavior.
## How a rule works
A rule has three parts. You define when it applies, how long editing stays open, and what else should happen.
Pick what an order must match: tags, customer, metafields, value, destination, and more. Combine conditions with AND/OR logic.
Choose the deadline for matched orders: the store default, a fixed duration, a scheduled cutoff, a specific time, a date from a metafield, or until the order is fulfilled.
Optionally hold fulfillment, hide specific edit modules, apply tags, or disable editing entirely for matched orders.
Rules run in priority order and the first match wins. Any order that matches no rule falls back to your [store-wide editing window](/setup/edit-window), so you can roll out rules gradually with zero migration.
## Conditions
Add one or more conditions to decide which orders a rule applies to. The rule matches when the conditions evaluate true against the order.
| Condition | What it matches | Operators | Example value |
| ----------------------- | ----------------------------------------------------------- | -------------------------------------- | --------------------------------------------------- |
| **Order tags** | Tags on the order | is, is not, contains, does not contain | `pre-order`, `in-stock` |
| **Customer tags** | Tags on the order's customer | is, is not, contains, does not contain | `vip`, `wholesale` |
| **Metafield** | An order metafield by namespace and key | exists, equals | namespace `custom`, key `process_date`, value `red` |
| **Order value** | The order total | is greater than, is less than | `150` (a number, in your store currency) |
| **Destination country** | The shipping country | is | ISO codes such as `us`, `ca`, `gb` |
| **Shipping method** | The shipping method chosen at checkout | is, is not, contains, does not contain | `Standard`, `Express` |
| **B2B orders** | Orders placed by a B2B company | is true | no value |
| **Subscription** | Recurring subscription orders (Skio, Recharge, and similar) | is true | no value |
| **Pickup** | Local pickup orders | is true | no value |
| **Sales channel** | The order's sales channel | is | `web`, `pos`, `draft_order` |
| **Days of week** | Orders placed on specific weekdays | is | `Mon`, `Tue`, `Fri` |
| **Time window** | Orders placed during specific hours (store timezone) | between | `18:00` to `06:00` (24-hour, spans midnight) |
**Group your logic.** Combine conditions with **AND** (match all) or **OR** (match any). For more complex rules, add condition groups and set how the groups combine, so you can express things like "(VIP customer) OR (order over 500 AND ships to Germany)".
**Values are free text where it makes sense.** Tags, shipping methods, and metafield values are entered as you type them (tags and countries as chips). Country and sales-channel values are matched case-insensitively. There is no product or SKU condition; to target specific products, tag those orders (for example with Shopify Flow) and match the order tag.
## Editing deadline
The deadline controls how long matched orders stay editable.
| Mode | What it does | Buffer |
| ------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- | ------ |
| **Store default** | Uses your store-wide editing window. No per-rule override. | No |
| **After a duration** | Editable for a set time after the order is placed. Presets: 15 minutes, 30 minutes, 1 hour, 24 hours, 48 hours, or a custom value. | No |
| **Scheduled cutoff** | One or more weekday and time cutoffs (for example every Friday at 5pm). | Yes |
| **Specific time** | A fixed wall-clock cutoff, daily or on a chosen weekday. | Yes |
| **From a metafield date** | Reads the deadline from an order metafield. Used by pre-order shops where the ship date is set per order by Shopify Flow. | Yes |
| **Until fulfilled** | Editing stays open until Shopify marks the order fulfilled. | No |
**Buffer.** Scheduled cutoff, specific time, and from-a-metafield-date deadlines support a buffer: a stretch of time before the nominal deadline where editing is already closed. For a Friday 5pm cutoff with a 2-hour buffer, editing closes at 3pm, so an order placed anywhere from 3:01pm to 4:59pm finds editing already closed rather than getting a shortened window. Set a buffer value and a unit of minutes, hours, or days.
**What the metafield must hold (From a metafield date).** You enter the metafield namespace (for example `custom`) and key (for example `process_date`). The metafield itself must hold a date or datetime: a Shopify **date** or **date and time** metafield, an ISO 8601 datetime (`2026-07-15T17:00:00Z`), a plain date (`2026-07-15`), or a Unix timestamp all work. Dates without a timezone are read in your store timezone.
## Actions
Actions are optional side effects that run for orders a rule matches. Each is a simple on/off toggle.
Apply one or more tags to the order once its editing deadline closes, not when the rule first matches. Useful for downstream automations, for example tagging orders as soon as editing closes so Shopify Flow or your 3PL can act on them.
Place a Shopify fulfillment hold while the order stays editable, so it does not ship mid-change. The hold is released when the editing deadline passes.
Hide specific edit actions from the customer portal for matched orders. Pick any of: Add products, Replace products, Change variant or quantity, Edit shipping address, Edit contact information, Upgrade shipping method, Download tax invoice, Apply discounts, Cancel order, Contact customer support, Add preferred delivery date, Add custom note.
Turn off editing entirely for matched orders. The portal editing section is not shown, regardless of the deadline.
A couple of natural constraints keep rules sensible: **Disable editing** and **Hold fulfillment** cannot both be on (a disabled order has nothing to hold for), and the **Until fulfilled** deadline turns off Hold fulfillment and Tag orders, since those act on a time-based cutoff.
## Priority and fallback
* **First match wins.** Rules run in priority order, top to bottom. The first rule whose conditions match an order is applied, and the rest are skipped.
* **Drag to reorder.** Reorder rules on the list page to change their priority. Put your most specific rules above your broadest ones.
* **Fallback to the store default.** Any order that matches no rule uses your [store-wide editing window](/setup/edit-window). You can add rules incrementally without touching your default.
## How rules are evaluated
* **Evaluated when the order is placed.** Revize snapshots the order (tags, customer, metafields, value, destination, and more) and picks the matching rule.
* **Flow-aware.** Shopify Flow often writes tags or metafields a moment after checkout. Revize waits up to a minute for that late-arriving data and re-evaluates, so those orders still match the right rule.
* **Two things stay dynamic after checkout:**
* **Metafield-date deadlines shift with the date.** If a rule reads its deadline from a metafield and that date changes (for example a pre-order ship date pushed back), the deadline moves with it.
* **Tag-based rules re-match when tags change.** If a rule matches on order tags or customer tags and those tags are added or removed later (by Shopify Flow, an app, or your team), Revize re-evaluates and can apply a different rule, updating the deadline.
* **Customer edits do not re-trigger it.** A customer editing their own order (address, items, quantity, value) never changes which rule applies or shifts the deadline. Only the rule inputs above (tags and rule-referenced metafields) drive re-evaluation.
## Example rules
Five setups merchants run today:
| Scenario | Condition | Editing deadline | Actions |
| ---------------------------------- | --------------------------- | ------------------------------ | --------------- |
| **Pre-order shop** | Order tag `pre-order` | Until fulfilled | None |
| **VIP differentiation** | Customer tag `vip` | After a duration, 48 hours | None |
| **B2B end-of-business cutoff** | B2B orders | Scheduled cutoff, weekdays 5pm | None |
| **High-risk destination lockdown** | Destination is `ru` or `by` | Store default | Disable editing |
| **Fast-shipping in-stock SKUs** | Order tag `in-stock` | After a duration, 30 minutes | None |
## Create a rule
In the Revize app, go to **Order Editing β Rules**. On the Pro plan and above you will see the rules list; the first time, it shows an empty state with **Create rule**.
Give the rule a clear name (for example "VIP Customers") and set its status to **Active** when you are ready for it to apply.
Click **Add condition** to choose what orders it matches. Add more conditions or an **Add condition group** for complex logic, and set AND/OR.
Pick a deadline mode. For **After a duration**, choose a preset or set a custom value. For scheduled, specific-time, or metafield-date modes, set the cutoff and an optional buffer.
Optionally turn on Tag orders, Hold fulfillment, Hide modules, or Disable editing.
Save the rule. Back on the list, drag rules into priority order so the most specific ones sit above the broadest ones.
Order your rules from most specific to most general. A narrow rule like "high-risk destination lockdown" should sit above a broad rule like "all orders editable for 24 hours", so the specific policy wins.
***
## Frequently asked questions
The rules engine is available on the **Pro plan and above**. On other plans, every order uses your store-wide editing window.
They fall back to your [store-wide editing window](/setup/edit-window). Rules only override the default for the orders they match, so adoption is incremental with zero migration.
The first match wins. Rules are evaluated in priority order (top to bottom), and only the first rule whose conditions match is applied. Drag rules to reorder their priority.
No. A customer editing their own order (address, items, quantity, value) does not change which rule applies or shift the deadline. Revize does re-evaluate when the inputs a rule depends on change: order tags, customer tags, or a metafield the rule reads. So a metafield-date deadline moves if the date changes, and a tag-based rule re-matches if the order's tags change.
No. Rules apply to new orders placed after the rule is active. Existing orders keep the deadline they already had.
Not directly. There is no product or SKU condition. Match on order tags instead (for example tag in-stock SKUs at checkout with Shopify Flow, then match the `in-stock` order tag).
Yes. Revize waits up to a minute after checkout for Shopify Flow to write tags or metafields, then evaluates, so rules that depend on that data still match.
The rules engine turns a single store-wide window into a full policy engine: match orders on the conditions that matter to you, set the right editing deadline for each, and layer on holds, hidden modules, and tags. You decide exactly how every order behaves.
## Related Revize features
* [Order Editing Window](/setup/edit-window): the store-wide default that rules override, and the fallback for unmatched orders
* [Order Edit Restrictions](/setup/order-edit-restrictions): further limits on what customers can edit
* [Customer Portal](/features/customer-portal): where customers make the edits your rules govern
# Edit Shopify subscription and pre-order purchases
Source: https://docs.revize.app/setup/subscription-preorders
Revize supports order editing for subscription and pre-order purchases. Extend self-service editing to recurring orders and advance purchases.
Revize goes beyond Shopify's native capabilities to support order editing for subscriptions and pre-ordersβgiving your customers flexibility across all purchase types.
## Subscription order editing
Shopify has limitations on editing subscription orders natively. Revize extends these capabilities so your subscription customers get the same self-service experience as one-time buyers.
### What Revize enables
Subscription customers get the same self-service portal as one-time buyers:
* **[Change variant](/features/product-quantity-edits)** β swap size, flavor, or any variant for the current order
* **[Add one-time products](/features/add-products-upsell)** β ship extras alongside the recurring order
* **[Update shipping address](/features/address-edits)** β optionally sync to the subscription contract
* **[Apply discount codes](/features/apply-discounts)** β codes the customer forgot at checkout
* **[Cancel current order](/features/cancel-order)** β without cancelling the whole subscription
* **[Request tax invoice](/features/invoices-and-tax)** β generate and download
* **[Submit support tickets](/features/support-tickets)** β direct from the portal
* **[Set preferred delivery date](/features/delivery-date)** β for the current fulfillment
### How it works
* **Variant changes persist for that order only** β If a customer swaps from "Medium" to "Large", it applies to the current order. Future subscription orders follow the subscription contract.
* **One-time products ship together** β Added items are fulfilled with the subscription order, not separately.
* **Edits stay in Shopify** β Changes sync to Shopify but don't modify the subscription app's contract.
For changes to future subscription orders (frequency, ongoing variant changes, etc.), customers should use your subscription app's management portal.
### Supported subscription apps
Revize works with any subscription app that creates orders through Shopify:
* ReCharge
* Bold Subscriptions
* Appstle
* Loop
* Seal Subscriptions
* PayWhirl
* And others
***
## Pre-order editing
Revize provides **complete end-to-end support** for pre-order editingβsomething Shopify doesn't offer natively.
### Full pre-order capabilities
* **Edit before release** β modify pre-orders anytime before the product ships
* **Change variants** β swap colors, sizes, or configurations before fulfillment
* **Add products** β include additional items to ship with the pre-order
* **Update details** β change shipping address, contact info, or delivery preferences
### Compatible pre-order apps
Revize works seamlessly with all major pre-order apps, including:
* PreProduct nextβgen preβorder
* Preorder, Back In Stock β STOQ
* Notify! Back in Stock|PreOrder
* Preorder | Notify Me Timesact
* And many more
Using a pre-order app? [Contact us](/support/contact) for smooth integration and setup.
### Why this matters
Pre-order customers often wait weeks or months for their items. During that time, circumstances changeβthey move, want a different color, or need to add something else. Revize lets them handle these changes themselves instead of contacting support.
***
## Get started
Subscription and pre-order editing requires configuration for your specific setup.
Reach out to enable subscription and pre-order editing for your store
See how it works with your subscription app
## Related pages
* [Customer Portal](/features/customer-portal) β where customers access editing
* [Add Products](/features/add-products-upsell) β add items to any order type
* [Edit Window Settings](/setup/edit-window) β configure when editing is available
# Translate the Shopify order editing portal
Source: https://docs.revize.app/setup/translations
Customize and translate Shopify order editing text for global customers. Revize supports 24+ languages with automatic translations and full customization options.
Speak your customers' language. Revize automatically translates the order editing experience into 24+ languages, with full customization control to match your brand voice.
## Why translations matter for global Shopify stores
Customers feel more confident editing orders in their native language, leading to higher completion rates.
Clear, localized instructions prevent misunderstandings and reduce international support tickets.
Professional translations in local languages show customers you care about their experience.
Remove language barriers to serve international customers effectively across all markets.
## Supported languages
**Western European:**
* Spanish (es)
* French (fr)
* German (de)
* Italian (it)
* Dutch (nl)
* Portuguese (pt)
* Portuguese Brazilian (pt-br)
**Northern & Eastern European:**
* Finnish (fi)
* Swedish (sv)
* Danish (da)
* Norwegian (no)
* Polish (pl)
* Hungarian (hu)
* Lithuanian (lt)
* Romanian (ro)
* Russian (ru)
**East Asian:**
* Korean (ko)
* Japanese (ja)
* Simplified Chinese (zh)
**Southeast & South Asian:**
* Thai (th)
* Georgian (ka)
**Middle Eastern & Semitic:**
* Hebrew (he)
* Arabic (ar)
Need another language? Email us at [hello@revize.app](mailto:hello@revize.app) and we'll add it within minutes. We can support virtually any language your customers speak.
## Translation quality and customization
We use advanced AI combined with human review to ensure accurate, natural translations. However, you have complete control to customize any text to match your brand voice or local nuances.
Access your translations dashboard to customize text across all supported languages.
## Three customization areas
### Order Edit Message Box
Customize the message box that appears on your thank you page to inform customers about order editing.
**Appears on:** Thank you page after checkout\
**Purpose:** Inform customers they can edit their order
**Default text:**
* **Title:** "Good news! You can edit your orders"
* **Description:** "You have \[duration] to make changes. You can add products, edit the shipping address, and much more."
* **Button:** "Edit order"
**Customize the appearance:** Go to **Settings > Checkout > Order status page** in your Shopify admin, find the Revize app block, and adjust styling options.
**Dynamic duration:** Use the `[duration]` variable to show exact time remaining, like "You have 30 minutes to make changes" - this creates urgency and improves conversion rates.
**Creative alternatives for your message box:**
* "Oops, need to change something? No problem!"
* "Made a mistake? Fix it instantly!"
* "Your order isn't set in stone - edit it now!"
How the message box appears to customers on the thank you page after checkout.
### Notifications
Set up notification banners that appear throughout the customer experience to remind about editing options.
**Appears:** Throughout the customer journey as notification banners\
**Purpose:** Remind customers about editing availability
**Default text:**
* **Title:** (optional)
* **Description:** "Your order is available for editing!"
**Customize the appearance:** Go to **Settings > Checkout > Order status page** in your Shopify admin, find the Revize notification app block, and adjust styling.
**Create urgency with duration:** Use descriptions like "You have \[duration] left to edit your order!" to encourage immediate action. The variable automatically updates to show "30 minutes," "1 hour," etc.
**Engaging notification examples:**
* "Last chance to perfect your order!"
* "Still time to add that item you forgot!"
* "Quick! \[duration] left to make changes!"
### Customer Portal
Customize every piece of text customers see in the order editing portal.
**Comprehensive text control for:**
**Customize all editing option titles:**
* Edit your order
* Add products
* Replace products
* Change variant or quantity
* Edit shipping address
* Edit contact information
* Upgrade shipping method
* Download tax invoice
* Apply discounts
* Cancel order
* Contact customer support
* Add preferred delivery date
**7 fully customizable cancellation options** that appear when customers cancel orders. Default reasons include common scenarios, but you can personalize them for your business and customer base.
**7 customizable support categories** that help organize customer requests and route them to the right team members for faster resolution.
**Transaction messaging including:**
* Payment due notifications
* Refund processing information
* Order confirmation prompts
* Balance and payment status updates
See how your customized text appears in the actual customer portal interface.
## How to customize translations
In your Revize app, click **Translations** in the sidebar.
Click the language dropdown to switch between your store's published languages.
Select from Order Edit Message Box, Notifications, or Customer Portal tabs.
Modify any text field to match your brand voice and customer needs.
Click **Save** to apply your customizations immediately.
**Language availability:** Only languages published in your Shopify store will appear in the translations interface. Add languages to your store first, then customize them in Revize.
## Advanced customization options
**Beyond the dashboard:** We've included the most commonly customized text in your Revize dashboard. For advanced customizations like specific error messages, buttons, confirmation text, or specialized workflow language, contact our support team at [hello@revize.app](mailto:hello@revize.app).
**Brand personality examples:**
**Message Box:** "Whoops! Forgot something? No worries - you've got time to fix it!"\
**Notification:** "Psst... your order is still editable!"\
**Widget Header:** "Tweak your order"
**Message Box:** "Order modifications available for \[duration]"\
**Notification:** "Edit window active - make changes now"\
**Widget Header:** "Modify order details"
**Message Box:** "Act fast! \[duration] to perfect your order!"\
**Notification:** "Time running out - edit now!"\
**Widget Header:** "Quick order changes"
**Message Box:** "Refine your order to perfection"\
**Notification:** "Your concierge editing service awaits"\
**Widget Header:** "Curate your selection"
## Frequently asked questions
Email us at [hello@revize.app](mailto:hello@revize.app) with the language you need. We'll add it within minutes and provide automatic translations for all text elements.
Yes, changes in the translations dashboard update immediately. Test different languages by switching your browser language.
Our AI-powered translations work great out of the box. Your customers will see professional, accurate translations without any setup required.
Absolutely! Contact our support team for advanced customizations. We can modify any text element in the order editing experience to match your needs.
Not at all. Translations only change the text customers see - all editing features, logic, and integrations work exactly the same regardless of language.
Professional translations remove barriers and create trust with international customers. Take a few minutes to customize key messages and watch your global conversion rates improve.
# Revize pricing for Shopify order editing
Source: https://docs.revize.app/support/billing
Revize pricing plans, billing details, and subscription options. Compare Free, Starter, and Pro plans for order editing, upsells, and automated refunds.
Revize is a Shopify app for post-checkout order editing.
Revize offers simple, transparent pricing for order editing. Start free, upgrade when you need advanced features. No hidden fees or per-order charges.
## Revize pricing plans
**\$0/month**
For new or small stores getting started with order edits.
* 20 order edits every month
* Time-based and recurring edit deadlines
* Product quantity and variant changes
* Shipping address and contact updates
* Automated order cancellations
* Set order editing deadline
* Automatic refunds to the original payment method
* Control for order downgrades
* Standard support
**\$49/month**
For scaling stores that need unlimited edits and better controls.
* Unlimited order edits
* Time-based and recurring edit deadlines
* Product quantity and variant changes
* Shipping address and contact updates
* Automated order cancellations
* Set order editing deadline
* Automatic refunds to the original payment method
* Control for order downgrades
* Customizable email notifications to shoppers
* Priority support
* 7-day free trial
**\$149/month**
*or \$1,430.40/year (save 20%)*
For advanced teams focused on growth, upsells, and automation.
* Everything in Starter, plus:
* Add or upsell products to boost order value
* Switch products in the order
* Set preferred delivery date
* Create support tickets
* Edit and download tax invoices
* Automatic refunds as store credits
* Discount recalculation
* Shipping and tax recalculation
* Customize app for your store
* Custom feature requests and integrations
* Dedicated support & live call onboarding
* 14-day free trial
## Compare plans
| Feature | Free | Starter | Pro |
| :------------------------------------------- | :------: | :-------: | :-------------------: |
| Monthly price | \$0 | \$49 | \$149 |
| Annual option | β | β | \$1,430.40 (save 20%) |
| Order edits | 20/month | Unlimited | Unlimited |
| Edit deadlines (time-based & recurring) | β | β | β |
| Quantity and variant changes | β | β | β |
| Address and contact updates | β | β | β |
| Automated order cancellations | β | β | β |
| Set order editing deadline | β | β | β |
| Automatic refunds to original payment method | β | β | β |
| Control for order downgrades | β | β | β |
| Customizable email notifications | β | β | β |
| Priority support | β | β | β |
| Add or upsell products | β | β | β |
| Switch products in the order | β | β | β |
| Preferred delivery date | β | β | β |
| Support tickets | β | β | β |
| Edit or download tax invoices | β | β | β |
| Store-credit refunds | β | β | β |
| Discount recalculation | β | β | β |
| Shipping and tax recalculation | β | β | β |
| Customization and integrations | β | β | β |
| Dedicated support & live onboarding | β | β | β |
## Billing information
Billing begins when you upgrade from Free. Paid plans include a 7-day or 14-day free trial. Annual plans save 20% with upfront payment.
Yes. You can upgrade or downgrade anytime. Upgrades apply immediately, downgrades take effect at the next billing cycle. All changes are prorated.
No penalties. Your account stays active until the end of the billing period, then you can move back to Free.
Yes. We offer a 30-day money-back guarantee for new subscriptions. See the
Refund Policy
for details or email
[hello@revize.app](mailto:hello@revize.app)
.
## Need help?
Email us anytime with billing questions
Book a 30-minute walkthrough with our team
# Contact Revize support
Source: https://docs.revize.app/support/contact
Need help with Revize? Reach us by email, live chat, or through our website.
Revize is a Shopify app for post-checkout order editing.
We're here to help you get the most out of Revize. Choose the support option that works best for you.
## How to reach us
**[hello@revize.app](mailto:hello@revize.app)**
Send us an email anytime. Typical response time: within a few hours on business days.
**In-app & on website**
Chat with us directly here by clicking the chat icon in the bottom right corner of the page.
## What to include
Tell us what you were trying to do, what happened, and what you expected.
Include your .myshopify.com address so we can look into your setup.
Screenshots help us quickly understand and solve your issue.
No matter how small the question, our team is here to help.
# Shopify order editing FAQ
Source: https://docs.revize.app/support/faq
Complete FAQ for Revize order editing app. Find answers on post-purchase modifications, self-service editing, setup, pricing, and order management features.
Revize is a Shopify app for post-checkout order editing.
Common questions on setup, customer experience, billing, and troubleshooting. For deeper topics β discounts after checkout, subscriptions, split shipping, 3PL integrations β see the [Advanced FAQ](/support/faq-advanced).
## Getting started
Revize is a powerful app that empowers your customers to modify their orders after checkout through a seamless self-service portal. Instead of creating support tickets, customers can independently update shipping addresses, change product quantities, add new products, upgrade shipping, and even cancel orders. This significantly reduces your support workload while increasing average order value and customer satisfaction.
Revize can be fully configured in just 5 minutes! Installation from the [Shopify App Store](https://apps.shopify.com/revize) takes about 2 minutes, and basic configuration (setting your edit window, refund options, and customer permissions) takes another 3. You can start testing immediately with draft orders to ensure your flow works perfectly before going live.
Yes, Revize is fully compatible with all Shopify plans and works seamlessly with any theme, including headless commerce setups. Our portal automatically inherits your store's styling for a completely consistent brand experience on both mobile and desktop.
Merchants using Revize typically see a clear drop in order-related support tickets. Common requests like "can I change my shipping address?" or "I ordered the wrong size" are handled entirely by the customer through our self-service system. This frees up your support team to focus on complex issues that truly require a human touch.
## Setup and configuration
Revize offers maximum flexibility for editing windows. You can set time-based edit windows from 5 minutes to 48 hours. Alternatively, you can keep editing open until an order is fulfilled or create scheduled cutoffs (e.g., daily at 2 PM) to align perfectly with your 3PL or warehouse schedule.
Absolutely! Use order tags and product tags to create simple yet powerful exclusion rules. For example, you can block editing on orders tagged with "custom-engraving" or prevent edits to products tagged with "final-sale". This gives you granular control over the editing experience.
We highly recommend using Shopify's [draft orders feature](https://help.shopify.com/en/manual/orders/create-orders) to safely test every scenario. Create test orders for different products, test the upsell flow, and process payments without affecting your live store data.
Yes, Revize integrates seamlessly with any 3PL provider or ERP system that works with Shopify's API (including ShipStation, NetSuite, ShipBob, Flexport, etc.). Revize can automatically place orders on hold during the edit window and release them for fulfillment once the window closes, ensuring your workflow is never disrupted.
## Customer experience
Customers can edit their order from multiple convenient entry points: the order status page (thank you page), or by clicking the "Edit Order" link in their order confirmation email. The portal opens directly within your store's native environment, maintaining a seamless brand experience.
Customers can perform a wide range of modifications based on your settings. This includes changing a shipping address, updating contact info, changing product variants (e.g., size or color), adding or removing products, upgrading shipping methods, and cancelling their order. You have full control over which features are enabled.
When a new order is placed, Revize can place it on hold. During the edit window, the customer can make changes. If they add items, they complete the payment for the difference via secure checkout. If no edits are made, the order is automatically released to your fulfillment queue when the window expires.
Once the window closes, the "Edit Order" links and buttons disappear from the customer's order status page. They are shown a clear message that the editing period has ended. The order is then automatically released for fulfillment.
All additional payments for upsells or shipping upgrades are processed securely through your existing payment gateway. If a customer adds items but fails to complete the payment, the order remains on hold and reminder emails are sent. This ensures you never ship an order that hasn't been fully paid for.
No. Revize only works on orders created **after the app is installed**. Past orders placed before installation are not editable. From the moment Revize is live on your store, all new orders will automatically follow your configured rules.
## Advanced calculations
Yes! Our smart engine brilliantly recalculates all applicable discountsβincluding promo codes, automatic discounts, and tiered pricingβwhen a customer modifies their order. This maintains your promotional integrity and ensures the customer always sees the correct, final price.
Absolutely. Revize automatically recalculates all applicable taxes when a customer changes their shipping address. It ensures compliance with regional tax laws by applying the correct rates for the new destination, preventing compliance headaches and ensuring accurate order totals.
Revize communicates in real-time with your store's shipping settings. When a customer adds/removes products or changes their address, Revize instantly re-evaluates the available shipping methods and rates. This ensures customers always see accurate, real-time shipping options that reflect their modified cart and new destination.
## Business operations and analytics
All payment and refund transactions occur through your secure system. For additions, customers pay the difference. For removals or cancellations, refunds can be processed automatically to the original payment method or issued as store credit, giving you full control over your returns policy.
Revize syncs directly with native inventory systems. It checks stock levels in real-time when customers add products to prevent overselling and automatically restocks inventory when items are removed. This ensures your inventory remains accurate at all times.
Our analytics dashboard gives you a clear view of your ROI. Track total orders edited, revenue generated from upsells, support hours saved, and see which edits are most common. All data links directly to the corresponding orders for easy verification.
Revize automatically applies descriptive tags (e.g., `revize-edited`, `revize-upsell`) to orders in your Admin. This makes it incredibly easy to filter, track, and build custom workflows for edited orders within your existing process.
## Technical features
No. Revize has **zero impact on your storefront's load speed** or Core Web Vitals. Our scripts load asynchronously and only on the necessary post-purchase pages (like the order status page), not on your product or collection pages where speed matters most for conversions.
Security is our top priority. Revize is built following strict security and data privacy standards. All payment information is handled directly by PCI compliant servers, and all data transmission is fully encrypted.
Yes! Our portal automatically inherits your theme's fonts and colors for a seamless look. You can also customize all customer-facing text and translate it into any language directly from the Revize dashboard to match your brand's voice perfectly.
Revize integrates with any app or service that uses native APIs for orders, payments, and inventory. This includes major 3PLs (ShipBob, Flexport), ERPs (NetSuite), and fulfillment platforms (ShipStation), ensuring a cohesive tech stack for your e-commerce operations.
## Pricing and billing
Revize offers flexible plans for every stage of growth, including a Free plan. Our paid plans, Starter and Pro, offer unlimited order edits and advanced features like upsells, smart discount recalculation, and priority support. You can see a full feature comparison on our [Pricing Page](/support/billing).
Yes! All of our paid plans come with a **7-day & 14-day free trial**. You can test the complete, unrestricted functionality to see the value it brings to your store before committing to a subscription.
Absolutely! You can upgrade or downgrade your plan at any time directly from the Revize dashboard. Changes are prorated and handled seamlessly through billing, ensuring flexible scaling for your needs.
## Looking for more advanced topics?
Discounts after checkout, subscriptions and pre-orders, delivery date options, split shipping, custom sender emails, third-party checkouts, the cancellation API, and 3PL integrations (Mintsoft, ShipStation) all live on a separate page.
[Browse the Advanced FAQ β](/support/faq-advanced)
## Troubleshooting common issues
**Common solutions:** First, check that the Revize app block is enabled on your order status page in the theme customizer. Second, ensure the specific order doesn't have a blocking tag and that the edit window hasn't expired. If you've checked these requirements, contact [hello@revize.app](mailto:hello@revize.app) for a quick resolution.
**Quick fixes:** This is often a browser-specific issue. Ask the customer to clear their browser cache, disable any ad-blocking extensions, or try a different browser. Most loading issues are resolved by these simple steps.
**Payment issues:** Since all payments are handled natively, these errors are typically related to the customer's payment method (e.g., insufficient funds, incorrect CVC). Advise the customer to try a different card or contact their bank.
**Fulfillment sync:** Check your store's order processing settings to ensure you don't have an automation that's fulfilling orders instantly, bypassing the edit window. If you use a 3PL, ensure they are configured to respect fulfillment hold statuses. Our team can help you troubleshoot this.
## Need help?
Personalized help from our team. Typical response: 2β4 hours.
30-minute walkthrough of Revize features.
# Advanced Shopify order editing FAQ
Source: https://docs.revize.app/support/faq-advanced
Deep dives on Revize advanced features β discounts, subscriptions, delivery dates, split shipping, custom sender email, third-party checkouts, cancellation API, and 3PL integrations.
Revize is a Shopify app for post-checkout order editing.
Looking for the basics? Start with the [main FAQ](/support/faq). This page covers advanced capabilities and 3PL integration questions.
## Advanced features
Yes. Revize allows customers to apply discount codes they forgot at checkout. The system validates eligibility and automatically recalculates the order total. Refunds for the discount amount are processed according to your payment settings. [Learn more β](/features/apply-discounts)
Yes. With Email Upsells, customers click "Add to Order" in your post-purchase emails and land on the order status page with the product already added. Works with Klaviyo, Omnisend, Mailchimp, or any email platform that supports custom links. [Contact us](/support/contact) for integration setup.
Yes. Revize supports editing for subscription orders (ReCharge, Bold, Appstle, Loop, etc.) and pre-orders. Customers can change variants for the current order, add one-time products, and update shipping details. Note: variant changes apply to the current order only β future subscription orders follow the contract. [Learn more β](/setup/subscription-preorders)
Yes. You can configure a minimum total number of items that must remain in an order during editing. For example, if set to 3, customers with 5 items can reduce to 3 but not to 2 β this applies across all products in the order. Perfect for frozen goods stores, wholesale, or businesses with minimum order requirements. Default is 1. [See Advanced Settings β](/setup/advanced-settings)
Revize offers basic delivery date preferences by default, plus advanced options including min/max date ranges, time slots, weekend controls, custom date formats, and Shopify Flow triggers. Advanced delivery options are available in the Settings tab. [Learn more β](/features/delivery-date)
Yes. Revize fully supports split shipping (orders with multiple fulfillments). However, since Shopify doesn't provide automatic detection for split shipping configurations, we need to enable this setting manually on our end. [Contact us](/support/contact) to set up split shipping support for your store.
Yes. You can configure a custom sender email so order update emails appear to come from your brand instead of Revize. We also offer full domain authentication to remove "via" labels and improve deliverability. [See Advanced Settings β](/setup/advanced-settings)
Yes. Revize supports orders from third-party checkouts including TikTok Shop, Facebook, Instagram, GoKwik, Shopflo, and other Shopify sales channels. This works automatically β no setup required.
Yes. The Public Cancellation API lets you add cancel buttons anywhere β emails, support pages, chatbots, or custom forms. It's a simple REST endpoint that respects your cancellation rules automatically. [View API Documentation β](/features/cancellation-api)
Yes, with our Run on Past Orders feature. You can enable editing for historical orders using filters like date range, financial status, and tags. This is an advanced feature β [contact us](/support/contact) to enable it.
## Third-party fulfillment integrations
Yes. There are three ways to prevent Mintsoft from picking up orders before Revize's edit window closes:
**Option 1 β Order Tags (recommended):** Revize adds a release tag to the order once the hold is lifted. Configure Mintsoft to only import orders with that tag, and it'll wait until Revize is done before pulling the order in. [Learn more about Mintsoft order tags β](https://intercom.help/mintsoft/en/articles/11647011-shopify-order-tags-overview)
**Option 2 β Import Delay:** Mintsoft has an "Order Import Delay (Minutes)" setting in the Shopify connector. If your Revize edit window is 60 minutes, set the same delay in Mintsoft. [See the Mintsoft Shopify integration guide β](https://intercom.help/mintsoft/en/articles/11640290-shopify-integration)
**Option 3 β Paid Orders Only:** Mintsoft imports only "paid" orders by default (`financial_status: paid`), skipping authorized or pending ones. Keep your store on manual capture β payment stays authorized during the edit window, and Revize (or Shopify Flow) captures it when editing closes. Mintsoft won't pick up the order until it's paid, creating a natural editing window. For manual capture with authorization only, configure "Choose Financial Status" in Mintsoft to add statuses like "authorized" if needed.
The tag-based approach is generally cleaner since it's event-driven rather than time-based, but all three methods work well.
Yes. ShipStation has a "Minimum order age in minutes before order imports" setting in the Shopify store connection (supports up to 120 minutes). Set this to match your Revize edit window β for example, if your edit window is 60 minutes, set ShipStation to 60 as well. This ensures orders aren't picked up for fulfillment before customers have had a chance to make edits.
If you're using manual payment capture, map **"authorized"** and **"partially\_paid"** to **Awaiting Payment** in ShipStation's Order Status Mapping (Settings β Store Setup β Edit Store Details). This prevents ShipStation from processing orders that haven't been captured yet.
If removed items show as 0-quantity on packing slips, enable **"Hide 0 quantity items"** in ShipStation's printing settings.
[See ShipStation's Shopify integration guide β](https://help.shipstation.com/hc/en-us/articles/360026141491-Shopify-Integration-Guide)
## Still need help?
[Contact us](/support/contact) and we'll get back within 2β4 hours during business hours (9 AM β 6 PM EST, MonβFri).
# Revize refund policy
Source: https://docs.revize.app/support/refund-policy
Revize 30-day money-back guarantee and refund process.
At Revize, weβre committed to your satisfaction. Try the app risk-free with our 30-day money-back guarantee.
## 30-day money-back guarantee
Get 100% of your subscription fee refunded within 30 days of your first payment.
Refunds are simple and hassle-free, no conditions attached.
## How to request a refund
Email us at [hello@revize.app](mailto:hello@revize.app) or chat with us. Please include your Shopify store URL and, if possible, a short note on why youβre requesting a refund. It helps us learn and improve.
Our team will review your request with care. If approved, refunds are processed through Shopifyβs billing system and appear directly on your Shopify invoice.
Once approved, your refund will be issued within 3-5 business days back to your original payment method.
## What's covered
* **New subscriptions only** β Refunds apply to first payments or renewals within 30 days
* **Full refund** β 100% of your subscription fee returned
* **Keep your data** β Your settings and analytics remain intact even if you move to the free plan
## What's not covered
* Subscriptions older than 30 days
* Multiple refund requests (abuse prevention)
* Usage fees from third-party services
|