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

# Changelog

> Product updates and improvements to Charlie

<Update label="July 13, 2026" tags={["New Feature", "Improvement"]} description="v1.20.0">
  ## Tag orders by fulfillment location and faster inventory syncing

  A new automation tags orders with their fulfillment location, and inventory syncing got faster and more reliable behind the scenes.

  ### What's new

  #### Tag orders by fulfillment location

  Automatically tag an order with the name of the location assigned to fulfill it, as soon as it is ready to fulfill.

  * Runs automatically once an order is ready to fulfill
  * Use the tag to filter and report on orders by fulfillment location

  ### Improvements

  #### Faster, more reliable inventory syncing

  Inventory updates now run on their own dedicated queue, so a burst of inventory changes no longer competes with or slows down other webhook processing. This keeps inventory-driven metafields and storefront data current even during busy periods.

  #### Bug fixes

  * Reliability polish across backlog counts, inventory syncing, and automations
</Update>

<Update label="June 15, 2026" tags={["New Feature", "Improvement"]} description="v1.19.0">
  ## See your backlog at every location and choose what counts

  Charlie now shows how busy and how backed up each location is, right on your locations list and detail pages, and lets you decide which orders count toward a location's backlog.

  ### What's new

  #### Live backlog and capacity on your locations

  Each location now shows its current daily order load and its pending backlog, on both the locations list and the location detail page, so you can see at a glance where work is piling up.

  * Daily orders and backlog orders columns on the locations list
  * An order workload summary on each location's detail page
  * At capacity and At backlog views to filter straight to the locations that need attention

  #### Choose which orders count toward backlog

  A new Backlog setting lets you decide what a location's backlog includes.

  * Count all pending orders, both accepted and in progress
  * Or count only orders you have started fulfilling, so untouched orders that are waiting on something like a prescription do not inflate the number

  ### Improvements

  #### Backlog counts stay accurate as orders move

  Backlog numbers now keep up as orders are cancelled, unfulfilled, held, or rescheduled, so what you see reflects the work that is actually waiting.

  #### Bug fixes

  * Polish across the locations and backlog experience

  ### Learn more

  Read the [capacity and backlog guide](/locations/capacity) to set this up for your locations
</Update>

<Update label="June 5, 2026" tags={["New Feature", "Improvement"]} description="v1.18.0">
  ## Performance-based routing and a Point of Sale payment filter

  Route orders toward the locations that fulfill fastest, filter the Shopify Point of Sale sales targets tile by payment status, and pick up a round of accuracy and reliability fixes across Admin and Point of Sale.

  ### What's new

  #### Performance-based order routing

  Order routing can now rank your locations by how quickly each one ships, so new orders flow toward the locations that are fulfilling fastest.

  * Add a performance rule that ranks locations by their recent fulfillment speed
  * Combine it with your existing rules so speed is one factor among many
  * Rankings update as your fulfillment data changes

  #### Payment status filter on the Point of Sale sales targets tile

  The sales targets tile in Shopify Point of Sale can now include or leave out orders that are still pending payment, so the numbers match how your team counts a sale.

  * Reach the filter from a More filters link on the tile
  * Toggle pending-payment orders in or out of your target progress
  * The tile totals update to reflect the payment status you choose

  ### Improvements

  #### Matching sales target actuals across Admin and Point of Sale

  The actual sales on your sales targets now line up between the Admin dashboard and Shopify Point of Sale, so the same orders count the same way in both places.

  #### Fresher fulfillment speed data

  The fulfillment speed metric behind performance-based routing now refreshes as orders move through your webhooks rather than on a fixed timer, so routing uses more current data while doing less background work.

  #### Point of Sale tiles stay tappable when data fails to load

  When a Point of Sale tile cannot load its data, it now stays tappable so your team can retry on the spot. This covers both the revenue tile and the sales targets tile.

  #### Bug fixes

  * Reliability and accuracy polish across sales targets, order routing, and fulfillment webhooks

  ### Learn more

  Read the [order routing overview](/order-routing/overview) to see how to combine performance-based ranking with your other rules
