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

# Troubleshoot Star printer connectivity and order printing

> Diagnose and fix common storekit printing problems with the interactive troubleshooter. Reference Star printer LED status codes for connectivity issues.

export const PrintingTroubleshooter = () => {
  const [step, setStep] = useState(0);
  const [answers, setAnswers] = useState({});
  const flow = [{
    question: "What's the printer's Power LED showing?",
    options: [{
      label: 'Steady blue (on)',
      value: 'power_on',
      next: 1
    }, {
      label: 'Off',
      value: 'power_off',
      solution: 'power_off'
    }]
  }, {
    question: "What's the Network LED showing?",
    options: [{
      label: 'Steady green (connected)',
      value: 'network_on',
      next: 2
    }, {
      label: 'Flashing green',
      value: 'network_flashing',
      solution: 'network_flashing'
    }, {
      label: 'Off',
      value: 'network_off',
      solution: 'network_off'
    }]
  }, {
    question: "What's the Error LED showing?",
    options: [{
      label: 'Off (no error)',
      value: 'no_error',
      next: 3
    }, {
      label: 'Steady red',
      value: 'error_steady',
      solution: 'cover_open'
    }, {
      label: 'Flashing red',
      value: 'error_flashing',
      solution: 'out_of_paper'
    }]
  }, {
    question: "What's happening with your orders?",
    options: [{
      label: "Orders aren't printing at all",
      value: 'not_printing',
      next: 4
    }, {
      label: 'Some items are missing from prints',
      value: 'missing_items',
      solution: 'split_printing'
    }, {
      label: 'Print quality is poor (faded/light)',
      value: 'quality',
      solution: 'print_quality'
    }, {
      label: 'Orders are printing late/delayed',
      value: 'delayed',
      solution: 'buffer_setting'
    }]
  }, {
    question: 'Are you using auto-print?',
    options: [{
      label: 'Yes, auto-print is enabled',
      value: 'auto_print',
      next: 5
    }, {
      label: 'No, I manually print orders',
      value: 'manual',
      solution: 'power_cycle'
    }]
  }, {
    question: 'Have you accepted the orders in your dashboard?',
    options: [{
      label: 'Yes, orders are accepted',
      value: 'accepted',
      solution: 'power_cycle'
    }, {
      label: 'No / Not sure',
      value: 'not_accepted',
      solution: 'accept_orders'
    }]
  }];
  const solutions = {
    power_off: {
      title: 'Printer Has No Power',
      icon: '🔌',
      steps: ['Check the power cable is connected to both the printer and wall outlet', 'Disconnect and reconnect the power cable firmly', 'Try a different power outlet', 'Press the power button - wait for steady blue light'],
      severity: 'error'
    },
    network_flashing: {
      title: 'Printer Trying to Connect',
      icon: '📶',
      steps: ['Power off the printer', 'Check ethernet cable is firmly connected to router', 'Verify your internet connection is working', 'Power on printer and wait 60 seconds', 'If still flashing, try moving printer closer to router (WiFi) or use ethernet cable'],
      severity: 'warning'
    },
    network_off: {
      title: 'No Network Connection',
      icon: '❌',
      steps: ['Power off the printer', 'Check ethernet cable at both ends (printer and router)', 'Try a different ethernet port on your router', 'Verify your router is online and working', 'Power on printer and wait 60 seconds'],
      note: 'No network = no orders will print. This is critical to fix.',
      severity: 'error'
    },
    cover_open: {
      title: 'Printer Cover Open',
      icon: '📂',
      steps: ['Check the paper cover is fully closed', 'Open and close the cover firmly until it clicks', 'If error persists, check paper is loaded correctly'],
      severity: 'warning'
    },
    out_of_paper: {
      title: 'Out of Paper',
      icon: '📜',
      steps: ['Open the printer cover', 'Insert a new paper roll with thermal side facing out', 'Close the cover until it clicks', 'The error should clear automatically'],
      severity: 'warning'
    },
    split_printing: {
      title: 'Check Split Printing Settings',
      icon: '⚙️',
      steps: ['Go to Menu in your dashboard', 'Select the category with missing items', 'Click the Printing tab', 'Ensure the correct printer is ticked for this category', 'Repeat for any other categories not printing', 'Save changes'],
      note: 'Each category can be assigned to specific printers. Unassigned categories won\'t print to that printer.',
      severity: 'info'
    },
    print_quality: {
      title: 'Improve Print Quality',
      icon: '✨',
      steps: ['Check paper is loaded correctly (thermal side facing out - test by scratching with fingernail)', 'Clean the print head with isopropyl alcohol and a lint-free cloth', 'Replace paper roll if old or stored in humid conditions', 'Try the "Large" text size setting in Settings > Direct Printing'],
      severity: 'info'
    },
    buffer_setting: {
      title: 'Check Print Timing Settings',
      icon: '⏱️',
      steps: ['Go to Settings > Direct Printing', 'Check the buffer/delay setting for pre-orders', 'For ASAP orders, ensure "Print immediately" is enabled', 'Review your pre-order lead time settings', 'If using auto-print, orders only print after acceptance'],
      severity: 'info'
    },
    accept_orders: {
      title: 'Accept Orders First',
      icon: '✅',
      steps: ['With auto-print enabled, orders only print after being accepted', 'Go to your Orders page in the dashboard', 'Look for pending orders waiting to be accepted', 'Accept the order - it should print automatically', 'If it still doesn\'t print, try a power cycle'],
      note: 'Auto-print waits for you to accept orders before printing. This prevents printing orders you might reject.',
      severity: 'info'
    },
    power_cycle: {
      title: 'Power Cycle the Printer',
      icon: '🔄',
      steps: ['Turn the printer off using the power button', 'Unplug the power cord from the wall outlet', 'Wait 30 seconds', 'Plug the power cord back in', 'Turn the printer on', 'Wait for steady blue (power) and green (network) lights', 'Try printing a test order from Settings > Direct Printing'],
      note: 'This resolves most "everything looks fine but won\'t print" issues.',
      severity: 'info'
    }
  };
  const reset = () => {
    setStep(0);
    setAnswers({});
  };
  const handleAnswer = option => {
    const newAnswers = {
      ...answers,
      [step]: option.value
    };
    setAnswers(newAnswers);
    if (option.solution) {
      setStep(-1);
      setAnswers({
        ...newAnswers,
        solution: option.solution
      });
    } else if (option.next !== undefined) {
      setStep(option.next);
    }
  };
  const currentSolution = answers.solution ? solutions[answers.solution] : null;
  return <div className="not-prose">
      {}
      {step >= 0 && !currentSolution && <div className="space-y-4">
          {step > 0 && <button onClick={reset} className="text-sm text-blue-600 dark:text-blue-400 hover:underline flex items-center gap-1">
              ← Start over
            </button>}
          
          <div className="p-4 rounded-xl border border-zinc-200 dark:border-zinc-700 bg-zinc-50 dark:bg-zinc-800/50">
            <h3 className="text-lg font-semibold text-zinc-900 dark:text-white mb-4">
              {flow[step].question}
            </h3>
            <div className="space-y-2">
              {flow[step].options.map((option, idx) => <button key={idx} onClick={() => handleAnswer(option)} className="w-full p-3 rounded-lg border border-zinc-200 dark:border-zinc-600 hover:border-blue-500 dark:hover:border-blue-500 hover:bg-blue-50 dark:hover:bg-blue-900/20 transition-all text-left text-zinc-900 dark:text-white">
                  {option.label}
                </button>)}
            </div>
          </div>
        </div>}

      {}
      {currentSolution && <div className="space-y-4">
          <button onClick={reset} className="text-sm text-blue-600 dark:text-blue-400 hover:underline flex items-center gap-1">
            ← Start over
          </button>

          <div className={`p-4 rounded-xl border-2 ${currentSolution.severity === 'error' ? 'border-red-300 dark:border-red-800 bg-red-50 dark:bg-red-900/20' : currentSolution.severity === 'warning' ? 'border-yellow-300 dark:border-yellow-800 bg-yellow-50 dark:bg-yellow-900/20' : 'border-blue-300 dark:border-blue-800 bg-blue-50 dark:bg-blue-900/20'}`}>
            <div className="flex items-start gap-3">
              <span className="text-3xl">{currentSolution.icon}</span>
              <div className="flex-1">
                <h3 className="text-lg font-semibold text-zinc-900 dark:text-white">
                  {currentSolution.title}
                </h3>
                
                <ol className="mt-4 space-y-2">
                  {currentSolution.steps.map((s, idx) => <li key={idx} className="flex gap-3">
                      <span className="flex-shrink-0 w-6 h-6 rounded-full bg-zinc-200 dark:bg-zinc-700 flex items-center justify-center text-sm font-medium text-zinc-700 dark:text-zinc-300">
                        {idx + 1}
                      </span>
                      <span className="text-zinc-700 dark:text-zinc-300">{s}</span>
                    </li>)}
                </ol>

                {currentSolution.note && <div className="mt-4 p-3 rounded-lg bg-white/50 dark:bg-black/20 text-sm text-zinc-600 dark:text-zinc-400">
                    💡 {currentSolution.note}
                  </div>}
              </div>
            </div>
          </div>

          <div className="p-4 rounded-xl border border-zinc-200 dark:border-zinc-700 bg-white dark:bg-zinc-800">
            <h4 className="font-medium text-zinc-900 dark:text-white mb-2">Still not working?</h4>
            <p className="text-sm text-zinc-600 dark:text-zinc-400">
              If these steps didn't help, contact support with your store name, printer model, and a photo of the LED lights.
            </p>
          </div>
        </div>}
    </div>;
};

