{"title":"About order checkout steps","slug":"about-order-checkout-steps","url":"https://support.storeconnect.com/articles/about-order-checkout-steps","url_markdown":"https://support.storeconnect.com/articles/about-order-checkout-steps.md","subtitle":null,"summary":"The Checkout Step field on an Order tracks its progress from creation through to completion, including all possible values, what each means, and how to interpret error states like paid-finalized.","type":"Help_Documentation","video_url":"","keywords":"checkout step, order status, order completion, paid-finalized, payment-finalized, order syncing, checkout pipeline, order processing, pos-syncing, payment syncing, finalized order, complete order, s_c__checkout_step__c, Salesforce sync, order lifecycle, checkout states, order backend","last_modified":"2026-08-21T07:12:35+0000","body_markdown":"When StoreConnect converts a cart into an Order, it sets a **Checkout Step** field (`s_c__checkout_step__c`) on the Order record. This field tracks the order through checkout, Salesforce sync, and final completion.\n\nUnlike the cart's **Status** field, which reflects the customer's progress through the checkout flow, **Checkout Step** is an internal processing state that shows where the order is in StoreConnect's backend pipeline.\n\n## Checkout step lifecycle\n\nEvery order moves through three phases:\n\n1. **Syncing** — the order has been created and is waiting to sync to Salesforce\n2. **Finalized** — payment has been captured and the order is ready to complete\n3. **Complete** — the order is fully processed and confirmed\n\n## Syncing states\n\nWhen an order is first created, its checkout step is set to a `-syncing` value while it waits for Salesforce sync to complete.\n\n| Value | When it appears |\n|---|---|\n| `payment-syncing` or `paid-syncing` | Standard web checkout orders |\n| `pos-syncing` | POS orders |\n| `quotation_requested-syncing` | Quotation requests |\n| `pending_renewal-syncing` | Subscription renewal orders |\n\n### Payment vs paid prefix\n\nStandard web checkout orders use either `payment-` or `paid-` as a prefix, depending on the timing of order creation relative to payment capture:\n\n- **`payment-syncing`** — the order record was created before payment was captured (the normal case)\n- **`paid-syncing`** — the order record was created after payment had already been captured (occurs when the checkout flow is retried after a partial failure)\n\nBoth lead to the same outcome. The difference is only visible in the syncing and finalized stages and does not affect the customer experience.\n\nOrders should pass through the syncing state quickly. If an order remains in a `-syncing` state for more than a few minutes, it may indicate a Salesforce sync issue.\n\n## Finalized states\n\nOnce Salesforce sync completes and payment has been captured, the order moves to a `-finalized` state. This means the order is queued for final processing.\n\n| Value | When it appears |\n|---|---|\n| `payment-finalized` or `paid-finalized` | Standard web checkout orders |\n| `pos-finalized` | POS orders |\n| `quotation_requested-finalized` | Quotation requests |\n| `pending_renewal-finalized` | Subscription renewal orders |\n| `shipping-finalized` | Orders processed through the API |\n\nOrders in a `-finalized` state are picked up automatically by StoreConnect's order completion process within a few seconds under normal conditions. A background recovery process also checks for finalized orders that have not yet completed and retries them after one hour.\n\n## Terminal states\n\nOnce processing is complete, the order moves to a terminal state and is not updated further by the checkout pipeline.\n\n| Value | Meaning |\n|---|---|\n| `complete` | Standard web checkout order successfully processed |\n| `pos-complete` | POS order successfully processed |\n| `quotation_requested` | Quotation request successfully processed |\n| `failed` | Payment or processing failed |\n\n## Transactional emails and checkout step\n\nTransactional emails (including order confirmation emails sent to customers) are triggered by the Checkout Step field reaching `complete` (or `pos-complete` for POS orders). If an order has not yet reached a terminal complete state, those emails will not be sent.\n\nIf a customer reports not receiving a confirmation email, check the order's Checkout Step value first. If it is still in a syncing or finalized state, the order has not finished processing. Check the Salesforce sync error log for any errors that may be preventing the order from completing.\n\n## Triggering automations from orders\n\nIf you are using Salesforce Flow, Process Builder, or other automation tools that fire on order creation or update, use the Checkout Step field reaching `complete` (or `pos-complete` for POS orders) as your trigger condition rather than order creation alone. Until the checkout step reaches a terminal complete state, StoreConnect may still be syncing order data, and triggering automations earlier risks acting on incomplete records.\n\n## POS intermediate state\n\nPOS orders may briefly appear in a `pos-pending` state after creation. This state indicates the POS order is waiting to be finalized. If a POS order becomes stuck in `pos-pending` for more than one hour, the recovery process will automatically finalize it and allow it to complete.\n\n## Subscription renewal orders\n\nRenewal orders follow a different path through checkout step than standard web orders.\n\nWhen StoreConnect creates a renewal order ahead of its billing date, it sets the checkout step to `pending_renewal-syncing`. At this point no payment has been taken. The order is waiting for the subscription charge job to run.\n\nWhen the charge job processes the subscription, it updates the checkout step from `pending_renewal-syncing` to `payment`, and then to `payment-finalized` once payment is captured. The order then completes normally, reaching `complete`.\n\nUnder normal conditions, `pending_renewal-finalized` does not appear in the happy path. It can occur if the order is finalized before the charge job has had a chance to update the step, but this is uncommon.\n\nIf a renewal order has been stuck in `pending_renewal-syncing` for longer than expected, it means the charge job has not yet run or encountered an error, so the subscription has not been charged.\n\nFor full details on how renewal orders are created, configured, and managed (including how to handle manual payments), see [Subscription renewal orders](subscription-renewal-orders).\n\n## What paid-finalized means for customers\n\nIf you see an order with a checkout step of `paid-finalized` (or `payment-finalized`) that has not yet moved to `complete`, the customer's payment has been captured. The order will be confirmed and the customer will receive their confirmation shortly after.\n\nThere is no risk of the customer being charged twice: once payment is captured, StoreConnect prevents any further payment attempts on the same order.\n\nIf an order has been stuck in `paid-finalized` or `payment-finalized` for longer than two hours, contact StoreConnect support.\n\n## Checking checkout step in Salesforce\n\nThe **Checkout Step** field is stored on the Order object as `s_c__checkout_step__c`. You can view it directly on the Order record in Salesforce or use it in reports to identify orders that may need attention.\n\n:::note\nThe **Checkout Step** field is managed entirely by StoreConnect. Do not modify it manually unless the order is in a terminal state (`complete` or `pos-complete`). StoreConnect will likely override any changes made to orders that are still in progress.\n:::"}