Package v21.1 to v21.2 - 10 June 2026
On this page
Two patch releases covering sync reliability fixes, new POS fulfillment station routing, and a range of new fields across orders, shipments, and store configuration.
Breaking changes and cautions
No breaking changes in this release.
Field and object changes
The following new fields, values, and objects were added to this version of StoreConnect. Not all of them automatically appear in your org when you upgrade, and they never appear on page layouts or record pages your org has customized. Refer to the relevant procedure to add them.
- Add a new field to your custom layout or record pages, see add new fields to your record pages.
- Add new picklist values, see update picklist values.
- Display a field on a page layout, see page layouts and profiles.
New fields on existing objects
| Object | Field | API name | Type | What it records | Where it appears after upgrading |
|---|---|---|---|---|---|
| Cart Fulfillment | Requested Delivery Date | s_c__Requested_Delivery_Date__c |
Date | The delivery date the customer asked for at the POS | Nowhere. Add it to your Cart Fulfillment layout |
| Cart Fulfillment | Shipping Notes | s_c__Shipping_Notes__c |
Long text | Shipping instructions the customer gave at the POS | Nowhere. Add it to your Cart Fulfillment layout |
| Order | Memo | s_c__Memo__c |
Text | A short memo on the order | StoreConnect Order record page |
| Order | Outlet | s_c__Outlet_Id__c |
Lookup (Outlet) | The outlet that created the order | StoreConnect Order record page |
| Order Product | External Tax Detail | s_c__External_Tax_Detail__c |
Long text | The tax breakdown by jurisdiction from an external tax provider | Nowhere. Add it to your Order Product layout |
| Shipment | First Printed At | s_c__First_Printed_At__c |
Date/time | When the shipment docket was first printed at a station | Nowhere. Add it to your Shipment layout |
| Shipment | First Printed Register | s_c__First_Printed_Register_Id__c |
Lookup (Register) | The register that first printed the docket | Nowhere. Add it to your Shipment layout |
| Shipment | Fulfillment Station | s_c__Fulfillment_Station_Id__c |
Lookup (Fulfillment Station) | The fulfillment station the shipment is routed to | Nowhere. Add it to your Shipment layout |
| Shipment | Last Printed At | s_c__Last_Printed_At__c |
Date/time | When the shipment docket was last printed | Nowhere. Add it to your Shipment layout |
| Shipment | Last Printed Register | s_c__Last_Printed_Register_Id__c |
Lookup (Register) | The register that last printed the docket | Nowhere. Add it to your Shipment layout |
| Shipment | Requested Delivery Date | s_c__Requested_Delivery_Date__c |
Date | The delivery date the customer asked for | Nowhere. Add it to your Shipment layout |
| Shipment | Shipping Notes | s_c__Shipping_Notes__c |
Long text | Shipping instructions from the customer | Nowhere. Add it to your Shipment layout |
| Shipping Carrier Product | Fixed Price | s_c__Fixed_Price__c |
Currency | A fixed shipping price that overrides the carrier quote | Nowhere. Add it to your Shipping Carrier Product layout |
| Shipping Carrier Product | Markup Amount | s_c__Markup_Amount__c |
Currency | A flat amount added to the carrier quote | Nowhere. Add it to your Shipping Carrier Product layout |
| Shipping Carrier Product | Markup Percentage | s_c__Markup_Percentage__c |
Percent | A percentage added to the carrier quote | Nowhere. Add it to your Shipping Carrier Product layout |
| Shipping Carrier Product | Max Price | s_c__Max_Price__c |
Currency | The highest shipping price charged after markup | Nowhere. Add it to your Shipping Carrier Product layout |
| Shipping Carrier Product | Min Price | s_c__Min_Price__c |
Currency | The lowest shipping price charged after markup | Nowhere. Add it to your Shipping Carrier Product layout |
| Store | Favicon | s_c__Favicon_Id__c |
Lookup (Media) | The favicon shown in the browser tab | StoreConnect Store record page |
New objects
| Object | API name | What it does | What to do |
|---|---|---|---|
| Fulfillment Category | s_c__Fulfillment_Category__c |
A routing group, such as Hot Kitchen or Drinks | Nothing |
| Fulfillment Category Station | s_c__Fulfillment_Category_Station__c |
Routes a fulfillment category to a station at an outlet | Nothing |
| Fulfillment Station | s_c__Fulfillment_Station__c |
A preparation station, such as a kitchen or bar | Nothing |
| Product Fulfillment Category | s_c__Product_Fulfillment_Category__c |
Assigns a product to a fulfillment category | Nothing |
| Register Fulfillment Category Station | s_c__Register_Fulfillment_Category_Station__c |
A register’s own routing for a fulfillment category | Nothing. The POS creates these records |
Enhancements
Fulfillment stations for POS order routing
A new fulfillment station data model is available for managing POS order routing to physical preparation areas such as a kitchen, bar, or pizza oven. Five new Salesforce objects are added:
- Fulfillment Station — represents a physical preparation station at an outlet. Each station has a display name, an operational status (Active, Disabled, or Degraded), and an offline behavior setting (Pass to the next station, or Accept locally for later processing). Routing weight, optional fallback station, and optional parent station relationships allow chaining and grouping of stations.
- Fulfillment Category — a named routing bucket (for example, Hot Kitchen or Drinks) used to group products for routing.
- Product Fulfillment Category — links a product to the fulfillment categories it belongs to, controlling where orders containing that product are routed.
- Fulfillment Category Station — maps a fulfillment category to the station that handles it, per outlet.
- Register Fulfillment Category Station — a per-register override of the outlet-level category-to-station mapping, set when a register specifies a routing preference.
Five new fields are also added to the Shipment object to support fulfillment docket printing: the routed fulfillment station, the register that first printed the docket, and timestamps for the first and most recent prints.
Automatic retry of failed sync events
A background job now runs every two hours and automatically retries failed sync change events from the last 12 hours, reducing the need to manually clear the Sync Errors list after transient failures. StoreConnect Support can change the retry interval for your org. The Sync Errors page displays a banner while auto-retry is running; manual editing and retries are temporarily paused during the batch.
OAuth-based store connection setup
The store connection setup flow in the StoreConnect console now uses OAuth authorization instead of username, password, and two-factor authentication. Clicking Connect opens a new browser tab where you authorize via Salesforce. The setup page polls for completion and shows progress. A “Reopen the authorization page” link is available if the tab was closed before completing, and a Cancel action is available while waiting.
Order Memo field
A new Memo text field (up to 80 characters) is available on the Order object, allowing a short free-text note to be added to an order. The field appears on the Order record page and layout.
Store favicon
Stores can now specify a favicon image to display in the browser tab. The Favicon field on the Store object accepts a media record of image type and appears in the Store record page and layout.
Delivery date and shipping notes on shipments
Two new fields — Requested Delivery Date and Shipping Notes — are now available on both the Cart Fulfillment and Shipment objects. These fields are populated during the POS arrange delivery flow and copied from the Cart Fulfillment to the Shipment when an order is completed. Shipping Notes supports up to 10,000 characters of free-text delivery instructions.
Shipping carrier pricing rules
Five new pricing rule fields are available on the Shipping Carrier Product object, giving administrators control over how carrier-quoted shipping rates are presented to customers:
- Fixed Price — overrides the carrier-quoted price entirely; all other rules are ignored when this is set.
- Markup Percentage — adds a percentage on top of the carrier-quoted rate (for example, 10 adds 10%).
- Markup Amount — adds a flat amount on top of the marked-up rate.
- Min Price — sets a minimum floor; if the post-markup rate is lower, it is raised to this value.
- Max Price — sets a maximum ceiling; if the post-markup rate is higher, it is clamped to this value.
Validation prevents negative values and ensures the maximum is not set below the minimum.
Outlet field on orders
A new Outlet lookup field is available on the Order object, recording which outlet created the order. The field appears on the Order record page and layout.
External tax detail on order line items
A new External Tax Detail field is available on the OrderItem object for storing per-jurisdiction tax breakdowns from external tax providers such as Avalara. The field stores a JSON array containing tax name, rate, and amount for each jurisdiction, and supports up to 32,768 characters.
Deprecated fields
No fields have been formally deprecated in this release.
Fixed bugs
Sync update events missing timestamp
In certain scenarios — including REST PATCH operations, Bulk API updates, Flows using “Update Records”, and Apex partial-update patterns — sync update events were sent without a SystemModstamp timestamp. This could cause downstream sync consumers to incorrectly order or discard events. Sync update events now always include a timestamp.
Order line items failing to sync due to missing price book entry
Salesforce was rejecting order line item sync records with the error “Required fields are missing: [Price Book Entry]” in some cases. StoreConnect now automatically resolves the missing price book entry from the parent order’s pricebook when the field is absent, preventing the sync failure. Failed sync records from this issue can be retried from the Sync Errors Summary.
Media Manager folder rename crashes in Chrome
Renaming a folder in the Media Manager in Chrome would show a “A Component Error has occurred!” error if the user dragged to highlight the pre-filled folder name and released the mouse outside the rename input. The rename no longer crashes in this scenario.
Salesforce payment component error on load
The Salesforce payment component in the order action was showing an error when first loaded in certain configurations. The component now loads correctly.
Summer ‘26 UI, Lightning Web Security, and API v67+ compatibility
A broad set of fixes addresses compatibility issues introduced by Salesforce Summer ‘26, including LWC component rendering, CSS updates, Lightning Web Security (LWS) restrictions, and Apex default-value behavior changes in API version 67 and above.
PDF and ZIP files blocked when uploading as the File media type
Uploading a PDF or ZIP file with the media type set to File was incorrectly blocked. PDF and ZIP files are now accepted for the File media type.
Setup wizard navigation links not working
Several navigation links within the setup wizard were not directing to the correct destinations. Links now navigate correctly.
Storefront URL missing store path when opening from the console header
Clicking Open Storefront from the console header was generating a URL that omitted the store’s path prefix. The correct URL including the full store path is now generated.
Sync refresh skipping sc_id-only change events
The sync refresh processor was not correctly handling change events that contained only an sc_id field, causing those events to be skipped. These events are now processed correctly.
Was this article helpful?
Thanks for your feedback! It helps us improve our docs.