## Diagnostic Tool

Answer a few questions to diagnose your issue:

<PrintingTroubleshooter />

***

## LED Indicators

Star printers have LED indicators that show printer status:

| LED         | Status         | Meaning                      |
| ----------- | -------------- | ---------------------------- |
| **Power**   | Steady blue    | Printer is on and working    |
| **Power**   | Off            | No power - check connections |
| **Network** | Steady green   | Connected to network         |
| **Network** | Flashing green | Trying to connect to network |
| **Network** | Off            | No network connection        |
| **Error**   | Steady red     | Printer cover is open        |
| **Error**   | Flashing red   | Out of paper                 |

<Note>
  The Bluetooth LED is not used with storekit - printers connect via WiFi or ethernet only.
</Note>

## Quick Power Cycle

If your printer has steady blue and green lights but isn't printing, try a power cycle:

1. Turn the printer off
2. Unplug the power cord from the wall
3. Wait 30 seconds
4. Plug back in and turn on

If queued orders start printing, the printer is back online.

## Connection Issues

### Power LED is off

* Check the power cable is connected to both the printer and wall outlet
* Disconnect and reconnect the power cable
* Try a different power outlet
* Press the power button - it should show a steady blue light

### Network LED is off or flashing

1. Power off the printer
2. Check the ethernet cable connection to your router (or WiFi signal strength)
3. Disconnect and reconnect the network cable
4. Power on the printer
5. If still flashing, check your internet connection is working