</Update>

<Update label="May 22, 2026" tags={["New Feature", "Improvement"]} description="v1.17.0">
  ## Sales targets in POS and backlog-aware routing

  Track sales targets directly from Shopify POS, route orders toward locations with shorter backlogs, and browse automations through a redesigned search-and-sort interface, along with a new location handle field and reliability fixes.

  ### What's new

  #### Sales targets on Shopify POS

  Your retail team can now see how they are tracking against gross sales, average order value, and units per transaction goals from the POS home screen

  * A tile on the POS smart grid shows a quick on-track summary for the active location
  * Tap to open a detailed modal with progress percentages and status badges
  * English and French translations available out of the box
  * Stays usable offline thanks to a per-device cache of the last known values

  #### Bulk sales target management

  Set targets across many locations at once instead of one at a time

  * Import targets via CSV with a guided three-step wizard for upload, validation, and confirmation
  * Export current targets as CSV for editing in your spreadsheet of choice
  * Download a starter template that already lists your locations

  #### Backlog-aware order routing

  Order routing now considers each location's open fulfillment backlog when ranking destinations for a new order

  * Locations with fewer unfulfilled orders are preferred for orders that fit them
  * Opt in per location using the new backlog preference toggle
  * Set an optional maximum backlog threshold so a location is skipped entirely once it gets too busy
  * Live counts and thresholds are exposed as location metafields for use by other apps or your storefront

  #### Automations explorer with search, sort, and pagination

  Find any automation in seconds, even with hundreds in your library

  * Live search across automation names and descriptions
  * Sortable columns for quick browsing
  * Pagination keeps the page snappy as your list grows

  #### Location handle

  Give each location a short URL-friendly identifier such as `paris-warehouse` that you can reference consistently across the app, your Storefront API integrations, and external tools. Edit the handle from the location detail page.

  #### Markets on the location detail page

  See which Shopify Markets each location serves right on the location detail page

  * Markets appear as chips alongside the rest of the location info
  * Click a market chip to jump to that market in the Shopify admin

  ### Improvements

  #### Bug fixes

  * Reliability polish across no-show detection and combined location rules

  ### Learn more

  Read the [order routing overview](/order-routing/overview) to see how to enable backlog-aware ranking on your locations
</Update>

<Update label="May 15, 2026" tags={["New Feature", "Improvement"]} description="v1.16.0">
  ## Local pickup, Shopify POS revenue, and Charlie support

  Local pickup analytics with automatic no-show detection, a revenue tile inside Shopify POS, and in-app Charlie support, along with analytics polish and routing reliability fixes.

  ### What's new

  #### Local pickup analytics

  A new Local pickup card row on the analytics dashboard tracks pickup orders from ready-for-pickup through completion, no-show, and cancellation.

  * Automatic no-show detection runs daily and flags stale pickup orders
  * Configurable delay before an unpicked order is counted as a no-show
  * Fulfillment activity and Local pickup metrics adapt to your service filter so the dashboard stays focused on what you care about

  #### POS revenue tile

  See the revenue your store fulfilled at the current POS location, with filters that match how your team thinks about the day.

  * Live revenue and order count for the current location
  * Filter by time period and fulfillment service
  * Trend versus the previous period at a glance
  * Your filter selection is remembered the next time you open POS

  #### Charlie support, right inside the app

  Get help from the Charlie team without leaving the app. The Contact support action now opens an in-app messenger instead of an email link, and conversations stay tied to your shop so context is preserved.

  ### Improvements

  #### Multi-select location filter on analytics

  Filter your analytics by any combination of locations, with an All locations toggle for quick reset.

  #### Section titles on fulfillment analytics

  Each section of the fulfillment analytics page now carries a clear heading for faster scanning.

  #### Export rules in General information

  The Export rules action moved into the General information row of your settings so it sits with related rule controls.

  #### Faster routing for high-traffic stores

  Order routing now reuses computed order data across multiple rule checks, reducing the work per incoming order so busy stores stay responsive.

  #### Bug fixes

  * Reliability and accuracy polish across analytics filtering, revenue math, and combined rule saves

  ### Learn more

  Check out our [analytics guide](/analytics) to explore the new Local pickup metrics
