Skip to content

POS integrations

If you already run a point-of-sale system in your outlets, connecting it means orders and menu live in one place instead of two. Three are supported: Clover, Toast and Square.

They do not connect the same way. Toast and Square are connected from the dashboard with API credentials and webhooks. Clover is connected by an app that runs on the Clover devices themselves — there are no Clover credentials or webhooks to set up. Clover has its own section below.

On Clover, the integration is an app installed on the outlet’s Clover devices. It is enrolled into your account like any other device, and from then on it does the work on the device: it puts your online orders into Clover, sends Clover sales back, keeps your menu in step with the Clover inventory, and — on a Station Duo 2 — runs your loyalty programme on the customer-facing screen.

SwitchWhere it is setEffect
Order injectionThe outlet’s Clover pageAccepted online orders are created in Clover and print on the Clover printer
Bi-directional syncThe outlet’s Clover pagePaid Clover sales come back as completed orders in your reporting
Menu synchronizationThe outlet’s Clover pageMapped dishes take their name, price, description and availability from Clover
Loyalty on the customer screenEach deviceA Station Duo 2 runs sign-up, balance and vouchers on its customer screen

Order injection. When an online order is accepted, the outlet’s primary Clover device creates it in Clover within seconds and prints a kitchen ticket, with the daily order number, fulfilment, customer name, time slot and notes. Prepaid orders are recorded in Clover as paid, under a tender named after your app, so the register shows them settled; pay-at-counter orders stay open in Clover and are tendered there, and that payment is reported back. If an order is canceled after it reached Clover, the Clover order is voided and a cancellation ticket prints. Each Clover device also shows an Online Orders board where staff accept, reject, mark ready and complete orders — the same actions as the partner app.

Bi-directional sync. Sales rung on any Clover device at the outlet are brought across once they are paid, with their line items, discounts, tax, tips and payments, so your reports cover the whole restaurant. Refunds, voids and tips added later update the same order. A sale with no identified loyalty customer is filed against a single Clover Guest customer, which earns nothing and is not counted as a person. If the devices were offline, they catch up when they come back; history from before you switched this on is not imported.

Menu synchronization. Clover is the source, and only for dishes you have mapped: their name, base price, description, sold-out and hidden state, modifier groups (as add-on groups) and item options (as variants). Everything else — images, order-type prices, taxes, availability windows, loyalty settings and any dish that exists only here — is left alone. Nothing is deleted: an dish removed in Clover is switched off here. New Clover dishes are not created automatically; they wait on the mapping screen. Changes are never pushed back to Clover.

Loyalty on a Station Duo 2. While the register is idle, and again during a sale before payment, a customer can enter their phone number on the customer screen, sign up if they are new, and see their points, the rewards those points cover, their vouchers and any membership free dishes. The cashier redeems on the merchant screen, and the reward lands on the Clover sale as a discount. Nothing is spent until the sale is paid; points are earned on the paid total after discounts, excluding tax and tip, and a refund reverses them. Up to one reward and one voucher can be redeemed per sale. It is the same programme as the In-store tablet, on hardware you already have.

  1. Enable Clover under Settings → Configuration → Feature, on the Clover tab. Devices cannot enroll until it is on. The same card holds Complete profile via SMS, which texts new loyalty sign-ups a link to finish their profile instead of filling in a form on the customer screen.

  2. Install the app on each Clover device at the outlet.

  3. Create a device of type Clover under Devices & staff PINs, for the right outlet, and generate a login code.

  4. Enter the code on the Clover device. It enrolls itself and reports the Clover merchant and device it is running on. One Clover merchant belongs to one outlet; if you have several Clover locations, enroll each location’s devices against its own outlet.

  5. Set the device admin PIN the first time the on-device settings are opened. After that, the PIN is needed to change anything on the device.

  6. Open the outlet’s Clover page (from the outlet’s own menu). Choose the primary device, set customer receipt printing, and turn on the switches you want. Order injection and bi-directional sync can go on straight away; leave menu synchronization until step 7 is done.

  7. Map the menu. On the same page, Map automatically matches Clover dishes, modifiers and categories to yours and applies the confident matches; the rest are left for review with suggested alternatives. Go through the review list, pick or clear matches by hand, mark anything you do not want synced as Ignore, and create the Clover dishes you are missing. Then turn on menu synchronization.

  8. Turn on loyalty for each Station Duo 2 — Loyalty on the customer screen, on the device’s own settings in Devices.

  9. Test both directions. Place and accept one real online order and watch it print in Clover; ring one sale on the Clover register and watch it arrive in your orders. On a Station Duo 2, enter a phone number, redeem something, and pay.

Only one Clover device per outlet — the primary — sends orders to Clover, prints them, voids them and syncs sales. The others show the Online Orders board but do not act. If the primary stops reporting for two minutes while another Clover device at the outlet is online, the role moves to that device automatically, and every board shows which device is primary. It does not move back on its own: pick the primary again on the Clover page once the original device is back.

