> ## 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.

# Syrve Orders & Payments

> Send storekit orders to a Syrve terminal group, map order and payment types, pass through tips, discounts and service charges, and get status updates.

When a customer places an order, storekit sends it to your Syrve terminal group. This page covers how orders are mapped and what you need to configure — everything here lives under **Syrve Order Complications** on the **Syrve Settings** page.

## When Orders Are Sent

Orders are sent to Syrve **as soon as they're placed**. The order shows as syncing while storekit waits for the till to confirm it, and is marked **Accepted** only once Syrve has the order — so an accepted order is one that's really on the POS.

Pre-orders are sent immediately by default, so they appear on the till as soon as they're placed. Turn on **Buffer Orders** to hold pre-orders and dispatch them closer to the scheduled time instead. A held pre-order can be pushed to the till early with **Resend order to POS** — the confirmation warns that this cancels the scheduled send.

## Terminal Group

Orders land on the **Terminal Group** you select — this is the till (or group of tills) in your Syrve organization.

<Warning>
  A terminal group whose till is offline shows an **(asleep)** suffix in the dropdown. Orders sent to a sleeping terminal group are not picked up: Syrve times out after a few minutes and the order is marked **failed** in storekit. This is the most common Syrve order failure — see [Orders Failing: Till Asleep](/docs/guides/integrations/pos/syrve/till-offline).
</Warning>

## Order Types

Syrve requires an order type on every order. You map one per fulfillment method — each dropdown only offers Syrve order types of the matching kind:

* **Delivery Order Type** — used for delivery orders (Syrve's courier-delivery kind)
* **Pickup Order Type** — used for pickup orders (Syrve's customer-collection kind)
* **Table Order Type** — used for at-table orders, which open a tab on the POS (see [Dine-in](/docs/guides/integrations/pos/syrve/dine-in)); set it to **Not used** if the store doesn't take at-table orders

## Payments

storekit records the payment on the Syrve order so the till doesn't ask for it again:

| Setting               | What it does                                                                                                                                          |
| --------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Cash Payment Type** | The Syrve payment type used for cash orders — the till collects the cash as normal.                                                                   |
| **Card Payment Type** | The Syrve payment type used for online payments. storekit has already captured the money, so it's recorded against this type as externally processed. |

<Note>
  If the payment type for an order's payment method isn't configured, the order is still sent — just without a payment, so staff have to close the payment on the till. Set both types before going live.
</Note>

## Tips

Set **Tips Type** to have tips reach Syrve as tips, recorded separately from the payment. Without a tips type the tip stays inside the payment total — the money still reconciles, it's just not broken out as a tip on the POS.

## Discounts, Service Charges & Delivery Fees

| Setting            | What it does                                                                                                                 |
| ------------------ | ---------------------------------------------------------------------------------------------------------------------------- |
| **Discount**       | Order-level discounts are reported to Syrve under this discount. Set to **Not sent** to leave discounts off the Syrve order. |
| **Service Charge** | Service charges **and delivery fees** are sent to Syrve as one combined amount under this charge.                            |

<Warning>
  Use a **flexible-sum** charge from Syrve Office as the **Service Charge**. Syrve's percent-based charges recalculate their own percent on the POS and ignore the amount storekit sends, so the figure on the check won't match the order. Syrve also only allows a single charge of this kind per order — which is why the service charge and delivery fee arrive combined.
</Warning>

## What Syrve Receives

Each order carries the customer's name and email, their phone number (converted to international format; the store's own phone number is used when the customer's can't be), the storekit order code, all items with their sizes and modifiers, any order notes as the order comment, the delivery address (for delivery orders), the payment, tip, discount and charges as configured above, and the scheduled time for pre-orders.

## Order-Status Updates

With [webhooks enabled](/docs/guides/integrations/pos/syrve/connect#set-up-webhooks), Syrve pushes kitchen progress back to storekit, which maps onto your order status:

| Syrve status                | storekit status                                       |
| --------------------------- | ----------------------------------------------------- |
| Cooking started             | Preparing                                             |
| Cooking completed / Waiting | Ready for pickup (pickup orders); Preparing otherwise |
| On way                      | Out for delivery                                      |
| Delivered                   | Complete                                              |
| Closed                      | Complete                                              |

Statuses only move forward — a late or duplicate update never moves an order backwards.

<Note>
  An order **voided on the till** is *not* cancelled in storekit: a paid order must be cancelled (and refunded) in storekit, by you. storekit flags the order so staff can resolve it deliberately.
</Note>

## Cancelling an Order

Cancelling a pickup or delivery order in storekit also cancels it on the POS, using the **Cancel Cause** you've selected (Syrve requires a cancel cause; pick one under **Syrve Order Complications**). At-table tabs can't be cancelled through the API — void the tab on the till.

## When an Order Fails to Reach the Till

If Syrve rejects an order — or the till never confirms it — the order is marked **failed** in storekit with the reason shown on the order. The customer's order still completes, so you never lose it.

Once the cause is fixed, open the order, use **Resend order to POS**, and confirm. One class of failure can't be recovered that way: an order that **timed out** on a [sleeping terminal group](/docs/guides/integrations/pos/syrve/till-offline) already exists inside Syrve in an error state, and Syrve rejects the re-send as a duplicate — ring it into the till manually.

Common causes and fixes are in [Troubleshooting](/docs/guides/integrations/pos/syrve/troubleshooting).

## Related

* [Connecting Syrve](/docs/guides/integrations/pos/syrve/connect)
* [Managing Live Orders](/docs/guides/orders/managing-live-orders)
* [Dine-in: Table Orders](/docs/guides/integrations/pos/syrve/dine-in)


## Related topics

- [Syrve Troubleshooting](/docs/guides/integrations/pos/syrve/troubleshooting.md)
- [Syrve POS](/docs/guides/integrations/pos/syrve/overview.md)
- [Syrve Dine-in: Table Orders](/docs/guides/integrations/pos/syrve/dine-in.md)
- [Collecting Payment for an Unpaid Order](/docs/payment-links/collecting-for-an-order.md)
- [Payment Link Refunds and Transactions](/docs/payment-links/refunds-and-transactions.md)
