- DATE:
- AUTHOR:
- Dutchie Product Team
Dutchie POS Release Notes: Smarter Segmentation, Delivery Route History & Discount Accuracy Fixes
Here’s what’s coming soon to Dutchie POS
Projected release dates: 9/7/26-9/10/26. Subject to change.
Enhancements
Loyalty & Marketing
Test Send History for campaigns. Added a Test Send History action to the Campaigns list. Clicking it opens a modal showing exactly who received a test send (email address or phone number), which channel, and the delivery status, so marketers can verify a test went out correctly before sending live.
Dutchie Backoffice Admin > Marketing > Campaigns
Clarified loyalty tier progress. Spend-based loyalty tier progress is now labeled "Net spend (Excludes tax)," with tooltip guidance explaining that tier thresholds are calculated on completed transaction totals minus tax, reducing confusion when a customer's tier doesn't match their tax-inclusive total.
Loyalty points expiration change UX. When changing a loyalty program's points-expiration methodology, retailers now see a warning with the option to either keep existing point balances' expiration dates as-is or update them to a new date. Useful when extending a grace period for customers during a methodology change.
SMS/Push content previews in campaign wizard (rolling out gradually). The marketing campaign wizard now includes a live preview of SMS and Push content cards, showing a phone mockup that updates as you select a message template and toggle MMS images on/off, helping marketers catch formatting issues before sending.
Loyalty widget in email campaigns. Marketers can now drag a Loyalty widget tile into email campaigns and workflows, giving each customer a personalized, real-time snapshot of their tier progress, points balance, or expiration status right in their inbox.
Customer Segments
Channel opt-in visibility for segments. The Audience tab for customer segments now shows three summary tiles, email, SMS, and push opt-in counts and percentages, so marketers can gauge a segment's real reach across channels before building a campaign.
Shopping frequency KPI on segment bar graph. Segment bar graphs now include a shopping frequency KPI (orders per month), making it easier to see whether marketing efforts are moving the needle for a segment over time.
Simplified segment demographics chart. Segment demographics are now shown as a single-dimension pie chart (defaulting to category) for a simpler, clearer breakdown, replacing the previous two-dimension view.
New segment attributes
Dutchie POS Admin > Customers > Segments > Create Segment
New "successful referrals" segment attribute. Reward top advocates with a new customer segment option for successful referrals. Segments can now include customers whose referred friends went on to make a purchase, making it easier to target referral-driven campaigns and reward word-of-mouth growth.
New "Upcoming discounts" segment attribute. The Discounts Used segment attribute now includes upcoming and paused discounts, not just active ones, with each discount's status shown in the picker, so marketers can build segments, workflows, and campaigns ahead of a discount going live.
New "Order Source" segment attribute. Segments can now be built using Order Source. Target customers based on how frequently they've ordered in-store, via Dutchie ecommerce, mobile app, kiosk, or third-party channels over a given time period.
Inventory
Attach lab results directly from Google Drive (rolling out gradually). A new option on the Batches Lab Results screen lets you sign in to Google, browse Drive, including private files and Shared Drives, with Google's own picker, and attach a COA without ever leaving Back Office. Multiple files can be attached at once.
Configurable Online Title column for inventory audits. Inventory audit details now support an optional Online Title column (hidden by default) that can be added via the column configuration menu, right after Product Name.
Package selection checkboxes in Move inventory. The Move inventory dialog now supports selecting individual packages with checkboxes when moving multiple packages at once, instead of needing to zero out a package's quantity to exclude it.
Brands
Faster, more guided brand creation. Adding a new brand in Back Office now defaults to searching and linking existing global brands first, with manual local-brand creation still available as a secondary option, reducing duplicate brand records and speeding up setup.
Delivery
Delivery Route History with bulk manifest export/print. Back Office now has a Route History page (Delivery > Route History) for finding delivery routes — active, completed, or cancelled — within a date range, and bulk-exporting or printing every manifest on a route (or on individual, even unrouted, deliveries) as one consolidated PDF.
"Received" timestamp on Delivery routes (rolling out gradually). The Delivery > Routes table now includes a Received column showing when an order was placed, matching the timestamp already shown on the Guest List.
Better OnFleet route sync. Improved Sync Route from OnFleet so route and driver-assignment changes made directly in OnFleet (e.g., after optimizing a route) are reliably reflected back in Dutchie POS.
Manufacturing
Product names on Assembly input packages. Assembly input packages matched by category (e.g., "any Flower") now show the product name directly in the packages dropdown and grid, instead of only serial number, room, and batch, making it easier to tell packages apart.
Register
Improved visibility for expired MMJ IDs. The cart header now displays a customer's MMJ ID expiration date, highlighting it in red when expired, so staff can catch expired medical IDs at a glance.
Traceability
Improved retail ID association storage. Reworked how retail ID associations (QR code to label source) are stored to key off the Metrc tag itself rather than the Dutchie package, improving reliability for scanned retail ID workflows.
Hardware
Warning for offline printer jobs. Register now warns operators when a print job is queued to an offline printer, instead of showing a misleading success message.
Multiple categories on package labels. Package labels now support applying multiple catalog categories to a single label (alongside category flower-equivalency settings), with support for up to 5 category flower equivalencies per label.
Other
Manager PIN required for customer identifier changes. Back Office now offers a setting to require a manager PIN before changing a customer's date of birth, phone number, or email, helping prevent staff from altering identifiers to fraudulently trigger discounts or point boosts.
Fixes
We're releasing fixes for the following issues:
Fixed an issue where a failed register close-out (e.g., due to a connectivity drop) could prevent the cash balance from resetting, resulting in inaccurate cash-shortage totals on the closing report.
Fixed a display issue on Elo devices where staff were unable to scroll down within the customer ID-match window to select or merge a matching profile after scanning an ID.
Fixed label generation paths that could use the wrong printer format or fail printer-type lookup, causing garbled output or a silent PDF fallback instead of the correct native ZPL/ESC label format.
Fixed an issue where Total Weight discount competition could produce different results for the same cart weight depending on how many line items the weight was split across.
Fixed a repeating "buy X get Y" discount that skipped increments (applying at 3, 7, and 11 items instead of every 3) when the reward item overlapped the discount's own requirement pool.
Fixed tiered Smart Tag discounts where a higher, more specific tier could lose to a broader, lower tier when a cart mixed items eligible for both.
Fixed an issue where undoing a started recipe batch step could leave the batch in a broken state, with inputs and outputs missing and the step stuck showing as in-progress.
Fixed recreational customer profiles incorrectly using MMJ ID as the primary identification; they now correctly use Driver's License fields, while medical profiles are unaffected.
Fixed apartment/unit numbers getting lost or misread by OnFleet's geocoder because they were being combined into the main street-address field instead of passed separately.
Fixed "buy X get Y" discounts over-applying on ecommerce orders, discounting more reward items than intended.
Fixed strike-through pricing on the menu and in the cart showing an incorrect "percent off" in certain tax configurations — a display-only issue that did not affect actual checkout totals.
Fixed a Pay by Bank fee remaining on a transaction after the payment was declined, which could cause the Closing Report to show a fee with no matching Settlement Report transaction.
Senders with unvalidated DNS records are now routed to a separate sending pool to protect the overall sender IP reputation.
Fixed the SendGrid opt-in status sync job piling up and impacting Hangfire job availability.
Fixed inventory/wholesale order entries where manually overriding the Total price could silently round to a different value than what was entered.
Fixed transaction void errors that surfaced a generic "check your PIN" message even when the real failure was unrelated to the manager PIN, making it harder for staff to diagnose the actual issue.
Fixed campaign heatmaps not loading.
Fixed false-positive lab result audit mismatches caused by comparing "no data" against zero, or comparing a stale carried-over value against a batch with no new test data.
Fixed the Product Sales Report showing 0:00:00 instead of the actual time in the SoldDate column.