Source: https://wpinplate.com/en/docs/troubleshooting/

# Troubleshooting

## Orders

### A customer can't place an order

Check in this order:

1. **Order-taking hours.** By default online orders are accepted until 11:00. Outside these hours the form shows a message that ordering has ended. [Schedule](/en/docs/schedule/).
2. **Closing days.** By default Saturday and Sunday are closed. Also check the list of holidays and closures.
3. **Fulfillment windows.** If today's window has passed and ordering for the next day is off, the method is unavailable today.
4. **Payment methods.** The InPlate methods (“Pay at the counter”, “Pay the courier”, “Pay at the table”) are off by default. The customer must have at least one payment method for the chosen fulfillment method.
5. **Delivery zones.** Without an active zone, delivery is unavailable.
6. **License.** After the trial expires without a purchase, ordering is blocked. [License](/en/docs/license/).
7. **Paused orders.** If someone paused orders, the KDS shows a red bar, and customers see a message about the pause. Resume with the **Resume** button in the KDS or in the WordPress dashboard's top bar. [Pausing orders](/en/docs/manager-panel/#pausing-orders).

### A customer doesn't get the sign-in code

1. In **Settings → Customer accounts** click **Send me a test code**. An error message means your website doesn't send email.
2. Check that the **InPlate: Sign-in code** email is enabled in **Sales panel → Settings → Emails**.
3. If the test email doesn't arrive or ends up in spam, set up sending through an SMTP server (e.g. with the WP Mail SMTP plugin) from an address in your store's domain.

In the meantime the customer can order without an account.

### The order form has no sign-in or registration

The form shows them only if the settings in **Sales panel → Settings → Accounts & Privacy** allow it – in a fresh WooCommerce installation both options are off. See [Customer account](/en/docs/how-customers-order/#customer-account). Ordering as a guest always works.

### The menu or the cart shows outdated data

The most common cause is **page caching** – a cache plugin, a server cache or a CDN. Turn off full-page caching for:

- the menu page,
- the order form page,
- the table ordering page,
- addresses starting with `/wp-inplate/`,
- REST API requests (`/wp-json/wp-inplate/`).

### A product disappeared from the cart when placing the order

The dish was turned off, sold out or its offer ended while the customer was ordering. The form then shows a message and doesn't accept an order with an unavailable dish.

### “Address outside the delivery zone”

- Check that the zone covers this address and is active.
- Check the order of zones – the first match wins.
- The address must exist in OpenStreetMap. A house number that doesn't exist is rejected.

### A saved address is greyed out

The address isn't in any active delivery zone – for example, the zone was changed or turned off. The card shows a message; the customer can choose another address or pickup. You check the zones in **InPlate → Settings → Delivery zones**.

### An online payment fails with a country error

Fill in your store's country in **Sales panel → Settings → General**. WP InPlate sets it as the order's country.

## KDS and the courier app

### No sound for a new order

Browsers block sound until the page is first tapped. At the start of a shift, tap the KDS screen. Also check the tablet's volume and that the tablet isn't in silent mode.

### A new order doesn't appear in the KDS

- An order paid online appears as “Awaiting payment” until the customer pays.
- Check the filters: channel, “Assigned to me”, “Unpaid”.
- Check whether the KDS shows a connection error. The KDS doesn't hide problems with the server – it shows an error and a **Retry** button.

### Push notifications don't arrive

- Your website must run on **HTTPS**.
- The server must have the **OpenSSL** PHP extension.
- Every device must allow notifications once – the banner at the top of the KDS or the courier app.
- On an iPhone and iPad notifications work only in an app added to the Home Screen.
- Send a test notification (the bell in the KDS menu, Menu → Test notification in the courier app).
- Check that notifications for the browser aren't turned off in the system settings.

### The KDS or the courier app can't be installed

Installing as an app (PWA) requires HTTPS. In Chrome use “Install app”, in Safari on an iPhone “Share → Add to Home Screen”.

### An installed app has the old name

You set the app name in **Settings → System → Phone and tablet apps**. Android and computers change it themselves the next time the app starts (sometimes after a few days, sometimes asking for permission). On an iPhone and iPad, delete the icon and add the app again.

### A staff member can't sign in to the KDS

The account must have the **KDS access** permission (for the courier app: **Courier app access**). Check it in **Users → Edit → KDS permissions (InPlate)**.

### A manager can't add a product, category or tag

The message “You don't have permission to add products.” or “You don't have permission to manage categories and tags.” means the account has the “Menu management” permission but not the shop manager role. Give the staff member the **Manager** profile in **Users → Edit → KDS permissions (InPlate)**. Only an administrator changes accounts and permissions.

### A staff member doesn't see customer details or prices

This is intended. Customer details and prices are visible only to people with the **Customer details view** and **Prices in the order view** permissions. [Team and permissions](/en/docs/team-and-permissions/).

### I can't tap an order – “Assigned to …”

The order is assigned to another person. That person can release it, or a manager can reassign it.

### A courier doesn't see an order

- The order must have the **Ready** status and the **Delivery** fulfillment method.
- An order with a courier return is hidden from couriers until a manager clears the return.
- An order assigned to another courier is visible only to that courier.

### A courier gets “Invalid QR code”

The code on the label is valid until the end of the fulfillment day (at least 4 hours). After that, print the label again.

## TV screens

### The screen doesn't show changes

The screen refreshes data about every 15 seconds. If changes don't appear for longer, check the server cache for the `/wp-inplate/tv/` addresses and reload the page in the TV's browser.

### The content is too small or too large

Change the **Content size** in the screen's settings (80–200%). To test on one TV, add `?scale=150` to the address.

### The screen on the TV looks different than on a computer

Add `?debug=1` to the screen's address – the screen shows what the TV's browser reports (resolution, pixel density, CSS support).

### The screen shows a license message

TV screens require an active license or a trial.

## Reporting a problem

If the problem keeps happening, report it through the support form on wpinplate.com. Include:

- your website's address,
- the versions of WordPress, WooCommerce and WP InPlate,
- what the problem is about and how to reproduce it step by step,
- a screenshot with the error message.

Technical support is available with an active license and during the trial.