<Warning>
  No network connection = no orders printed. Always ensure your router is online and the printer is properly connected.
</Warning>

### BT Routers

BT (British Telecom) has rolled out a network policy that can block the connection between BT routers and the storekit cloud printing service. This affects many BT Hub and BT Smart Hub models.

**Symptoms:**

* Printer shows **online** in the dashboard but orders intermittently stop printing
* Power-cycling the printer temporarily fixes it, but the issue recurs — often within hours
* Test prints may work fine, then real orders fail to print shortly after

**Workarounds (in priority order):**

<Steps>
  <Step title="Option 1: Use a separate mobile router (recommended)">
    Connect the printer to a **5G mobile router** instead of the BT router. This bypasses BT's network filtering entirely and is the most reliable fix. You'll need a 5G router and a SIM card with a data plan — the printer uses very little data, so a small plan is sufficient.
  </Step>

  <Step title="Option 2: Use ethernet instead of WiFi">
    Connect the printer to the BT router via an **ethernet cable** rather than WiFi. Wired connections are more stable and less affected by BT's network management features.
  </Step>

  <Step title="Option 3: Whitelist the printer's MAC address">
    Log in to the BT Hub admin page (usually at `192.168.1.254`) and whitelist the printer's MAC address. This prevents the router from deprioritising or blocking the printer's connection. You can find the printer's MAC address on the network status printout (hold the **FEED** button while powering on).
  </Step>