Because the work happens on the device, nothing is sent to Clover while every Clover device at the outlet is off or offline. Orders are not lost — they wait and go through when a device returns — but nothing prints meanwhile, so check the devices first when orders stop arriving.

The mapping is the join between the two menus, used in both directions. Automatic mapping is a suggestion engine, not a final answer: a match you set by hand, and anything you ignore, is never overwritten by a later run. Runs are limited to one at a time and ten a day per outlet. A dish with no Clover match still reaches Clover — it goes in as a custom line with its own name and price, so the Clover total always matches the order.

Mapped fields show a notice on the dish and category forms that they are managed by Clover. You can still save there, but menu synchronization overwrites those fields within about fifteen minutes.

  • Push menu or price changes to Clover. The menu flows one way, from Clover in.
  • Take card payments. Card sales are taken by Clover as usual; the app records them.
  • Run outside North America, or show loyalty on devices without a customer-facing screen (Station Solo, Flex, Mini) or on the Clover Kiosk.
  • Import sales from before sync was switched on, or create customers in Clover’s own customer list — loyalty customers stay here.
  • Use Clover webhooks or API credentials. Nothing about Clover is set up under Plugin Config.

Four switches, each independent, and it is worth deciding each one deliberately:

SwitchDirectionEffect
Sync app orders to POSOutboundOnline orders appear on your till
Sync POS orders to appInboundCounter orders appear in your reporting
Push status updates to POSOutboundStatus changes here are reflected there
Terminal states onlyOutboundPush only the final states, not every step

Inbound sync needs a default business type and default outlet — where a counter order should land when the till does not say. Set both, or inbound orders have nowhere to go.

Menu import is separate again, and needs the outlet whose menu is the source.

Start with outbound only. Add inbound once you trust the mapping, because inbound orders go straight into your reporting and a wrong default distorts it quietly.

  1. Get credentials from the provider — the specifics differ, see the tabs below.

  2. Create the integration, pick the provider, and enter them.

  3. Register the webhook in the provider’s dashboard and paste its signing secret back. Leave verify signature on. Without this, orders and status changes never arrive — and it fails silently, which is the single most common POS support case. See Webhooks & the menu API.

  4. Set the sync switches and the inbound defaults.

  5. Scope it with conditions if it applies to some outlets only.

  6. Test the connection, then place one real order each way and watch it arrive.

You will need, from Toast:

  • Restaurant GUID — identifies the location
  • Client ID and Client Secret — API credentials, issued by Toast rather than self-served
  • A webhook secret
  • Dining option GUIDs — Toast identifies delivery, pickup and dine-in by GUID rather than by name, and you map each of yours to the matching one

The dining option mapping is Toast-specific and easy to skip. Orders sync without it and arrive as the wrong type, which is worse than not syncing.

Toast credentials come through their partner process, so start earlier than you think you need to.

Rather than rebuilding your menu, you can preview what the POS holds, import it, and later push changes back.

Preview first, always. It shows what would come across, and POS menus are frequently messier than their owners remember — retired dishes, test entries, options nobody has used in years. Import into one outlet, tidy it, then use it as the source for the rest. See Building your menu.

A POS that keeps failing is skipped automatically rather than retried into the ground, so a broken till cannot slow your ordering down. Once fixed, that is reset from the dashboard.

There is also an operations view listing sync attempts, with a retry action for individual ones — the right tool when a handful of orders failed rather than the connection itself.

SymptomTry this
A Clover device will not enrollClover must be enabled in Feature Settings, and the code is single use; if the outlet already has a device from a different Clover merchant, it is refused
Online orders stopped reaching CloverIs any Clover device at the outlet on and online? Check which one is primary, and that order injection is on
An order shows as not sent to CloverOpen the Online Orders board on the device — the order carries the reason and a Retry action
Clover sales are missing from reportsBi-directional sync is off, or the sale is not paid yet; with it off, only sales with an identified loyalty customer come across
A Clover price change did not arriveThe dish is not mapped, or menu synchronization is off
An edit here keeps revertingThe field is managed by Clover menu sync — change it in Clover, or clear the mapping
No loyalty prompt on the customer screenLoyalty on the customer screen is off for that device, or it has no customer-facing display
Toast or Square: nothing syncs either wayTest the connection; if the circuit is open, fix the cause and reset it
Toast or Square: orders arrive but statuses do notPush status updates is a separate switch
Counter orders never appear here (Toast or Square)Inbound sync needs a default business type and outlet
Inbound orders land in the wrong outletThat is the default doing its job — scope per outlet instead
Toast orders arrive as the wrong typeThe dining option GUIDs are unmapped
Square works in testing and not liveThe production flag, or sandbox credentials
Toast or Square worked and then stoppedA rotated credential or webhook secret that was not updated here
Menu import brought rubbish acrossPreview first; import into one outlet, tidy, then propagate

Related: Integrations overview · Devices & staff PINs · In-store tablet · Webhooks & the menu API · Building your menu · POS register

Was this page helpful?