> ## Documentation Index
> Fetch the complete documentation index at: https://docs.supercycle.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Platform changelog

> New features and improvements across the Supercycle platform, newest first

<Update label="September 11, 2026" tags={["Improvements"]} rss={{ title:"One row per unit on POS",description:"Two of the same rental variant in a POS cart now get their own dates, options, and custom fields, with an availability warning that counts the units." }}>
  ## One row per unit on POS

  Adding the same rental variant twice in Shopify POS gives one cart line at quantity 2. The **Cycles** screen now shows that line as one row per unit, labeled **Unit 1 of 2** and **Unit 2 of 2**, so each unit gets its own dates, method option, and custom fields. Previously the two units were treated as one kit, and a change to one row could overwrite the other.

  Availability reads against the units. A line with two units and one item free shows **Only 1 of 2 items available** as a warning, where it used to read as a green count.

  Apply to one unit, and POS splits the line so that unit reaches checkout as its own cycle while the rest stay in the cart untouched. The screen stays open while a unit is still waiting, marks finished rows **Cycle applied** with their dates, and closes once every unit has a cycle. See [Rent several units of one variant](/documentation/point-of-sale/pos-overview#several-units-of-one-variant).
</Update>

<Update label="August 28, 2026" tags={["Features"]} rss={{ title:"Create memberships from draft orders and POS",description:"Sell a membership plan from a draft order or on POS, so you can put a customer on a plan yourself instead of sending them to the storefront." }}>
  ## Create memberships from draft orders and POS

  <Frame type="glass">
    <img src="https://mintcdn.com/supercycle/ts7h2PXxuVI9UKI-/images/changelog/create-memberships-from-draft-orders-and-pos.png?fit=max&auto=format&n=ts7h2PXxuVI9UKI-&q=85&s=309ab663a68fafd0dcaf62b4cbf6779b" alt="A draft order and a POS cart with a Super membership plan added alongside rental items" width="1600" height="840" data-path="images/changelog/create-memberships-from-draft-orders-and-pos.png" />
  </Frame>

  Sell a membership plan from a [draft order](/documentation/methods/membership/overview#how-staff-enroll-a-customer) or on [POS](/documentation/point-of-sale/pos-overview), so you can put a customer on a plan yourself instead of sending them to the storefront.

  The [Add cycles](/documentation/manage/cycles/edit-an-order#add-cycles-to-an-order) action can now sell a membership plan. Pick the plan and billing option, add the items they're renting in the same order, and completing the order puts the customer on the membership.

  This suits customers who sign up in person or over the phone. Previously the only way onto a membership was checking out on the storefront themselves.

  A customer with no card on file can still be put on a plan. Their charges are raised as normal, and you collect them yourself until a card is added.

  Memberships also look better throughout the admin, with a customer's memberships, credits, and allowances gathered onto [one card](/documentation/methods/membership/managing-memberships).
</Update>

<Update label="August 19, 2026" tags={["Features"]} rss={{ title:"Multiple memberships",description:"Customers can hold more than one membership. Manage each in the admin and customer accounts, pick which pays on the product page, and customize plan card messaging." }}>
  ## Multiple memberships

  Customers can hold more than one active membership. When a logged-in customer buys another plan, Supercycle adds a new membership alongside their existing ones, and the previous memberships stay active.

  [Customer accounts](/documentation/online-store/portal) list every active or paused membership on **Dashboard**. Customers open **Manage membership** on a card to view that membership's credits, allowances, and renewal date, rename it, or pause or cancel it.

  In the Supercycle admin, the [customer page](/documentation/methods/membership/managing-memberships) shows one card per active or paused membership and a **Past memberships** section when a customer has ended memberships. Open a membership to view allowances, billing, and actions for that membership only. You can rename a membership from its page, and **View membership** on a charge now opens the right membership page.

  On the product page, the Methods app block shows [one membership option per membership](/documentation/methods/membership/product-setup#choose-a-membership-on-the-product-page) when a customer holds more than one. Customers pick which membership pays for the rental. Paused memberships and memberships without enough credits for the selected option appear but can't be selected. Credit usage and the progress bar reflect only the selected membership.

  On the [Membership plans](/developers/app-blocks/membership-plans) app block, logged-in customers who already hold a membership see a note on each plan card. In the theme editor, set **Already on this plan message** and **Already a member message** under **Button settings**. The defaults explain that buying a plan adds another membership, and leaving either field blank hides it. Use `[current_plan_title]` in the member message to insert their newest plan name. Only one membership plan can be in the cart at a time.
</Update>

<Update label="August 5, 2026" tags={["Features"]} rss={{ title:"Terms and conditions",description:"Create terms on Risk settings, require per-term acceptance on the storefront, and view acceptances on the cycle page." }}>
  ## Terms and conditions

  Require customers to accept your policies before they rent. Manage [terms and conditions](/documentation/configuration/risk/terms-and-conditions) from <Icon icon="shopify" iconType="solid" /> **[Risk](https://admin.shopify.com/apps/supercycle/settings/risk)**: turn the shop toggle on, add terms records with a customer-facing title and URL, and attach them to calendar, subscription, membership, and resale method options.

  Open any method option and use **Require accepted terms** to pick one or more records, or use **Apply terms** on the options table to update many options at once. The table's **Terms** column shows what's linked to each option. Paste any link, for example a Shopify page, a policy path, or an external URL. Deletion is blocked while an option still requires a record, and turning the shop toggle off stops checkout from requiring terms even when options are linked.

  On the storefront, the [Methods app block](/developers/app-blocks/methods) shows an **Accept terms** section when the selected option requires terms. Each linked record gets its own tick row, and add to cart stays disabled until every row is ticked. Switching to an option with different terms clears acceptance. Customize the section label, row label, and error message from [Languages](/documentation/online-store/languages).

  On the cycle page, accepted terms appear on the **Payment** card alongside contracts: the snapshot title, the link, an **Accepted** badge, and the acceptance date. See [Cycles overview](/documentation/manage/cycles/cycles).
</Update>

<Update label="August 5, 2026" tags={["Features","Improvements"]} rss={{ title:"Date picker blocked dates",description:"Block storefront calendar start and end dates from the admin instead of hand-writing theme JSON matchers." }}>
  ## Date picker blocked dates

  Block which dates customers can pick on the storefront calendar from <Icon icon="shopify" iconType="solid" /> **[Channels](https://admin.shopify.com/apps/supercycle/settings/channels)** under **Online store**. [Date picker blocked dates](/documentation/online-store/date-picker-blocks) replace hand-written DayPicker JSON in the Methods app block for most stores.

  Add rules for a specific date, a date range, every date before or after a cutoff, or recurring days of the week. Each rule targets start dates, end dates, or both. Rules apply store-wide wherever the Methods calendar renders on the online store.

  These blocks only gate date selection. They don't change inventory availability the way [Blocked dates](/documentation/manage/inventory/blocked-dates) do. Existing theme JSON in **Unavailable start dates** and **Unavailable end dates** still works and stacks with the admin rules until those fields are removed.

  <Accordion title="Improvements">
    * **Checkout and account requirements.** Unsigned [e-signature contracts](/documentation/configuration/risk/e-signatures) now appear alongside [ID verification](/documentation/configuration/risk/identity-verification) in the **Checkout requirements** thank-you block and on the customer accounts **Requirements** page.
    * **Admin API cycle paths.** [`/cycles`](/api-reference/admin/cycles/list-all-cycles) is now the canonical Admin API path for listing, fetching, and updating cycles. `/rentals` remains as a deprecated alias with identical behavior and unchanged request and response schemas in v1.
    * **Filter cycles by fulfillment date.** [`GET /cycles`](/api-reference/admin/cycles/list-all-cycles) accepts a `fulfilledAt` date-range filter, and `updated[gte]` incremental sync now includes cycles when only fulfillment or receival timestamps change.
  </Accordion>
</Update>

<Update label="July 31, 2026" tags={["Features"]} rss={{ title:"Update item Shopify Flow action",description:"Change item condition, status, visibility, serial, or pick location from a Shopify Flow workflow." }}>
  ## Update item Shopify Flow action

  Change an item's [condition](/documentation/manage/inventory/item-conditions), processing status, visibility, serial number, or pick location from a Shopify Flow workflow with the new [**Update item**](/documentation/manage/automation/automation#available-actions) action. Pass `rental.item.id` from any cycle trigger and update only the fields you need. Blank optional fields are ignored.

  A common pattern is downgrading condition after the first completed cycle: trigger on **Cycle updated**, check `rental.item.completedCycles`, then set **Condition ID** to your target grade. See [Update item condition after first cycle](/documentation/manage/automation/create-workflow#update-an-items-condition-after-its-first-cycle) for the recipe.
</Update>

<Update label="July 28, 2026" tags={["Features","Improvements"]} rss={{ title:"Maximum term on subscription rentals",description:"Cap how long customers can keep subscription items with an optional maximum term on pricing groups." }}>
  ## Maximum term on subscription rentals

  Subscription [pricing groups](/documentation/methods/subscription/product-setup) can now carry an optional maximum term, the upper bound on how long a customer may keep the items, longer than the minimum term. Leave it empty and rentals stay unbounded, as before.

  Set the maximum term when creating or editing a pricing group, filter and sort by it on the subscription options table, or [bulk-update](/documentation/manage/products/managing-method-options#bulk-actions) it across many options at once. Billing is unchanged: charges continue until the items are received, and Supercycle doesn't cancel or set a return due date from the maximum term.

  On the storefront, the subscription block shows a **Maximum term** line in the pricing summary and appends the cap to option titles when one is set. [Contract templates](/documentation/configuration/risk/e-signatures) can reference `maximum_term` and `maximum_term_end`, which is available after outbound fulfillment completes.

  <Accordion title="Improvements">
    * **Legacy app-proxy pages removed.** Customer self-service, from viewing rentals and starting returns to managing memberships, payment methods, and subscriptions, now runs entirely on Shopify's new [customer accounts](/documentation/online-store/portal), and the old `/apps/supercycle/` pages are gone. Replace any theme or marketing links to the old dashboard or membership plans URLs with the **Dashboard URL** from <Icon icon="shopify" iconType="solid" /> **[Customer accounts](https://admin.shopify.com/apps/supercycle/settings/portal)**, since Supercycle emails already link there.
  </Accordion>
</Update>

<Update label="July 14, 2026" tags={["Features"]} rss={{ title:"Inventory schedule",description:"See how each variant is booked across a date range from a new Schedule view under Inventory." }}>
  ## Inventory schedule

  <Frame type="glass">
    <img src="https://mintcdn.com/supercycle/48tD6VGBhSyYS-zM/images/changelog/inventory-schedule.png?fit=max&auto=format&n=48tD6VGBhSyYS-zM&q=85&s=103ec857082da3554efa67b7d09541ca" alt="The inventory Schedule view with per-variant daily booking bars showing booked time, buffer turnaround, and booked-out days across a date range" width="1200" height="630" data-path="images/changelog/inventory-schedule.png" />
  </Frame>

  See how each variant is booked day by day from a new [Schedule](/documentation/manage/inventory/schedule) view under Inventory. Spot gaps, conflicts, and booked-out periods without opening individual items or cycles.

  Each cell shows booked time, buffer turnaround, and booked-out days. Select a day to see the cycles and blocked dates behind the count. Filter by proposed cycle dates, delivery method, and return method, or move the window with the date range control.
</Update>

<Update label="July 13, 2026" tags={["Features","Improvements"]} rss={{ title:"Add-ons on POS rentals",description:"Required and optional add-ons from the intent now land in the POS cart alongside the rental." }}>
  ## Add-ons on POS rentals

  [Add-ons](/documentation/manage/products/add-ons) applied to a rental option now follow through on [Shopify POS](/documentation/point-of-sale/pos-overview). When staff apply a rental method, any required or optional add-ons returned by the intent are added to the cart with the rental line, matching the online storefront. That covers deposits, damage protection, card authorization, and any other add-on attached to the option.

  <Accordion title="Improvements">
    * **Draft order contracts.** Turn on **Generate contracts for draft orders** under <Icon icon="shopify" iconType="solid" /> **[Risk](https://admin.shopify.com/apps/supercycle/settings/risk)** and unsigned [contracts](/documentation/configuration/risk/e-signatures) are created while a draft is still open, then reused when the order is placed. On POS, staff can list a draft's contracts, share a QR code or signing link, and email the customer before checkout completes.
    * **Complete your purchase in the return reminder.** When [convert to purchase](/documentation/manage/cycles/convert-to-purchase) is turned on and a rental is eligible, the [return item reminder](/supercycle-notifications) email includes a **Complete your purchase** button that takes the customer to their account to finish the conversion.
    * **System fields in calculated formulas.** [Calculated fields](/documentation/configuration/custom-data/calculated-fields) can reference built-in item and cycle values such as completed cycles, acquisition cost, lifecycle revenue, ROI, utilization, schedule dates, charges, and deposits, without copying them into custom fields first. The formula picker lists them alongside your custom field variables.
  </Accordion>
</Update>

<Update label="July 10, 2026" tags={["Features"]} rss={{ title:"Per-location opening hours and time selection",description:"Let customers choose a pickup or drop-off time, with the available times driven by each location's own opening hours." }}>
  ## Per-location opening hours and time selection

  Customers can now choose a pickup or drop-off time when they book, and the times they see come from each location's own [opening hours](/documentation/configuration/logistics/opening-hours). A city-center store and a warehouse can each offer their real hand-off windows.

  Set weekly opening hours per location from the locations table under <Icon icon="shopify" iconType="solid" /> **[Logistics and locations](https://admin.shopify.com/apps/supercycle/settings/logistics)**, edit them one at a time or in bulk, and mark which locations offer in-person pickup and drop-off. Turn on **time selection** for the pickup or drop-off method and pick a slot interval of 15 minutes, 30 minutes, or 1 hour. On the storefront, the time picker is built from the selected location's window for the chosen day, days a location is closed can't be selected for that hand-off, and the location picker shows each location's weekly hours.
</Update>

<Update label="July 9, 2026" tags={["Features","Improvements"]} rss={{ title:"Edit restock by and prepare from dates on a cycle",description:"Override the preparation and restock buffer dates for an individual cycle from the admin, the Operators MCP, Shopify Flow, or the Admin API." }}>
  ## Edit restock by and prepare from dates on a cycle

  Override the preparation and restock buffer dates for an individual cycle when a specific rental needs more or less turnaround than your shop-wide [logistics buffers](/documentation/configuration/logistics/buffers) give it.

  The **Outbound fulfillment** card now has an **Edit prepare from date** action, and the **Inbound receival** card has an **Edit restock by date** action. Both let you set the date directly or **Revert to automatic date** to recalculate from the shop's preparation or restock buffer. The date you set holds until the leg's anchor date next moves.

  The same overrides are available from the [`update_cycle` MCP tool](/ai/operators-mcp/tools#cycles), the [**Update cycle** Shopify Flow action](/documentation/manage/automation/automation#available-actions), and the [Update a cycle](/api-reference/admin/cycles/update-a-cycle) endpoint on the Admin API, each accepting `prepare_from` and `restock_by` (or `prepareFrom` and `restockBy`) alongside the existing fields. Pass an empty value to revert either date to the automatic calculation.

  <Accordion title="Improvements">
    * **Reserve draft order inventory automatically.** Rentals added to a Shopify [draft order](/documentation/manage/cycles/create-cycles-order#reserve-inventory-on-a-draft-order) are now held while the draft is unpaid, so a unit can't be double-booked before the customer pays, with no need to turn on Shopify's Reserve items by hand. Control it from <Icon icon="shopify" iconType="solid" /> **[Channels](https://admin.shopify.com/apps/supercycle/settings/channels)** under **Draft orders**, where you can turn the behavior off and set how long the hold lasts, 7 days by default.
    * **See why a cycle's dates conflict.** When a cycle's dates clash with the selected item or variant, the overview card now spells out the cause instead of only flagging a conflict. It says whether the dates are taken by another rental, blocked by [blocked dates](/documentation/manage/inventory/blocked-dates), or both, and whether that applies to the assigned item or across the whole variant pool, for example **It's booked for another rental** versus **All items have blocked dates**.
    * **Start and end dates on every Supercycle order.** Orders created from the admin's **Add rentals** flow, the **Create order** page, and [CSV import](/documentation/setup/importing-products) now carry the same **Start date** and **End date** line item properties that online store orders have always had, so the rental period is legible wherever the order appears. A related fix keeps [POS](/documentation/point-of-sale/pos-overview) rental dates from drifting a day across time zones.
  </Accordion>
</Update>

<Update label="July 8, 2026" tags={["Features"]} rss={{ title:"Expanded analytics dashboards",description:"New native dashboards for cycles, revenue, charges, items, products, and customers, with utilization, yield, lifecycle ROI, and CSV export." }}>
  ## Expanded analytics dashboards

  Supercycle's built-in [Analytics](/documentation/manage/analytics/dashboards) has grown from a single beta view into a full set of dashboards reporting on metrics you can't get from native Shopify, calculated directly from your cycles, items, and charges.

  Dashboards are grouped by what you're measuring:

  * **Overview, Calendar, Subscriptions, Memberships, and Resale.** Cycle throughput and, for recurring methods, billing health such as failed charges and churn.
  * **Revenue and Charges.** Circular revenue, growth, collection rates, and outstanding balances.
  * **Items, Products, and Customers.** The circular economics: fleet utilization, yield, lifecycle revenue and ROI, age of stock, and customer lifetime value.

  Every dashboard is scoped by a date range, each metric drills into a ranked table or detailed chart, and any card exports to CSV. Item, product, and customer pages also gain an inline **Performance** card showing that record's key numbers, and **Ask AI** opens Shopify [Sidekick](/ai/sidekick/shopify-sidekick) for questions that need more context than a chart.
</Update>

<Update label="July 3, 2026" tags={["Features"]} rss={{ title:"Calculated custom fields",description:"Derive read-only field values from a Liquid formula across your Supercycle data and Shopify metafields." }}>
  ## Calculated custom fields

  <Frame type="glass">
    <img src="https://mintcdn.com/supercycle/48tD6VGBhSyYS-zM/images/changelog/calculated-fields.png?fit=max&auto=format&n=48tD6VGBhSyYS-zM&q=85&s=efc363b8229766499aa3e484a6445246" alt="A calculated field definition with a Liquid formula multiplying daily rate by days, producing a computed money value" width="1200" height="630" data-path="images/changelog/calculated-fields.png" />
  </Frame>

  Turn the data you already capture into insight. [Calculated fields](/documentation/configuration/custom-data/calculated-fields) are read-only custom fields whose value is computed from a [Liquid](https://shopify.dev/docs/api/liquid) formula, so you can express business logic directly against your items, cycles, and consignors without code.

  A single formula can reference any scalar Supercycle custom field on the record (`fields.<key>`), on cycles the rented item's fields too (`item.fields.<key>`), and the linked Shopify variant's `price` and `unit_cost` plus variant and product metafields (`variant.metafields.<key>`, `variant.product.metafields.<key>`).

  That combination unlocks metrics that used to live in spreadsheets:

  * **Utilization.** Miles or hours completed during a cycle, and a running total on the item across every cycle.
  * **Unit economics.** Revenue per cycle, margin, and time to break even, derived from acquisition cost and average revenue per cycle.
  * **Operational flags.** Booleans that light up when an item hits a service interval, has broken even, or exceeds a replacement-cost threshold.

  Formulas support the full Liquid toolkit: filters such as `plus`, `times`, `divided_by`, `default`, and `date`, control flow with `{% if %}` and `{% case %}`, and intermediate values with `{% assign %}`. Values recalculate on demand from a **Recalculate** button on each field, so you know when a number reflects the latest inputs.
</Update>

<Update label="July 3, 2026" tags={["Features"]} rss={{ title:"Custom fields on POS rentals",description:"Fill in rental custom fields when creating a rental on Shopify POS, mirroring the admin create rental flow." }}>
  ## Custom fields on POS rentals

  Fill in [rental custom fields](/documentation/configuration/custom-data/custom-fields) as part of the [create rentals flow on POS](/documentation/point-of-sale/pos-overview#custom-fields), so in-store bookings capture the same data as rentals created from the admin.

  Single line and multi line text field definitions render on the POS rental method screen, multi line as a text area. Values flow through to the cycle at ingestion and land on the record like a field set from the admin. Other field types, such as date, boolean, and reference fields, are hidden on POS.
</Update>

<Update label="July 2, 2026" tags={["Features"]} rss={{ title:"Add-ons",description:"Offer optional or required extras such as damage protection or accessories alongside your rental products." }}>
  ## Add-ons

  <Frame type="glass">
    <img src="https://mintcdn.com/supercycle/48tD6VGBhSyYS-zM/images/changelog/add-ons.png?fit=max&auto=format&n=48tD6VGBhSyYS-zM&q=85&s=a66b541405c71b0587e87f14d6d03103" alt="Required and optional add-ons such as damage protection and cleaning offered on a rental, flowing through to the charge" width="1200" height="630" data-path="images/changelog/add-ons.png" />
  </Frame>

  Offer extras such as damage protection, cleaning, or accessories alongside your rentals. [Add-ons](/documentation/manage/products/add-ons) live under <Icon icon="shopify" iconType="solid" /> **[Products](https://admin.shopify.com/apps/supercycle/products)** on the **Add-ons** tab. Supercycle owns the hidden Shopify product and syncs each price as a variant.

  Apply an add-on to any calendar, membership, subscription, or resale option with a price and an **Optional** or **Required** setting, or bulk-apply it across many options at once. Selected add-on variants are added to the cart alongside the rental, and are recorded against the fulfilled rental at their sold price so they flow through to charges and reporting.
</Update>

<Update label="July 1, 2026" tags={["Features"]} rss={{ title:"Reserve rental inventory on draft orders",description:"Turn on Shopify's Reserve items on a draft and Supercycle holds the picked rental unit until the draft is paid, canceled, or the reserve expires." }}>
  ## Reserve rental inventory on draft orders

  Turn on Shopify's **Reserve items** on a draft order containing a rental, and Supercycle holds the picked unit for the rental window so nothing else can book it while the draft is unpaid. See [Reserve inventory on a draft order](/documentation/manage/cycles/create-cycles-order#reserve-inventory-on-a-draft-order).

  The block releases when the reserve is turned off, the draft is paid or canceled, the rental line is removed, or the reserve expires. Changing the rental dates on the draft refreshes the held window.
</Update>

<Update label="June 26, 2026" tags={["Features"]} rss={{ title:"Finance comes to items",description:"Track acquisition costs and lifetime ROI on every item." }}>
  ## Finance comes to items

  <Frame type="glass">
    <img src="https://mintcdn.com/supercycle/48tD6VGBhSyYS-zM/images/changelog/item-analytics.png?fit=max&auto=format&n=48tD6VGBhSyYS-zM&q=85&s=9848e3540a29a92d48b453b56dc4b489" alt="An item's Finance card with acquisition and lifetime costs, and a Total ROI tile alongside utilization, yield, and customer lifetime value" width="1200" height="630" data-path="images/changelog/item-analytics.png" />
  </Frame>

  Deeper finance reporting for items starts with acquisition costs and lifetime ROI.

  Record acquisition cost and lifetime costs in a new **Finance** card on the item page. **Total ROI** appears alongside your existing analytics tiles, calculated as lifecycle revenue minus acquisition cost minus lifetime costs.
</Update>

<Update label="June 25, 2026" tags={["Features"]} rss={{ title:"Consignment",description:"Sell partner-owned stock and track revenue share, balances, and payouts." }}>
  ## Consignment

  <Frame type="glass">
    <img src="https://mintcdn.com/supercycle/48tD6VGBhSyYS-zM/images/changelog/consignment.png?fit=max&auto=format&n=48tD6VGBhSyYS-zM&q=85&s=657e4170f480797104a0aeea9dc208f1" alt="A consignor's activity ledger with revenue share, running balance, and payouts, alongside the consignor's balance owed in customer accounts" width="1200" height="630" data-path="images/changelog/consignment.png" />
  </Frame>

  Sell stock owned by brand partners and track the revenue share you owe them. [Consignment](/documentation/manage/consignment/overview) is in beta and off by default. Contact support from the app to request access.

  Add consignors, assign items, and set a default revenue share with per-item overrides. Supercycle builds a running balance as their items are paid for, reverses it on refunds, and lets you record payouts to settle up. Consignors follow their balance, activity, and payouts in their own consignor customer accounts.
</Update>

<Update label="June 25, 2026" tags={["Features","Improvements"]} rss={{ title:"Revamped Scanner app",description:"Redesigned iOS and Android app with multi-scan bulk actions on Zebra devices." }}>
  ## Revamped Scanner app

  <Frame type="glass">
    <img src="https://mintcdn.com/supercycle/48tD6VGBhSyYS-zM/images/changelog/scanner.png?fit=max&auto=format&n=48tD6VGBhSyYS-zM&q=85&s=d0b755abd07574487f799ecd2522a008" alt="The rebuilt Scanner app with camera, Zebra barcode, and RFID inputs, a filtered items list with status pills, and a multi-scan bulk action" width="1200" height="630" data-path="images/changelog/scanner.png" />
  </Frame>

  The [Supercycle Scanner app](/documentation/manage/scanner/scanner) on iOS and Android has been rebuilt from the ground up, with a new design, faster workflows, and clearer bulk scanning on Zebra devices.

  Lists for items, cycles, and returns use a cleaner layout with status pills and quick filters. Detail screens group the information you need into scannable cards, and you can edit serial numbers, pick locations, and warehouse assignments inline without leaving the page.

  Choose your scanner. Turn camera, Zebra barcode, and Zebra RFID on or off independently under **Scanners** in the Supercycle Scanner app's settings. The camera opens a single-item flow: scan a tag and jump straight to the item, cycle, or return. Zebra barcode and RFID start a multi-scan session: keep scanning to build a list, then run [bulk actions](/documentation/manage/scanner/scanner-actions#bulk-actions) across the selection, such as receive return, set visibility, warehouse, pick location, change product, or create items from unknown tags.

  <Accordion title="Improvements">
    * **Instant resolution.** Newly created items resolve straight away in a multi-scan session, with no re-scan needed.
    * **Open from the list.** Tap a matched row to open its detail page from the multi-scan list.
    * **Multi-tag reads.** RFID reads that pick up several tags at once are split into one item per tag.
  </Accordion>
</Update>

<Update label="June 25, 2026" tags={["Features","Improvements"]} rss={{ title:"Hourly pickup and drop-off slots",description:"Set sub-day logistics buffers and disable unavailable pickup and drop-off times on the calendar." }}>
  ## Hourly pickup and drop-off slots

  Set preparation and restock buffers in hours, not only whole days, and the storefront calendar grays out pickup and drop-off times when nothing is free at that instant.

  Sub-day buffers unlock tighter scheduling for in-store handover: a 6-hour prep window or a 2-hour restock no longer has to round up to a full day. When a customer picks a start or end date, unavailable time slots are disabled and the selection advances to the first free slot.

  <Accordion title="Improvements">
    * **Total first payment.** The Methods app block now shows **Total first payment**, the deposit plus the recurring amount, when a subscription rental has a deposit, not only the recurring amount.
    * **Faster availability filtering.** Calendar availability filtering is faster on stores with large variant catalogs.
  </Accordion>
</Update>

<Update label="June 24, 2026" tags={["Features"]} rss={{ title:"Ask Sidekick about your cycles",description:"Search cycles, customers, and returns from Shopify Sidekick, and include products in Supercycle." }}>
  ## Ask Sidekick about your cycles

  <Frame type="glass">
    <img src="https://mintcdn.com/supercycle/48tD6VGBhSyYS-zM/images/changelog/sidekick.png?fit=max&auto=format&n=48tD6VGBhSyYS-zM&q=85&s=02f6928f7bea24c603f5c3ce2a1b18d8" alt="Shopify Sidekick answering questions about overdue cycles and subscribers, and offering to include a product in Supercycle" width="1200" height="630" data-path="images/changelog/sidekick.png" />
  </Frame>

  [Shopify Sidekick](/ai/sidekick/shopify-sidekick) can now search your Supercycle data and include products in your catalog without leaving the Shopify admin.

  Ask plain-language questions about cycles, customers, and returns, such as what's overdue, who's a subscriber, or which returns are still expected. Sidekick can also start the **Include in Supercycle** flow for an existing Shopify product, so you can set it up for cycles conversationally.
</Update>

<Update label="June 24, 2026" tags={["Features"]} rss={{ title:"Custom fields, upgraded",description:"New field types and Shopify-style editing on items and cycles." }}>
  ## Custom fields, upgraded

  Define more field types on items and cycles, including integer, color, URL, JSON, and item references, and edit values in a Shopify-style read-only box that opens an edit popover. See [Custom data](/documentation/configuration/custom-data/custom-fields).

  Reference fields link straight to the related record. The type picker is grouped into sections (Text, Reference, Number, Date and time, Other, and Advanced) so it's easier to find the right type when you set up a new definition.
</Update>

<Update label="June 19, 2026" tags={["Features","Improvements"]} rss={{ title:"Extend a cycle",description:"Lengthen an active calendar cycle without canceling and rebooking, from the admin or by the customer." }}>
  ## Extend a cycle

  Lengthen an active calendar cycle without canceling and rebooking, from the admin or by the customer from their own account.

  <Frame type="glass" caption="Extending a cycle from the admin and from customer accounts">
    <iframe src="https://fast.wistia.net/embed/iframe/vjhskuh12t" title="Extending a cycle" width="100%" height="400" allow="autoplay; fullscreen" frameborder="0" />
  </Frame>

  A customer who wants to keep an item a little longer can extend it and pay the difference themselves, instead of emailing you to sort it out. From the admin you can extend any cycle, override the charge, and set a custom end date. Let customers do it themselves by turning on extensions under <Icon icon="shopify" iconType="solid" /> **[Customer accounts](https://admin.shopify.com/apps/supercycle/settings/portal)** in **Cycle actions**.

  <Accordion title="Improvements">
    * **Blocked dates with times.** Set a block to a specific time rather than a whole day, give it a description, and import or export blocks in bulk by CSV.
    * **Bulk product change.** Update the product or variant for many selected items at once.
    * **Mark as received.** A new action on receivals, split out from **Create return**, for quicker handling.
    * **New customer on orders.** Add a brand-new customer while creating an order, instead of only picking an existing one.
    * **Options CSV columns.** The method options CSV import and export now include **ID verification** and **Contract** columns.
    * **Create a payment attempt.** A new Shopify Flow action.
  </Accordion>
</Update>

<Update label="June 12, 2026" tags={["Features"]} rss={{ title:"Pickup and drop-off return methods",description:"Let customers choose how they return items, and run pickup and drop-off only by switching shipping off." }}>
  ## Pickup and drop-off return methods

  Customers can now choose how they return an item, by shipping it back or dropping it off, and you can run pickup and drop-off only by switching shipping off.

  Return logistics now mirror delivery: the storefront shows a return method picker when more than one is turned on, and availability and scheduling follow the customer's choice, so each return is scheduled on the right timeline. Stores that only do in-person handover can turn shipping off entirely, as long as one delivery and one return method stay on.
</Update>

<Update label="June 12, 2026" tags={["Features","Improvements"]} rss={{ title:"Request ID verification from the admin",description:"Trigger ID verification straight from a customer's page, and manage the whole feature from a new section under Risk." }}>
  ## Request ID verification from the admin

  <Frame type="glass">
    <img src="https://mintcdn.com/supercycle/48tD6VGBhSyYS-zM/images/changelog/id-verification.png?fit=max&auto=format&n=48tD6VGBhSyYS-zM&q=85&s=c3a51c9227aec877c140fed774264606" alt="ID verification settings under Risk, a customer with verification pending, and an approved selfie check" width="1200" height="630" data-path="images/changelog/id-verification.png" />
  </Frame>

  Trigger an ID verification straight from a customer's page, and manage the whole feature from a new section under <Icon icon="shopify" iconType="solid" /> **[Risk](https://admin.shopify.com/apps/supercycle/settings/risk)**.

  You no longer have to wait for a customer to hit a verification gate at checkout. If something looks off, request [identity verification](/documentation/configuration/risk/identity-verification) yourself, and Supercycle applies the **ID Verification Required** tag the same way the automatic flow does.

  <Accordion title="Improvements">
    * **Managed deposits.** Add your deposit prices under <Icon icon="shopify" iconType="solid" /> **[Risk](https://admin.shopify.com/apps/supercycle/settings/risk)** and Supercycle creates and manages the deposit product and its variants for you.
    * **Deposit validation at checkout.** Deposit cart validation is now enforced at checkout completion, not only in the cart.
    * **SMTP retries.** Custom SMTP now retries transient send failures, so a brief blip on your mail server doesn't drop a customer email.
    * **Checkout context metafield.** A new `checkout_context` metafield passes Supercycle's view of the cart to checkout UI extensions.
  </Accordion>
</Update>

<Update label="June 2, 2026" tags={["Features"]} rss={{ title:"Send emails from your own domain",description:"Configure custom SMTP so customer emails go out from your domain instead of ours." }}>
  ## Send emails from your own domain

  Configure [custom SMTP](/supercycle-notifications#custom-smtp) and customer emails go out from your domain instead of ours. Emails from your own domain reinforce your brand and give you control over your sender reputation. Turn it on under <Icon icon="shopify" iconType="solid" /> **[Emails](https://admin.shopify.com/apps/supercycle/settings/emails)**.
</Update>

<Update label="May 21, 2026" tags={["Features","Improvements"]} rss={{ title:"Block dates for items, variants, or products",description:"Block availability for a specific item, every item on a variant, or every item across a product." }}>
  ## Block dates for items, variants, or products

  Block availability for a specific item, for every item on a variant, or for every item across a whole product. Set a from and to date, or leave them blank for an indefinite block.

  It suits store closures, scheduled servicing, or a venue going offline for a weekend. Stock you can't fulfill stops being bookable, so you avoid orders you'd have to cancel.

  <Accordion title="Improvements">
    * **Flow triggers for verification and signatures.** New Shopify Flow triggers for **ID verification** and **e-signatures** fire when the status of an ID verification or e-signature changes.
  </Accordion>
</Update>

<Update label="May 21, 2026" tags={["Features"]} rss={{ title:"Cart timer",description:"Remove Supercycle items from carts after a set time so abandoned carts don't hold inventory." }}>
  ## Cart timer

  [Remove Supercycle items](/documentation/online-store/cart-timer) from customers' carts after a set time. Rental stock is finite, and an abandoned cart can hold a unit hostage. Expiring the cart returns held inventory to the pool and reduces the chance of overbooking.
</Update>

<Update label="April 27, 2026" tags={["Features","Improvements"]} rss={{ title:"E-signatures on contracts",description:"Customers can sign contracts at online checkout and on POS." }}>
  ## E-signatures on contracts

  Customers can [sign contracts](/documentation/configuration/risk/e-signatures) at online checkout and on POS. Every cycle now carries the same signed-contract audit trail, whether it started online or in store, so you have a clear record to fall back on if an item comes back damaged or late.

  <Accordion title="Improvements">
    * **Shopify Flow triggers and actions.** New triggers for cycles, memberships, returns, and failed charges, plus actions to create charges, update cycles, add tags, re-allocate items, and update memberships. See [Automation](/documentation/manage/automation/automation).
    * **Billing anchor date.** Update a subscription's billing anchor date as part of a Shopify Flow workflow.
  </Accordion>
</Update>

<Update label="March 12, 2026" tags={["Features","Announcement"]} rss={{ title:"MCP servers for builders and operators",description:"Connect your AI tools directly to Supercycle to query data, automate workflows, and build custom tools." }}>
  ## MCP servers for builders and operators

  [Connect your AI tools directly to Supercycle](https://supercycle.com/news/launching-mcp-servers) to query your data, automate workflows, and build custom tools without leaving your AI assistant. Your team can answer "what's overdue?" or kick off an operational task from Claude or ChatGPT, instead of working through the admin or waiting on an integration. See [AI at Supercycle](/ai/index).
</Update>

<Update label="February 27, 2026" tags={["Features","Improvements","Announcement"]} rss={{ title:"Rentals are now Cycles",description:"Rental becomes Cycle across Supercycle." }}>
  ## Rentals are now Cycles

  "Rental" has become "[Cycle](https://supercycle.com/news/rentals-are-now-cycles)" throughout Supercycle. A single product can move through rental, resale, trade-in, and subscription, and "rental" was too small a word for that. The updated terminology appears across the admin and the Flow triggers. The existing API is unchanged.

  <Accordion title="Improvements">
    * **RFID scanning on Zebra devices.** Warehouse and fulfillment teams can scan RFID-tagged items directly through the [Supercycle Scanner app](/documentation/manage/scanner/scanner).
    * **Subscription billing from Flow.** Update a subscription's billing day and recurring price with a Shopify Flow action.
    * **Destination column.** A **Destination** column on the rentals table makes fulfillment easier to manage at a glance.
    * **ID verification on the rentals table.** See and filter ID verification status directly on the rentals table.
    * **Zero checkout price.** The checkout price on every method can now be set to zero.
  </Accordion>
</Update>

<Update label="February 27, 2026" tags={["Features"]} rss={{ title:"Shopify markets and pricing by item condition",description:"Set pricing on method options by market, variant, and item condition." }}>
  ## Shopify markets and pricing by item condition

  Set pricing on method options by specific markets, variants, and item conditions, so a well-loved unit can list below an as-new one, and prices can follow each market.
</Update>

<Update label="February 27, 2026" tags={["Features"]} rss={{ title:"Bulk re-allocation of overlapping rentals",description:"Filter rentals by item overlap conflict, then re-allocate them in bulk." }}>
  ## Bulk re-allocation of overlapping rentals

  See overlapping rentals, with filters for whether an alternative item is free, and resolve them in bulk with **Re-allocate item** from the reservations table actions.
</Update>

<Update label="February 4, 2026" tags={["Features","Improvements"]} rss={{ title:"Import vaulted cards from Stripe",description:"Bring previously vaulted cards from Stripe into Shopify so existing subscriptions keep billing without interruption." }}>
  ## Import vaulted cards from Stripe

  On request, we can turn on an [Import from Stripe](/documentation/configuration/migrations/stripe) feature that brings previously vaulted cards from Stripe into Shopify.

  Moving from Stripe usually means asking every customer to re-enter their card. Importing vaulted cards keeps existing subscriptions billing without interruption, so migrating doesn't cost you active contracts.

  <Accordion title="Improvements">
    * **Column layout.** Show, hide, and re-order columns on the Reservations, Customers, Products, Returns, Inventory, and Charges tables.
    * **New custom data fields.** Money, customer, rental, return, multi-line text, true or false, date, and date and time types on items and rentals, under <Icon icon="shopify" iconType="solid" /> **[Custom data](https://admin.shopify.com/apps/supercycle/settings/custom_data)**.
    * **Options export.** Export calendar, membership, and resale options to CSV.
  </Accordion>
</Update>

<Update label="January 19, 2026" tags={["Features","Improvements"]} rss={{ title:"Deposits on calendar methods",description:"Add a deposit to calendar methods, then track and manage the customers you hold deposits for." }}>
  ## Deposits on calendar methods

  [Add a deposit to calendar methods](/documentation/configuration/risk/deposits), then track which customers you hold deposits for and manage their return. A refundable deposit covers you against damage or non-return on higher-value items, so you can rent out kit you'd otherwise hold back without taking on the full risk.

  <Accordion title="Improvements">
    * **ID verification filter.** Filter customers by ID verification status.
    * **Methods app block tooltips.** Show tooltips and help text on Methods app block labels to give customers more information. Set them up under <Icon icon="shopify" iconType="solid" /> **[Languages](https://admin.shopify.com/apps/supercycle/settings/languages)**.
    * **Failed charge emails.** Failed charge emails now include a summary of the charge and a link to pay the outstanding balance.
  </Accordion>
</Update>

<Update label="December 5, 2025" tags={["Features","Improvements"]} rss={{ title:"New rental Shopify Flow triggers",description:"Trigger a Shopify Flow on rental created, updated, and canceled." }}>
  ## New rental Shopify Flow triggers

  Trigger a Shopify Flow on **Rental created**, **Rental updated**, and **Rental canceled**. Automate the busywork around a rental's lifecycle, such as tagging an order, notifying a 3PL, or starting a fulfillment task, without anyone watching the admin.

  <Accordion title="Improvements">
    * **Add rentals to a draft order.** Add new rentals to a draft order in a Shopify order with **Add rentals** in the **More actions** menu. Turn it on under <Icon icon="shopify" iconType="solid" /> **[Beta features](https://admin.shopify.com/apps/supercycle/settings/features)**. This also changes the **Create order** workflow from Reservations.
  </Accordion>
</Update>

<Update label="November 24, 2025" tags={["Features","Improvements"]} rss={{ title:"Subscriptions on Shopify POS",description:"Start subscriptions from Shopify POS using the POS extensions for Supercycle." }}>
  ## Subscriptions on Shopify POS

  [Start subscriptions from Shopify POS](/documentation/point-of-sale/pos-overview) using the POS extensions for Supercycle. Sign a customer up to a membership or subscription at the counter, so in-store sales convert into recurring revenue instead of one-off transactions.

  <Accordion title="Improvements">
    * **Admin blocks.** [New admin blocks](/documentation/setup/admin-setup) on customers and products in Shopify make it easy to see the relationship between Shopify and Supercycle across the admin.
    * **Get rental data action.** A new [Shopify Flow](/documentation/manage/automation/automation#available-actions) action retrieves rental information for conditional logic in workflows.
    * **Timeline events.** More detailed timeline events on rentals make it easy to see what happened, when, and by whom.
    * **Customer page.** The customer page now better shows active and upcoming rentals as well as returns in progress.
  </Accordion>
</Update>

<Update label="November 24, 2025" tags={["Features"]} rss={{ title:"Scanner app on iOS and Android",description:"Scan items, update records, and manage rental operations from your phone." }}>
  ## Scanner app on iOS and Android

  [Download the Supercycle Scanner app](/documentation/manage/scanner/scanner) to scan items, update records, and manage rental operations from your phone. Your warehouse team works on the floor, not at a desk. The Scanner puts item lookups and status updates in their hand instead of sending them back to a terminal.
</Update>

<Update label="November 24, 2025" tags={["Features"]} rss={{ title:"Update pricing in bulk",description:"Update pricing on method options in bulk with the new method options table." }}>
  ## Update pricing in bulk

  [Update pricing on method options in bulk](/documentation/manage/products/managing-method-options) with the new method options table, and roll out a seasonal price change across hundreds of products in a single pass. Turn it on under <Icon icon="shopify" iconType="solid" /> **[Beta features](https://admin.shopify.com/apps/supercycle/settings/features)**.
</Update>

<Update label="November 4, 2025" tags={["Features","Improvements"]} rss={{ title:"Membership plan permalink",description:"Copy a cart permalink from any membership plan so customers land at checkout with the plan already in their cart." }}>
  ## Membership plan permalink

  Copy a cart permalink from any membership plan in settings. Drop the link in an email or campaign and the customer lands at checkout with the plan already in their cart, with no navigating and fewer drop-offs on the way to signing up.

  <Accordion title="Improvements">
    * **Subscription start date.** Require the customer to enter a start date for the subscription method.
    * **Subscription status filter.** Filter rentals by subscription status, for example **Billing active** or **Billing paused**.
    * **Pause billing on return.** [Pause subscription billing automatically](/documentation/methods/subscription/overview) when a customer requests a return from customer accounts, or when a return is created from the admin.
  </Accordion>
</Update>

<Update label="October 17, 2025" tags={["Features","Improvements"]} rss={{ title:"Add rentals to an existing Shopify order",description:"Add new rentals to an existing Shopify order from the More actions menu." }}>
  ## Add rentals to an existing Shopify order

  Add new rentals to an existing Shopify order with **Add rentals** in the **More actions** menu. Handle add-ons and over-the-counter extensions on the order the customer already has, instead of creating a separate one to reconcile later.

  <Accordion title="Improvements">
    * **Product status filter.** Filter and view products by Shopify product status, to see what's active, draft, and archived.
    * **Danish.** Added Danish language support.
    * **Reservation previews and filters.** Expand every column within a rental line to view and filter details without opening the rental record.
  </Accordion>
</Update>

<Update label="October 9, 2025" tags={["Features","Legal"]} rss={{ title:"Pickup delivery method",description:"Set different buffer periods for rentals that ship versus those collected in store." }}>
  ## Pickup delivery method

  A pickup delivery method, in beta, lets you set different buffer periods for rentals that ship versus those collected in store. Turn it on under <Icon icon="shopify" iconType="solid" /> **[Beta features](https://admin.shopify.com/apps/supercycle/settings/features)**.

  Shipping needs days of turnaround buffer, while a counter pickup needs almost none. Separate buffers mean store pickup stock isn't blocked by shipping lead times it never uses.

  <Accordion title="Legal">
    * **Subprocessors.** PlanetScale and Railway added as [subprocessors](https://www.supercycle.com/pages/subprocessors).
  </Accordion>
</Update>

<Update label="September 5, 2025" tags={["Features"]} rss={{ title:"Import items",description:"Import items directly from the inventory page to stand up a back catalog in one upload." }}>
  ## Import items

  Import items directly from the inventory page. Stand up a back catalog in one upload instead of adding units by hand.
</Update>

<Update label="August 26, 2025" tags={["Features","Improvements"]} rss={{ title:"Cancellation window and minimum term on memberships",description:"Set a cancellation window and a minimum term on membership plans." }}>
  ## Cancellation window and minimum term on memberships

  Set a cancellation window, for example 14 days, and a minimum term, for example 3 months, on a membership plan. Commitment terms protect the economics of a plan: customers can't sign up and cancel the next day, so the recurring revenue you price around holds.

  <Accordion title="Improvements">
    * **Sort by title.** Sort products by product title to find and manage products faster.
    * **No methods filter.** Filter products by **No methods** to find products that still need setting up.
  </Accordion>
</Update>

<Update label="August 11, 2025" tags={["Features","Improvements"]} rss={{ title:"Card vaulting",description:"Capture a customer's card and charge it at any time." }}>
  ## Card vaulting

  [Capture a customer's card](/documentation/configuration/risk/card-vaulting) and charge it at any time. A card on file lets you recover the cost of a late return, damage, or a missed payment without chasing the customer, lowering the risk of renting out high-value items.

  <Accordion title="Improvements">
    * **Product inventory table.** The inventory table on products shows status at a glance: **Uncommitted**, **On hand**, and **On order**.
  </Accordion>
</Update>

<Update label="July 10, 2025" tags={["Features","Improvements"]} rss={{ title:"Pay outstanding balance via customer accounts",description:"Customers can view and pay their overdue balance directly from their account." }}>
  ## Pay outstanding balance via customer accounts

  Customers can view and pay their overdue balance directly from their account. Self-serve payment means overdue charges get cleared without your team sending reminders or taking payment by hand.

  <Accordion title="Improvements">
    * **Default language.** Set a default language for your store and customer accounts, and offer several languages.
  </Accordion>
</Update>

<Update label="June 30, 2025" tags={["Features"]} rss={{ title:"Tasks on the dashboard",description:"See the day's work on the dashboard: orders to fulfill, return requests, and outstanding charges." }}>
  ## Tasks on the dashboard

  The dashboard now shows what needs doing at a glance: orders to fulfill, return requests, and outstanding charges, so the day's work is the first thing you see.
</Update>

<Update label="June 30, 2025" tags={["Features"]} rss={{ title:"Charge to saved card",description:"Charge a customer's saved Shopify payment method automatically instead of waiting on a manual checkout." }}>
  ## Charge to saved card

  Charge a customer's saved Shopify payment method to capture payments from their card automatically, instead of waiting on a manual checkout.
</Update>

<Update label="June 27, 2025" tags={["Features","Improvements"]} rss={{ title:"Export products",description:"Export products to CSV for reporting, bulk edits, or sharing with another system." }}>
  ## Export products

  Export products to CSV for reporting, bulk edits, or sharing with another system.

  <Accordion title="Improvements">
    * **Filter by method.** Filter by active methods on the products table in the admin.
  </Accordion>
</Update>

<Update label="June 25, 2025" tags={["Features"]} rss={{ title:"Pick location on items",description:"Set and update an item's pick location in the admin or via the API." }}>
  ## Pick location on items

  [Set and update an item's pick location](/documentation/manage/inventory/items) in the admin or through the API. Knowing exactly where a unit lives turns picking from a hunt into a lookup, which matters the moment your warehouse outgrows a single shelf.
</Update>

<Update label="June 13, 2025" tags={["Features"]} rss={{ title:"Returns now work with customer accounts",description:"Returns run through new customer accounts, with a reworked admin flow." }}>
  ## Returns now work with customer accounts

  [Returns](/documentation/manage/returns/returns) now run through new customer accounts, with a reworked flow in the admin. Customers start a return themselves from their account, and your team manages it from one consistent place, with fewer support messages and less manual setup.
</Update>

<Update label="June 10, 2025" tags={["Features"]} rss={{ title:"SKU on the inventory table",description:"See and search the SKU directly on the inventory table." }}>
  ## SKU on the inventory table

  See and search the SKU directly on the inventory table. Find a specific unit by the code you already use everywhere else.
</Update>

<Update label="June 2, 2025" tags={["Features","Improvements"]} rss={{ title:"Export customers",description:"Export customers to CSV for reporting or to sync into another tool." }}>
  ## Export customers

  Export customers to CSV for reporting or to sync into another tool.

  <Accordion title="Improvements">
    * **Active rentals filter.** See and filter customers by their number of active rentals.
  </Accordion>
</Update>

<Update label="May 29, 2025" tags={["Features"]} rss={{ title:"Export items",description:"Export items to CSV for a full inventory snapshot." }}>
  ## Export items

  Export items to CSV, a full inventory snapshot for reporting or reconciliation.
</Update>

<Update label="May 21, 2025" tags={["Features"]} rss={{ title:"Export rentals",description:"Export rentals to CSV to analyze your reservation data in a spreadsheet or warehouse." }}>
  ## Export rentals

  Export rentals to CSV, so the data behind your reservations is yours to slice in a spreadsheet or warehouse.
</Update>

<Update label="May 1, 2025" tags={["Features","Improvements"]} rss={{ title:"Analytics",description:"See key circular metrics about your store from the new beta analytics." }}>
  ## Analytics

  Open the beta analytics from the Supercycle navigation to see key circular metrics about your store. Knowing utilization, repeat rate, and what's earning helps you decide what to buy more of and what to retire, turning circular data into stocking decisions.

  <Accordion title="Improvements">
    * **Overlap visibility.** Overlaps with items that have already been returned are no longer shown, so the list reflects real conflicts.
    * **Row counts.** See the total number of rows on tables, useful when filtering to find a total.
    * **Support chat.** Request support or suggest a feature without leaving Supercycle, from the chat icon in the bottom right of the admin.
    * **Subscription storefront options.** Pricing tiles or a minimum-term dropdown, plus the option for customers to choose a preferred start date.
  </Accordion>
</Update>

<Update label="March 10, 2025" tags={["Features","Improvements","Legal"]} rss={{ title:"Start and end conditions for subscriptions",description:"Choose when a subscription begins and stops billing so charges line up with when the customer has the item." }}>
  ## Start and end conditions for subscriptions

  Choose a start condition for when a subscription begins billing and an end condition for when it stops. Billing that lines up with when the customer has the item, not the day they checked out, keeps charges fair and cuts the disputes that follow surprise bills.

  <Accordion title="Improvements">
    * **Failed payment reasons.** Detailed failed payment reasons now show on a charge.
    * **Change payment method.** Change the payment method for an active subscription or membership from the rental, when a customer has several cards on file with Shopify.
    * **Edit recurring price.** Edit the recurring price of active memberships and subscriptions from a customer's Supercycle customer page.
  </Accordion>

  <Accordion title="Legal">
    * **Subprocessors.** Hookdeck added as a [subprocessor](https://www.supercycle.com/pages/subprocessors).
  </Accordion>
</Update>

<Update label="February 27, 2025" tags={["Features","Improvements","Legal"]} rss={{ title:"Charges replace Invoices",description:"Charges work like invoice lines with more flexibility, combining several into a single payment via a draft order." }}>
  ## Charges replace Invoices

  Charges work like invoice lines but with more flexibility: combine several into a single payment through a draft order. Billing a customer for a late fee plus an extension as one payment, instead of several separate invoices, makes the charge clearer for them and easier for you to reconcile.

  <Accordion title="Improvements">
    * **Change product or variant.** Change the product or variant an item is associated with, useful when variants stand for conditions such as **Like New** and **Well Loved** and the item's condition changes over time.
    * **Unlimited quantity.** Cart validation now checks availability against quantity, so a customer can select any quantity and availability is validated at checkout.
    * **Not tagged with filter.** Filter the reservations and invoices tables by **Not tagged with**.
    * **Inline subscription UI.** A clearer inline subscription UI shows the current status of subscriptions within a rental.
    * **Create rental order.** **Create rental order** from Reservations now brings the Shopify variant into the draft order, so the correct variant SKU reaches your 3PL or operations team, and draft orders support cart validation against overlapping rentals.
  </Accordion>

  <Accordion title="Legal">
    * **Subprocessors.** Intercom and AppSignal removed as subprocessors, and Attio, Fillout, and Relay added. See [subprocessors](https://www.supercycle.com/pages/subprocessors).
  </Accordion>
</Update>

<Update label="December 13, 2024" tags={["Features"]} rss={{ title:"Add a location to an item",description:"Assign an inventory location to each item, supporting stock across several warehouses and stores." }}>
  ## Add a location to an item

  Assign an inventory location to each item, supporting stock across several warehouses and physical stores, so availability reflects where things are.
</Update>

<Update label="December 13, 2024" tags={["Features"]} rss={{ title:"Save custom data against items and rentals",description:"Create custom fields on items and rentals for information specific to your business." }}>
  ## Save custom data against items and rentals

  Create custom fields on items and rentals for information specific to your business, such as purchase price, consignee, or a manufacturer serial number, and keep it where the rest of the record lives.
</Update>

<Update label="December 11, 2024" tags={["Features","Improvements","Legal"]} rss={{ title:"Save custom views",description:"Filter Reservations, Returns, Products, Inventory, or Customers, then save the filtered view." }}>
  ## Save custom views

  Filter Reservations, Returns, Products, Inventory, or Customers, then save the filtered view. The reports you check every day, such as overdue this week or out for service, become one selection instead of rebuilding the same filters each time.

  <Accordion title="Improvements">
    * **Filter by order number.** Filter reservations by a specific Shopify order number: select **Add filter**, then **Order ID**, on the reservations table.
    * **Unique serials.** Serial numbers on items must now be unique. Previously an item's serial could match another item's.
  </Accordion>

  <Accordion title="Legal">
    * **Subprocessors.** Sentry added as a [subprocessor](https://www.supercycle.com/pages/subprocessors).
  </Accordion>
</Update>

<Update label="October 11, 2024" tags={["Features","Improvements"]} rss={{ title:"Filter tables by tags",description:"Filter Reservations, Inventory, and Invoices by their tags." }}>
  ## Filter tables by tags

  Filter Reservations, Inventory, and Invoices by their tags, turning the tags you already apply into a way to find and act on groups of records.

  <Accordion title="Improvements">
    * **Method metafields.** New boolean metafields on Shopify products for imported into Supercycle and for each method, so you can manage from the Shopify products page and build automatic collections per method. They apply to newly imported and edited products, with existing products backfilled.
    * **Item page.** The item page is reworked to prioritize rentals, with the serial number moved to the right-hand side as a Code-128 barcode when a serial is present.
  </Accordion>
</Update>

<Update label="October 8, 2024" tags={["Features","Improvements","Legal"]} rss={{ title:"Pause and unpause memberships",description:"Pause and re-activate a membership from the customer's membership page." }}>
  ## Pause and unpause memberships

  Pause and re-activate a membership from the customer's membership page, alongside canceling. A pause keeps a customer on the books through a break instead of losing them to a cancellation. Billing resumes on schedule when they come back.

  <Accordion title="Improvements">
    * **Payment failure descriptions.** Subscription payment failure descriptions carry more detail, helping you follow up with customers.
    * **Customer search.** Search the customers table by email and full name.
    * **Packing slip.** The packing slip layout is reworked to emphasize order tags and shipping method.
  </Accordion>

  <Accordion title="Legal">
    * **Subprocessors.** Plain added as a [subprocessor](https://www.supercycle.com/pages/subprocessors).
  </Accordion>
</Update>

<Update label="September 5, 2024" tags={["Features"]} rss={{ title:"Tagging for rentals, items, and returns",description:"Add your own tags to rentals, items, and returns for grouping and triaging." }}>
  ## Tagging for rentals, items, and returns

  Add tags to rentals, items, and returns from their pages: your own labels for grouping, triaging, and filtering records.
</Update>