</Update>

<Update label="April 30, 2026" tags={["Bug Fix"]} description="v1.15.1">
  ## Product Location Rule fix and small UX polish

  Fixes the Product Location Rule so it actually applies to orders, plus a couple of smaller polish items.

  ### Improvements

  #### Bug fixes

  * Product Location Rule now correctly routes orders based on the configured collection or product IDs. The rule was previously saved without applying at checkout, so the closest location always won. Re-open and re-save your existing rules to pick up the fix.
  * Collection and product IDs now display as the raw values you typed in the rule editor, instead of the longer internal Shopify identifiers.
  * Documentation links inside the app now point at the correct pages after the recent docs reorganization.

  ### Learn more

  If you need orders to be forced to a specific location whenever a product is in the cart, the [Fulfillment constraint](/constraints/overview) is the right tool. The Product Location Rule applies a soft preference, while a Fulfillment constraint enforces a hard rule that bypasses other routing logic.
</Update>

<Update label="April 22, 2026" tags={["New Feature", "Improvement"]} description="v1.15.0">
  ## Analytics dashboard upgrades and reliability boost

  A more powerful analytics dashboard, two months of historical data backfilled automatically on install, and a wide range of reliability fixes across revenue calculations, webhook processing, and exports.

  ### What's new

  #### Revenue view toggle on analytics

  Switch between different revenue views to understand your fulfillment economics from multiple angles, directly on the analytics dashboard.

  #### Automatic analytics backfill on install

  When you install Charlie or re-authorize the app, we now automatically backfill the previous two months of order data so your analytics are meaningful from day one.

  * Runs as a one-time migration after install
  * 60-day window of order and fulfillment data
  * Non-disruptive, runs in the background

  #### Webhook delivery heartbeat monitor

  Charlie now actively monitors webhook delivery health from Shopify, surfacing missed or delayed webhooks so you can trust routing is running on fresh data.

  #### Schedule location capacity per day

  The schedule-location-capacity Flow template now accepts a per-day map instead of a single value, letting you configure different capacity limits for each day of the week.

  ### Improvements

  #### Faster webhook processing

  Doubled the webhook queue concurrency. Inventory, order, and routing webhooks now process twice as fast during high-traffic periods.

  #### More accurate analytics revenue

  * Revenue now correctly subtracts discount allocations so reported numbers match what you actually earned
  * Analytics counts distinct orders instead of double-counting fulfillment events
  * Whole-number percentages display cleanly without trailing decimals

  #### Better CSV exports

  * Analytics revenue exports as a plain number, easier to work with in spreadsheets
  * Unicode characters preserved in both rules and analytics CSV exports

  #### Bug fixes

  * Fixed an issue where trend deltas could show absurd values when the previous baseline was near zero
  * Fixed an issue where safety stock changes did not always trigger the save webhook
  * Fixed an issue where the daily order limit was not always cleared when disabled
  * Fixed a path traversal vulnerability in the inventory export download route
  * Shopify API throttle errors now retry automatically instead of failing
  * Analytics settings now correctly track pre-update values for audit
  * Improved cart constraint function parsing for the updated quantity input format
</Update>

<Update label="April 9, 2026" tags={["New Feature", "Improvement"]} description="v1.14.0">
  ## Available inventory metafield and analytics improvements

  A new public metafield for product availability and more accurate analytics metrics.

  ### What's new

  #### Available inventory metafield

  A new boolean metafield indicates whether a product has any fulfillable inventory after safety stock adjustments

  * Available at charlie\_inventory.available on every product
  * Works with smart collections and admin product filters
  * Synced automatically alongside the existing fulfillable metafield
  * Use it to hide out-of-stock products from collections or storefront sections

  ### Improvements

  #### More accurate analytics

  * Revenue now reflects the total order amount
  * Average time-to-ship and on-time rate focus on shipped orders for more meaningful results
  * Routing flow cards show N/A when only Local Pickup is selected
  * Analytics cards display properly when no fulfillment services are selected
  * Separate CSV files for overview and location performance data

  ### Learn more

  Check out our [analytics guide](/analytics) to learn about fulfillment reporting and the [theme integration guide](/inventory/theme-integration) for using inventory metafields in your storefront
