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

# Troubleshooting

> Fix common Comtrex problems: the till can't be reached, orders fail with a POS error, items don't ring through, or pay at table can't find a bill.

Most Comtrex issues come down to three things: storekit can't reach the Comtrex server, an ID (item, table or media) doesn't match what the till expects, or the integration is switched off. Work through the section that matches what you're seeing.

## Connection Problems

<AccordionGroup>
  <Accordion title="Load from till fails — *Couldn't reach the till — enter the media IDs manually.*">
    storekit couldn't get a response from the Comtrex server at the **Server IP Address** you saved.

    1. Check the address and port with Zonal. storekit calls `http://<address>/v10/jrequest.cgi`, so the RTO web service has to be listening on that address and reachable from the internet.
    2. Check the **Vendor ID** — Comtrex rejects requests from an unknown vendor.
    3. Make sure you clicked **Save** before **Load from till** — the button uses the saved details, not what's typed in the fields.

    If the till genuinely can't be reached from outside the venue, ask Zonal for the media IDs and use **Enter ID manually** under each media dropdown instead.
  </Accordion>

  <Accordion title="Load from till is disabled">
    It stays disabled with *Save the connection details to load anything from the till.* until the **Server IP Address** and **Vendor ID** you see on screen have been saved. Click **Save**, then try again.
  </Accordion>

  <Accordion title="Integration Status won't turn on — *This venue already has a POS integration…*">
    A store can only have one POS integration enabled. Open **Stores** → your store → **Settings** → **Integrations**, find the other integration marked **Connected**, and disable it there first. Then switch **Integration Status** on for Comtrex.
  </Accordion>

  <Accordion title="Orders aren't reaching the till at all, with no error in storekit">
    Check **Integration Status** reads *Enabled - sending orders to Comtrex*. If it reads *Disabled - not sending orders to Comtrex*, orders are accepted by storekit but never sent. Switch it on — it saves immediately.
  </Accordion>
</AccordionGroup>

## Order Failures

When Comtrex rejects an order, or storekit can't reach the server, the order shows as failed and the order page displays *Something went wrong sending this order to the POS:* followed by the till's error text (or *no reason provided*). The store's email address also receives a *Comtrex Issue* email with the same reason.

<AccordionGroup>
  <Accordion title="Item / PLU not found or invalid item number">
    A product or modifier's **POS ID** doesn't exist on the till. Open the item in the menu editor, compare **POS ID** with the item number in the till catalogue (**Comtrex** → **Load catalogue**), and fix it. Then use **Resend order to POS** on the order.

    Remember modifiers need their own POS IDs, and that a PLU override on the item takes precedence over **POS ID** if you use one.
  </Accordion>

  <Accordion title="Table not found / invalid table">
    The table's **POS ID** in **Stores** → your store → **Settings** → **Tables** isn't a table number the till knows. Correct it and resend the order. See [Dine-in: Tables](/docs/guides/integrations/pos/comtrex/dine-in).
  </Accordion>

  <Accordion title="Media / payment / sales type errors">
    One of **Tip ID**, **Discount ID**, **Payment Type ID** or **Sales Type Number** is wrong or blank. Click **Reload** under the connection details to fetch the till's current media list, re-pick the media types and click **Save**. Orders with a discount need **Discount ID**; every order needs **Payment Type ID** to close.
  </Accordion>

  <Accordion title="Network / timeout — *Unknown Comtrex error (network/timeout)*">
    storekit couldn't get a reply from the Comtrex server. It retries the request several times over a few minutes before giving up. Check the server is on and the address/port still forwards to it, then **Resend order to POS**.
  </Accordion>

  <Accordion title="The order has failed, but Resend order to POS isn't showing">
    **Resend order to POS** only appears when the order has no check number from the till. If the order already has one, Comtrex accepted it — check the till for the check before doing anything else.
  </Accordion>

  <Accordion title="Items missing from the check">
    Products or modifiers with no **POS ID** (and no PLU) are skipped silently — the rest of the order goes through and the guest is charged for everything. Look at the order in storekit, find the item without a POS ID, add it, and ring the missing item onto the check by hand.
  </Accordion>
</AccordionGroup>

<Tip>
  Resending is safe only if the order isn't already on the till. Look for a check with the storekit order number before you resend, or you'll create a duplicate.
</Tip>

## Price Sync Problems

<AccordionGroup>
  <Accordion title="Items listed under *Not found on the till*">
    The item's **POS ID** doesn't match any item number in the till catalogue. storekit leaves its price alone. Fix the **POS ID** on the product or modifier and run **Preview price sync** again.
  </Accordion>

  <Accordion title="Items listed under *Conflicting till prices*">
    The till reports more than one price for that item number (usually it appears in several lists with different prices). storekit applies the first price it finds. If that's not the one you want, set the price in storekit by hand after applying.
  </Accordion>

  <Accordion title="The preview shows 0 to update but prices are wrong on the till">
    Price sync only pulls prices *from* the till *to* storekit. It never pushes storekit prices to Comtrex — change the price on the till, then run the sync.
  </Accordion>

  <Accordion title="Load catalogue fails — *Failed to load the Comtrex catalogue*">
    The Comtrex server didn't answer the item sync request. It's the same connection as **Load from till**, so check the address, port and vendor ID, and that the till is online. Click **Refresh** to try again.
  </Accordion>
</AccordionGroup>

## Pay at Table Problems

<AccordionGroup>
  <Accordion title="Guest sees no open bill for the table">
    storekit asked the till for open checks on the table's **POS ID** and got none. Either the check hasn't been opened on the till yet, it's on a different table number, or the table's **POS ID** in storekit is wrong. Check the table number on the till against **Stores** → your store → **Settings** → **Tables**.
  </Accordion>

  <Accordion title="Guest paid but the check is still open on the till">
    Open **Tables** in the left-hand menu, find the bill and click **View payments**. If the payment is **Failed**, storekit couldn't post it to the till after repeated attempts and has voided (refunded) the guest's card payment — take payment again on the till or in storekit. If the payment shows as successful but isn't on the check, contact support with the bill reference so it can be resent to the till.
  </Accordion>

  <Accordion title="The bill is out of date">
    storekit re-reads the check each time the guest refreshes. Ask the guest to refresh; if items staff added still don't appear, confirm they were added to the same check (same table number) and not a new one.
  </Accordion>

  <Accordion title="Tips aren't appearing on the check">
    Map **Tip ID** in the connection settings and click **Save**. Without it, the tip is charged to the guest but not sent to the till.
  </Accordion>
</AccordionGroup>

## Still Stuck?

Contact storekit support with the store name, the order number or bill reference, and the exact error text shown on the order page or in the *Comtrex Issue* email. Zonal can confirm item numbers, table numbers and media IDs on the till side.


## Related topics

- [Webhook Troubleshooting](/docs/developers/webhooks/troubleshooting.md)
- [Deliverect Troubleshooting](/docs/guides/integrations/pos/deliverect/troubleshooting.md)
- [POS Troubleshooting](/docs/guides/integrations/pos/advanced/troubleshooting.md)
- [Toast Troubleshooting](/docs/guides/integrations/pos/toast/troubleshooting.md)
- [Syrve Troubleshooting](/docs/guides/integrations/pos/syrve/troubleshooting.md)