</Steps>

**Additional BT router tips:**

* **Disable Smart Setup / Complete Wi-Fi** — this feature can interfere with printer connections by automatically moving devices between bands or access points. Turn it off in your BT router admin panel under **Advanced Settings** → **Wireless**
* **Power-cycle the printer** (off, unplug for 30 seconds, plug back in) to temporarily restore printing while you apply one of the fixes above
* If none of the above resolves the issue, consider replacing the BT router with a non-BT router for the network the printer connects to

For general printer setup steps, see the [printer setup guide](/guides/printing/printer-setup).

## Orders Not Printing

### Printer shows online but orders don't print

* If using **auto-print**, orders only print after being accepted
* Check the **buffer setting** isn't delaying pre-orders
* Verify the printer is assigned to the relevant categories (for split printing)
* Try sending a test print from the dashboard

### Some items not printing

* For split printing: check the category is assigned to an online printer
* Ensure the printer has paper
* Place a test order to confirm routing

### Delayed Printing

If orders are printing but arriving later than expected, work through this checklist:

1. **Check if Order Batching is enabled** — go to **Store Settings** → **Operations** and check the batching timeout value. Set to `0` to disable batching. See the [Order Batching guide](/guides/orders/advanced/order-batching) for more details.
2. **Check the Pre-Order Buffer** in your printer settings — a non-zero buffer delays printing for pre-orders.
3. **Check Auto Accept** — if disabled, orders wait for manual acceptance before printing.
4. **Check your internet provider** — slow or unreliable connections can delay order delivery to the printer (see [BT Routers](#bt-routers) above).

## Intermittent Printing (Works Sometimes, Then Stops)

If your printer works for a while then randomly stops printing — and resumes after a power cycle — this is usually a **network stability issue**, not a printer hardware problem. Your router may be dropping the printer's connection periodically.

### Diagnose the issue

1. **Check your router's DHCP lease time** — short lease times can cause the printer to lose its IP address. Set the lease time to **24 hours** or longer in your router's admin panel
2. **Assign a static IP to the printer** — this prevents the router from reassigning the printer's address:
   * Find the printer's current IP address on the network status printout (hold the **FEED** button while powering on)
   * Open your router's admin panel and reserve that IP for the printer's MAC address
3. **Whitelist the printer's MAC address** in your router settings to prevent the router from deprioritising or disconnecting it
4. **Check for WiFi interference** — move the printer closer to the router or switch to an ethernet connection

<Tip>
  Use the free **Star Quick Setup Utility** app ([iOS](https://apps.apple.com/app/star-quick-setup-utility/id1549088652) / [Android](https://play.google.com/store/apps/details?id=com.starmicronics.starquicksetup)) to verify your printer's network connection status and view its current IP address, signal strength, and connection type.
</Tip>

<Note>
  If you're using a BT router, see the [BT Routers](#bt-routers) section — BT has a network policy that commonly causes intermittent printing failures.
</Note>

## Split Printing Issues

### Items printing on all printers

The category hasn't been assigned to specific printers. Go to **Menu** → select the category → **Printing** tab and tick only the printer(s) you want.

### Items printing on wrong printer

* Review the category's Printing settings
* Untick printers you don't want receiving that category

## Print Quality Issues

### Faded or light printing

* Check paper is loaded correctly (thermal side facing out)
* Clean the print head with isopropyl alcohol
* Replace paper roll if old or stored in humid conditions

### Text too small

Try the **Large** text size setting in your printer settings.

## Factory Reset

<Warning>
  Only factory reset as a last resort. The printer will need to be set up from scratch.
</Warning>

If nothing else works:

**Step 1: Delete the printer from storekit**

1. Go to your [storekit dashboard](https://dashboard.storekit.com)
2. Navigate to **Settings** → **Direct Printing**
3. Click the trashcan icon next to the printer to delete it

**Step 2: Reset the printer**

1. Turn the printer off
2. Insert a pen into the **RESET** hole on the back of the printer
3. While holding the RESET button, press and release the **POWER** button
4. Continue holding RESET until the green Network LED flashes
5. Release the RESET button
6. Press the **FEED** button to select the LAN interface
7. Hold down FEED to confirm
8. The printer resets to factory defaults

**Step 3: Set up again**

[Set up the printer again](/guides/printing/printer-setup) from the beginning.

## Email Notifications

storekit automatically sends email notifications when your printers go offline or come back online, helping you stay informed about printer status.

### Printer Offline Notifications

When a printer fails to check in for 5 minutes, you'll receive an email that includes:

* **Printer details** - Printer name, model, and MAC address
* **Offline timestamp** - When the printer went offline
* **Quick actions** - Direct link to view printer status in your dashboard

### Printer Online Notifications

When a printer reconnects after being offline for at least 5 minutes, you'll receive a confirmation email with:

* **Printer details** - Printer name and model
* **Online timestamp** - When the printer reconnected
* **Status confirmation** - Verification that the printer is ready to receive orders

### Ensuring You Receive Notifications

Make sure your venue email address is configured correctly:

1. Go to **Store Settings** in your dashboard
2. Navigate to **Store Details**
3. Verify your email address is correct
4. Add multiple email addresses if needed (the first address will receive notifications)

<Tip>
  Printer status notifications help you catch connectivity issues before they impact order fulfillment. If you receive an offline notification, check your printer's power and network connection immediately.
</Tip>

## Pre-Order Printing

Pre-order tickets differ from live order tickets — they print at a **scheduled time** based on your buffer setting, not immediately when the order is placed. For example, a pre-order placed at 10am for 2pm collection with a 30-minute buffer will print at 1:30pm.

See [Pre-Order Buffer](/guides/printing/printer-setup#pre-order-buffer) for how to configure this timing.

### Pre-orders aren't printing

<Steps>
  <Step title="Check the buffer setting">
    Go to **Dashboard** → **Store Settings** → **Printers** → select your printer → check the **Buffer** value. A non-zero buffer delays printing until closer to the fulfillment time. Set to `0` if you want pre-orders to print immediately.
  </Step>

  <Step title="Confirm the printer is online at the scheduled print time">
    Pre-orders print when the buffer window is reached — if the printer is offline at that moment, the ticket won't print. Check your [printer status notifications](#email-notifications) for any offline alerts around the expected print time.
  </Step>
</Steps>

### Pre-order ticket shows wrong date/time

* **Check timezone settings** — go to **Dashboard** → **Store Settings** → **Store Details** and verify the timezone matches your venue's physical location. An incorrect timezone will offset all printed times.

## Test Print Issues

### Test print works but real orders don't print

<Steps>
  <Step title="Check category assignment">
    For split printing, go to **Menu** → select the category → **Printing** tab and verify the category is assigned to the correct printer. A test print bypasses category assignment, so it can succeed even when categories aren't linked to the printer.
  </Step>

  <Step title="Check auto-print vs manual print">
    If the printer is set to **Manual**, orders won't print until you click the print button in the dashboard. Switch to **Auto** if you want orders to print automatically on acceptance.
  </Step>
</Steps>

### Test print fails

<Steps>
  <Step title="Power cycle the printer">
    Turn the printer off, unplug the power cord, wait 30 seconds, then plug back in and turn on. See [Quick Power Cycle](#quick-power-cycle).
  </Step>

  <Step title="Check the connection">
    Verify the USB or ethernet cable is firmly connected. For network printers, confirm the Network LED shows a steady green light. See [Connection Issues](#connection-issues).
  </Step>

  <Step title="Verify the printer is assigned in the dashboard">
    Go to **Dashboard** → **Store Settings** → **Printers** and confirm the printer appears and shows as **Online**. If it's missing, [add it again](/guides/printing/printer-setup#step-3-add-printer-in-storekit).
  </Step>
</Steps>

## Still Having Issues?

1. Send a test print from the dashboard to confirm connectivity
2. Note any error lights or messages
3. Check for printer status email notifications
4. [Contact storekit support](/getting-started/contact-support) with your store name and description of the issue