</Update>

<Update label="April 7, 2026" tags={["New Feature", "Improvement"]} description="v1.13.0">
  ## Analytics and activity logs

  This release brings analytics reporting to all merchants, adds activity logs for tracking location changes, and improves reliability across the board.

  ### What's new

  #### Analytics reporting

  Track your fulfillment performance with built-in analytics, now available to all merchants

  * Overview metrics with key fulfillment KPIs
  * Fulfillment flow breakdown showing order routing patterns
  * Time-to-ship and on-time delivery tracking
  * CSV export for offline analysis in Excel or Google Sheets
  * Filter by date range and refresh without reloading the page

  #### Activity logs

  See a full history of what happened at each location

  * Searchable log of all location-level events
  * Track inventory syncs, rule changes, and order routing decisions
  * Quickly investigate issues without digging through raw data

  #### Fulfillable inventory metafield

  A new public metafield exposes fulfillable inventory for use in smart collections and Liquid templates

  * Automatically synced across all active locations
  * Available in the charlie\_inventory namespace for storefront access
  * Build dynamic collections based on real-time fulfillability

  ### Improvements

  #### Reorganized settings

  Settings are now split into focused sub-sections with inventory display on its own page, making it easier to find what you need

  #### Security

  * Upgraded to expiring offline access tokens for stronger session security
  * Automated daily database backups to cloud storage

  #### Bug fixes

  * Fixed order counts drifting from actual values on daily reset
  * Fixed new locations not triggering an initial inventory sync
  * Fixed webhook events being incorrectly classified as duplicates
  * Fixed Flow action deduplication running before the action completed
  * Fixed reroute actions using incorrect source location data
  * Improved CSV export encoding for stores with accented location or product names
  * Improved reliability during transient Shopify API errors
</Update>

<Update label="April 2, 2026" tags={["New Feature", "Improvement"]} description="v1.12.1">
  ## Exports, views, and constraint management

  New export tools, location list views, and quality-of-life improvements across the app.

  ### What's new

  #### Inventory snapshot export

  Export your full inventory data as a CSV file, delivered to your inbox

  * Includes product, variant, SKU, location, available quantity, safety stock, and sellable inventory
  * Triggered from the Products page in Shopify Admin
  * Enter your email address and receive a download link when the export is ready
  * Useful for audits, reporting, and reconciliation

  #### Rules export

  Download your rule configuration as a CSV spreadsheet from the Settings page

  * Export safety stock rules, capacity rules, fulfillment constraints, and shipment limit settings
  * Choose which rule types to include
  * Helpful for backup, review, or sharing your configuration with your team

  #### Disable all constraints

  Quickly disable all active fulfillment constraints from the constraints page

  * One-click action to turn off all constraint rules at once
  * Blocking rules switch to prioritize mode, configurable rules are removed
  * Confirmation modal shows exactly which rules will be affected
  * Useful for troubleshooting or temporarily lifting all restrictions

  #### Location list views

  Filter your location list with pre-created views

  * Tabs for All, Active, Inactive, Stores, and Warehouses
  * Each tab shows a count of matching locations
  * Quickly find the locations you need without manual filtering

  ### Improvements

  #### Reliability

  * Improved webhook processing performance under high traffic
  * Better handling of bulk operations when Shopify reports an operation already in progress
  * Database performance improvements for stores with large event histories
</Update>

