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

# Lightspeed Orders & Routing

> How storekit injects orders into Lightspeed K-Series — account profile routing for pickup, delivery, in-store and add-to-bill, payment methods, discounts, service charges, pre-order buffering, and what happens when an order fails.

storekit queues every online order for Lightspeed as soon as it's placed — you don't need to accept it first. Pre-orders can be held back with **Buffer Orders**.

## How an Order Reaches Lightspeed

| Order type  | Lightspeed order         | Extra details sent                                                                         |
| ----------- | ------------------------ | ------------------------------------------------------------------------------------------ |
| Pickup      | To-go order              | Collection code, collection time in the order note                                         |
| Delivery    | To-go order              | Delivery address, delivery fee line item, collection code, delivery time in the order note |
| In store    | Local order              | Table number (the table's Lightspeed POS ID)                                               |
| Add to bill | Existing Lightspeed bill | The bill's account identifier instead of a new order                                       |

Every order also carries the customer's name, email and phone number, the items with their SKUs and modifiers, the tip, and the generated order note.

<Note>
  The collection code Lightspeed shows is the storekit order code — Lightspeed limits it to 8 characters.
</Note>

## Account Profile Routing

Under **Account Profile Codes** on **Stores** → your store → **Settings** → **Integrations** → **Lightspeed K-Series** you map each fulfillment type to a Lightspeed account profile. The four rows are fixed: **Pickup**, **Delivery**, **In Store** and **Add to Bill**. Each dropdown lists the account profiles from your Lightspeed business location.

If a row is left unset, storekit sends the account profile code `storekit`, which must exist in Lightspeed. When an order goes onto an existing bill, the **Add to Bill** profile takes priority over the fulfillment-type profile.

## Payment, Discounts and Charges

* **Payment Method** — the Lightspeed payment method the order's payment is recorded against. Defaults to `STOREKIT` when nothing is selected.
* **Send cash payments as paid** — off by default: cash orders are sent with no payment applied, so staff see an open balance and settle it when the customer pays. Turn it on to send cash orders as already paid. Card and other prepaid orders are always sent as paid. See [cash and pay-on-collection orders](/docs/guides/payments/cash-payments).
* **Discount Product Code (SKU)** — used for a negative discount line item. If the storekit discount code has a **POS ID** matching a Lightspeed discount code, storekit applies that native Lightspeed discount to the order's items instead of adding the line item. Free-delivery discounts add no discount line at all, because the £0 delivery line already reflects the waived fee.
* **Service Charge Product Code (SKU)** — line item used for the order's service charge.
* **Delivery Product Code (SKU)** — line item used for the delivery fee on delivery orders.
* **Don't send customer email address to Lightspeed** — sends an empty email address, for venues that don't want customer emails in the POS. Name and phone number are still sent.

<Warning>
  These product codes must exist in your Lightspeed menu. A missing SKU makes Lightspeed reject the whole order.
</Warning>

On in-store orders, storekit also sends each item's [course number](/docs/guides/menu/course-assignments) so Lightspeed can fire the order by course.

## Order Notes

**Order Note Template** on the Lightspeed settings page controls the note sent with each order (up to 250 characters). Click **Insert Variable** to see the available variables, and **Preview** to check the result with sample data. storekit appends the collection or delivery time to the note automatically.

## Pre-Order Buffering

By default a pre-order is sent to Lightspeed straight away, which can clutter the kitchen hours ahead of time. To delay it:

1. Turn on **Buffer Orders**.
2. Optionally set **Buffer (in minutes)** (0–720) — the order is injected that many minutes before the requested fulfillment time.

With **Buffer Orders** on and **Buffer (in minutes)** empty, storekit uses the store's normal prep-time calculation to decide when to inject. Orders without a requested time are never buffered.

<Tip>
  15–30 minutes is a good starting point for a busy kitchen.
</Tip>

## Add to Bill

For in-store orders on tables in an area that accepts pay-at-table, **Add to bill batching for all orders** sends every order onto the table's open Lightspeed bill rather than creating a separate order. The **Add to Bill** account profile is used, and the payment is left off the order because it's settled against the bill. See [Pay at Table](/docs/guides/integrations/pos/lightspeed/pay-at-table).

## When an Order Fails

Lightspeed reports the outcome of each order by webhook:

* **Success** — the order is marked **Accepted** in storekit and the Lightspeed receipt reference is stored.
* **Failure** — storekit re-queues the order and retries. After 5 attempts the order is marked **Failed**, the failure reason is stored against it, the store is emailed, and a failed-order ticket prints if the store has printers. Orders being added to an existing bill, and failures whose reason is that the item could not be added, are not retried.
* If the failure reason is a sales restriction, storekit also snoozes the affected items — see [Stock & Availability](/docs/guides/integrations/pos/lightspeed/stock-and-availability).

storekit also gives Lightspeed a deadline for accepting the order that scales with how far away a pre-order is: one minute for immediate orders, up to six hours for orders more than a week out.

If Lightspeed rejects storekit's access (a 403), the order fails with *"Our access to your Lightspeed account has been disabled, please re-enable the integration user or speak to support"* — see [Troubleshooting](/docs/guides/integrations/pos/lightspeed/troubleshooting).

## Next Steps

<CardGroup cols={2}>
  <Card title="Stock & Availability" icon="boxes-stacked" href="/docs/guides/integrations/pos/lightspeed/stock-and-availability">
    Keep sold-out items off the menu
  </Card>

  <Card title="Pay at Table" icon="credit-card" href="/docs/guides/integrations/pos/lightspeed/pay-at-table">
    Bills, payments and add-to-bill
  </Card>
</CardGroup>


## Related topics

- [Lightspeed K-Series](/docs/guides/integrations/pos/lightspeed/overview.md)
- [Toast Orders & Routing](/docs/guides/integrations/pos/toast/orders.md)
- [Lightspeed Troubleshooting](/docs/guides/integrations/pos/lightspeed/troubleshooting.md)
- [Toast Dine-in: Floor Plan & Tables](/docs/guides/integrations/pos/toast/dine-in.md)
- [Connecting Lightspeed](/docs/guides/integrations/pos/lightspeed/connect.md)
