# About carts: statuses, sessions, flows

Source: https://support.storeconnect.com/articles/about-carts-statuses-sessions-flows · Last modified 21 August 2026

Carts are distinct from orders. A cart captures what a customer intends to purchase. An order is only created after the customer has completed payment (or submitted a quotation request). Until that point, the cart is the active record.

## Permissions for cart management

Most cart-related tasks require one of the following permission sets assigned to your Salesforce profile:

| Role | Permissions |
|------|-------------|
| StoreConnect Administrator | Full access: view, edit, configure, and delete cart records; configure store settings |
| Order Manager or similar role | View and edit cart records |

## How carts are created

A cart record is created automatically as soon as any visitor arrives at a StoreConnect webstore, before they add any products. This means many cart records in Salesforce have no items. This is expected behavior, not an error.

Each cart has an auto-numbered name in the format `Cart-{000000}` (for example, `Cart-000142`). This is assigned automatically and cannot be changed. A cart always belongs to a single store, identified by the **Store** field on the cart record.

### Cart sources

The **Source** field on the cart record shows how the cart was created.

| Source | Description |
|--------|-------------|
| `web` | Created by a customer browsing a StoreConnect webstore. |
| `pos` | Created through the StoreConnect Point of Sale (POS) terminal. |
| `api` | Created through the StoreConnect API by an external integration. |
| `manual` | Created directly in Salesforce by an admin or user. |

:::note
Only carts with a **Source** of `web` are eligible for automated abandoned cart processing. POS, API, and manual carts are excluded.
:::

### Cart statuses

The **Status** field tracks where the cart is in the checkout flow.

| Status | Description |
|--------|-------------|
| `open` | Cart created. Customer can add or remove items. Default status for new carts. |
| `customer` | Customer has provided contact information (email, name, billing address). |
| `shipping` | Customer has selected a shipping method. |
| `terms_and_conditions` | Customer has accepted the terms and conditions. |
| `payment` | Customer has selected a payment method. Cart is ready for payment. |
| `payment_processing` | Payment is in progress. Cart can no longer be modified. |
| `paid` | Payment completed successfully. Cart can no longer be modified. |
| `complete` | Order fully processed and synced. Cart can no longer be modified. |
| `failed` | Payment failed. Customer may retry by returning to the payment step. |
| `quotation_requested` | A quotation has been requested. Cart can no longer be modified. |

### The checkout flow

The standard checkout moves a cart through statuses in this sequence:

`open` → `customer` → `shipping` → `terms_and_conditions` → `payment` → `payment_processing` → `paid` → `complete`

Two alternate paths exist:

- Payment failure: status moves to `failed`. The customer can retry, moving status back to `payment`.
- Quotation request: status moves to `quotation_requested` instead of completing payment.

### Status categories

Statuses fall into three categories that affect how the system handles the cart.

In unmodifiable statuses, cart items can no longer be changed:

- `payment_processing`
- `paid`
- `complete`
- `quotation_requested`

Abandonable statuses are eligible for the abandoned cart process:

- `customer`
- `shipping`
- `terms_and_conditions`
- `payment`
- `failed`

Carts with an `open` status are not eligible for abandonment because the customer has not yet entered the checkout flow.

A cart is resumable by a returning customer only when all of these conditions are met:

- The browser still holds a valid `sc_token` cookie.
- The token matches a cart record in the database for the current store.
- The cart's **Status** is one of `open`, `customer`, `shipping`, `terms_and_conditions`, `payment`, `failed`, or `payment_processing`.
- The **Abandoned** checkbox is not selected on the cart record.

## Cart sessions across visits

When a customer visits a StoreConnect webstore, the application generates a unique session token stored in the browser as a signed, HTTP-only cookie named `sc_token`. The cookie cannot be read or modified by JavaScript.

When the customer returns, the application reads the cookie, finds the matching cart record in Salesforce, and resumes the session from where they left off. The same mechanism applies on desktop, mobile, and tablet devices.

### When a session is lost

A session is lost when the `sc_token` cookie is removed. This can happen when the customer:

- Clears their browser cookies or browsing data.
- Closes a private or incognito browsing window.
- Uses a browser with aggressive privacy settings.

When this happens, a new session token and a new cart record are created. The previous cart record is not deleted. It remains in Salesforce and is eventually processed by the abandoned cart job.

### POS cart sessions

POS carts use a different mechanism to web carts. Cart data is stored in the POS terminal's browser using local storage rather than a cookie. POS carts do not rely on the `sc_token` cookie and are tied to the specific terminal and operator, not to the customer's browser session.

If a POS terminal's browser data is cleared, any unsynchronized cart data may be lost.

---

## Follow StoreConnect

- [Email Newsletter](https://getstoreconnect.com/c/lp-newsletter)
- [LinkedIn Newsletter](https://www.linkedin.com/build-relation/newsletter-follow?entityUrn=7444956928444862464)
- [YouTube](https://www.youtube.com/channel/UCngKdP2x8l1wcbAKW3tvU8g)
- [LinkedIn](https://www.linkedin.com/company/storeconnect)
- [X / Twitter](https://x.com/storeconnecthq)

## Popular Links

- [Partners](https://getstoreconnect.com/partners)
- [News](https://getstoreconnect.com/articles/news)
- [Events](https://getstoreconnect.com/articles/events)
- [Feature Comparison](https://getstoreconnect.com/how-we-compare)
- [Download a free trial](https://appexchange.salesforce.com/appxListingDetail?listingId=a0N3A00000FMkeKUAT)
- [Book a Demo](https://getstoreconnect.com/contact)

## Documentation

- [Help documentation](https://support.storeconnect.com/help-documentation)
- [AI agents](https://support.storeconnect.com/ai)
- [Videos & tutorials](https://support.storeconnect.com/videos-tutorials)
- [Developer reference](https://support.storeconnect.com/developer-reference)
- [Release notes](https://support.storeconnect.com/release-notes)
- [Troubleshooting](https://support.storeconnect.com/troubleshooting)
- [Trust Center](https://trust.getstoreconnect.com/)
- [Status Page](https://status.storeconnect.com/)

## Contact

- info@getstoreconnect.com
- US +1 415 745 3230
- AUS +61 2 8365 2308

100 S Ashley Dr, Suite 600-2461
Tampa FL 33602-600 USA

Level 22, Sydney Place
180 George Street
Sydney, NSW, 2000, AUS

---

StoreConnect Support — https://support.storeconnect.com/articles/about-carts-statuses-sessions-flows