<Update label="March 16, 2026" tags={["New Feature", "Improvement"]} description="v1.12.0">
  ## POS improvements and routing fixes

  Enhanced POS experience for store associates handling ship-from-store orders, plus important fixes for location routing rules.

  ### What's new

  #### SFS orders POS tile

  Store associates can now see pending ship-from-store orders directly in POS

  * View orders with criticality breakdown showing urgency levels
  * Variant aggregation groups similar items for faster picking
  * Keep your store team informed without switching apps

  #### Quick access to demo automations

  Direct links to Flow automations from your demo store dashboard

  * Quickly test and explore automation templates
  * One-click access to pre-configured workflows
  * Faster onboarding for new team members

  ### Improvements

  #### Performance

  * Faster location updates with smart metafield syncing that only writes when values change

  #### Bug fixes

  * Fixed checkout blocking when all locations are at capacity in BLOCK mode
  * Fixed manual location selection not being respected in combined routing rules
  * Fixed comma-separated tags not parsing correctly in location rules
  * Improved stability during high traffic with better database session handling
  * Fixed collection sync issues when deleting collections in bulk
  * Improved GDPR compliance with complete session data cleanup on shop redaction
</Update>

<Update label="March 9, 2026" tags={["New Feature", "Improvement"]} description="v1.11.0">
  ## New Flow automations and monitoring

  Automate more fulfillment workflows with new Flow actions and templates, plus better uptime monitoring for enterprise reliability.

  ### What's new

  #### Reroute unfulfilled orders automation

  Automatically move stuck orders to available locations

  * New Flow action to reroute fulfillment orders to alternate locations
  * Ready-to-use template that triggers when orders sit too long
  * Keep orders moving even when a location is backed up

  #### No-show pickup reminder

  Remind customers who forget to collect their orders

  * Flow template sends a friendly email after 3 days
  * Reduce unclaimed pickup orders and free up storage space
  * Customizable timing and messaging

  #### Rejection spike alerts

  Get notified when a store rejects too many orders

  * Alert when a location rejects 3 or more orders in 24 hours
  * Spot staffing issues or inventory problems early
  * Prevent customer disappointment before it spreads

  #### Inventory risk assessment

  Check inventory levels before fulfilling orders

  * New Flow action to validate stock for each line item
  * Catch low stock situations before shipping
  * Integrate with your existing fulfillment workflows

  ### Improvements

  #### Uptime monitoring

  Better visibility into system health

  * New health check endpoint for external monitoring
  * Heartbeat monitoring for scheduled background jobs
  * Faster detection and response to any service issues

  #### Bug fixes

  * Improved cleanup of old events to prevent database memory issues during high traffic
  * Fixed Flow template configurations for production environment
</Update>

<Update label="March 3, 2026" tags={["New Feature", "Improvement"]} description="v1.10.0">
  ## Performance and reliability improvements

  Major infrastructure upgrades for better handling of high-volume stores, plus a new Flow template for late fulfillment alerts.

  ### What's new

  #### Late ship from store alert

  Get notified when orders are taking too long to fulfill

  * New Shopify Flow template for monitoring fulfillment delays
  * Automatically detect orders past their expected processing time
  * Send alerts to your team before customers notice

  #### Queue-based webhook processing

  Webhooks are now processed through a dedicated queue system

  * No more webhook timeouts during high traffic periods
  * Automatic retries for temporary failures
  * Better reliability for stores with thousands of daily orders

  #### Large catalog support

  Stores with massive product catalogs can now sync without issues

  * Streaming processing for bulk operations
  * No more memory limits when syncing large inventories
  * Faster initial setup for high-SKU stores

  ### Improvements

  #### Shopify API 2026-01

  Charlie now uses the latest Shopify API version

  * Access to newest platform features
  * Improved performance with updated endpoints
  * Better compatibility with recent Shopify changes

  #### Bug fixes

  * Fixed an issue where the discard button did not reset form fields to their saved values
  * Improved error detection for Cloudflare server errors during sync
</Update>

<Update label="February 23, 2026" tags={["New Feature", "Improvement"]} description="v1.9.0">
  ## Dynamic routing and location management improvements

  Route orders based on cart line item metafields and manage your locations more efficiently with improved alerts and table navigation.

  ### What's new

  #### Dynamic metafield matching for location rules

  Route orders based on any metafield on your cart line items

  * Match line item metafields against location tags
  * Combine with existing cart, customer, and product conditions
  * Perfect for custom fulfillment logic based on product attributes

  #### Location type alerts

  Get notified when locations are missing their type configuration

  * Alert banner appears when locations need attention
  * Quick access to fix untyped locations
  * Ensures proper routing for all your fulfillment locations

  #### Shareable location table state

  Share and bookmark your location table views

  * Filter and sort settings are now saved in the URL
  * Share links with teammates showing the same view
  * Bookmarking filtered views for quick access

  ### Improvements

  #### Safety stock storefront access

  Your storefront can now check if safety stock is enabled

  * New metafield accessible via Storefront API
  * Build custom availability displays that respect safety stock
  * Better integration with headless storefronts

  #### Bug fixes

  * Fixed an issue where the location type modal could not be saved for untyped locations
  * Improved error handling and monitoring throughout the app
</Update>

<Update label="February 16, 2026" tags={["New Feature", "Improvement"]} description="v1.8.0">
  ## Shipment limit and location rule improvements

  Prevent orders from being split into multiple shipments and enjoy a better experience when configuring location rules.

  ### What's new

  #### Shipment limit

  Keep all items in a single shipment with the new shipment limit feature

  * Force all order items to ship from the same location
  * Choose between always enforcing or only when conditions are met
  * Set conditions based on total quantity or total amount
  * Orders that cannot be fulfilled from one location will be blocked at checkout

  #### Combined location rule

  Create more powerful location routing rules by combining multiple conditions

  * Combine cart, customer, and product conditions in a single rule
  * Easier setup with improved condition builder
  * Better organization with grouped location options

  ### Improvements

  #### Location picker

  Locations are now grouped by their status for easier selection

  * Active locations appear at the top
  * Inactive locations are clearly separated
  * Faster navigation when you have many locations

  #### Bug fixes

  * Fixed an issue where shipping status changes were not detected correctly
  * Improved validation messages in location rule configuration
  * Better handling of condition forms in the admin interface

  ### Learn more

  Check out our [shipment limit guide](/constraints/shipment-limit) to learn how to prevent split shipments
</Update>

<Update label="February 13, 2026" tags={["New Feature", "Improvement"]} description="v1.7.0">
  ## Shipping detection and settings improvements

  We've made it easier to understand which features are active in your store and added new resources to help you get the most out of Charlie.

  ### What's new

  #### Status badges

  See instantly whether your features are active

  * Safety stock shows On or Off based on your configuration
  * Fulfillment constraints shows On or Off based on active rules
  * POS extension activation status visible in settings

  #### Guides section

  Step-by-step tutorials now available on your overview page

  * Launch your ship from store program
  * Prioritize warehouse shipping over store inventory

  #### Improved setup guide

  Complete your onboarding faster with the updated setup guide

  * Safety stock configuration now included as a setup step
  * Clear progress tracking through all steps

  #### Security and governance

  Access our security documentation directly from settings

  * Learn how Charlie protects your data
  * Review our data governance practices

  #### Better shipping detection

  We improved how Charlie detects whether a location can ship orders

  * Shipping status now automatically detected from your Shopify delivery profiles
  * Locations that cannot ship are now correctly identified
  * More accurate fulfillment decisions based on real shipping capabilities

  ### Improvements

  #### Reliability

  We made behind-the-scenes improvements to make Charlie more reliable

  * Better handling of temporary issues during high traffic periods
  * Reduced chance of sync errors when processing large inventories

  #### Bug fixes

  * Fixed an issue with Shopify Flow automations not triggering correctly

  ### Learn more

  Check out our [guides](/guides/ship-from-store-launch-with-charlie) to get started with ship from store
</Update>
