> ## Documentation Index
> Fetch the complete documentation index at: https://docs.omnilinker.pl/llms.txt
> Use this file to discover all available pages before exploring further.

# Use the tray app

> See how syncing goes from the Windows notification area, and sync now, check everything, pause, troubleshoot or change settings.

The tray app is the ERP Sync agent's face on the computer it runs on. It shows what the Windows service is doing and
lets you act on it. It does not sync anything itself: closing it does not stop the service, and syncing carries on in
the background.

## Start the tray app

The tray app starts by itself for everyone who signs in to the agent computer. The service also starts it for
everyone who is signed in after an installation or an update. Its icon, a database, sits in the notification area
next to the clock. If you do not see it, click the **Show hidden icons** arrow.

To start it by hand, run `Omnilinker.ErpSync.Tray.exe` from the `tray` subfolder of the install folder, by default:

```text theme={null}
C:\Program Files\Omnilinker\ErpSync\current\tray
```

Only one copy runs at a time. Starting it again opens the running copy's panel.

To hide the icon, right-click it and select **Hide the tray icon**. Syncing keeps running, and the icon comes back at
your next sign-in. To stop syncing, pause it, or stop the Windows service: `Stop-Service OmnilinkerErpSyncService`
in PowerShell as Administrator.

The tray app follows the Windows display language: Polish on a Polish Windows, English otherwise.

## The icon

The icon is a database with a small badge. The badge's shape tells you the state, so you can read it without
colour:

| Badge | State | Meaning |
| - | - | - |
| Green circle | Up to date | Connected to Omnilinker and the ERP database, nothing waiting. |
| Violet ring | Syncing | Changes are being read, sent or compared right now. |
| Grey circle with a pause sign | Paused | Someone paused syncing on this computer. |
| Amber triangle | Needs attention | The ERP database cannot be reached, Omnilinker did not accept some changes, the last sync did not finish, or sending waits for an update. |
| Red square with a cross | Not connected | The service is not running, the agent is not set up, Omnilinker cannot be reached, or Omnilinker no longer accepts this computer. |

Hover over the icon for one line about the connection, for example **Up to date · last sync 2 min ago** or **Can't
reach the Wapro database**.

## The panel

Click the icon to open the panel above it. Click the icon again, press **Esc** or click elsewhere to close it.

From top to bottom it shows:

* **The connection**: its name in Omnilinker, the company, and the ERP on its server, for example
  `Pinio · Wapro Mag on SERWER\WAPRO`. The gear opens [Settings](#settings).
* **How syncing goes**, in one sentence, with the one thing to do about it when something is wrong. For example
  **Can't reach the Wapro database.** says how long the server has not answered and offers **Test the connection**
  and **Database settings**. While a big batch is sent, it shows how far it got and roughly how long is left.
* **Connections**: **Omnilinker** and the ERP database, each **Connected**, **Unreachable**, **Slow** or
  **Checking…**, with the server and how fast it answered.
* **What syncs**: each kind of record the agent sends (**Products**, **Brands** and so on), how many changes it has
  sent and how many are waiting, and whether it is **Up to date**, **Syncing**, **Paused**, **Waiting** or has
  failed changes.
* Three buttons: **Sync now**, **Check everything** and **Pause sync** (**Resume sync** while paused).
* **Open in Omnilinker** opens this connection in your browser, **Details** opens [Sync details](#sync-details),
  **Troubleshoot** opens [Troubleshoot](#troubleshoot). The agent's version is on the right.

### Sync now, check everything, pause

* **Sync now** asks the agent to look for changes in the ERP now instead of at its next round.
* **Check everything** compares every record in the ERP with what the agent last sent, to catch a change anything
  missed. The agent also does this by itself: every 15 minutes by default, or once a week while instant change
  detection is on. It runs in the background; the panel shows how far it got.
* **Pause sync** stops the agent from reading and sending changes until you select **Resume sync**. Changes made in
  the ERP meanwhile are kept and sent after you resume. A pause does not survive a restart of the service.

## Right-click menu

| Item | What it does |
| - | - |
| **Open ERP Sync** | Opens the panel. |
| **Sync now** | As in the panel. |
| **Pause sync** / **Resume sync** | As in the panel. |
| **Sync details…** | Opens [Sync details](#sync-details). |
| **Troubleshoot…** | Opens [Troubleshoot](#troubleshoot). |
| **Settings…** | Opens [Settings](#settings). |
| **Open in Omnilinker** | Opens this connection in Omnilinker. |
| **Hide the tray icon** | Closes the tray app. Syncing keeps running. |

## Notifications

The tray app shows a Windows notification only when syncing needs someone, or when a big sync finishes. It never
notifies about a routine sync.

* **Can't reach the Wapro database.** or **Can't reach Omnilinker.**, once the problem has lasted two minutes. A
  database restarting at night does not raise one.
* **Sync can't send 3 brands** (or another number and kind), when Omnilinker did not accept changes. **See why** opens
  the reasons.
* **Omnilinker doesn't accept this PC.**, when this computer's key stopped working. **Connect again** opens setup.
* **Sending waits for an update.**, when Omnilinker needs a newer version of the agent before it takes changes.
  Changes are kept meanwhile; the agent updates itself overnight, or use **Install now** in [Settings](#settings).
* **First sync finished**, and **A big sync finished** after any sync of more than 1,000 changes.

Choose which you get in [Settings](#settings) > **On this PC**. These choices are yours alone: each person signed in
to the computer sets their own.

## Sync details

**Sync details** has two tabs.

**Overview** shows:

* **Status**, **Waiting to send** (with how many changes were sent in the last hour), and the state of **Omnilinker**
  and the ERP database.
* **What syncs**: for each kind of record, how many changes were **Sent**, how many are **Waiting**, how many
  **Failed**, and its status. **See why** opens the failed changes.
* **Change detection**: whether **Instant change detection** is on, and the last and next **Full check** with how
  many records it compared and how many differences it sent. **Check everything** starts one now. When instant
  change detection is off, or Omnilinker asks for it and it needs your consent, **Turn on** turns it on after the
  consent dialog.
* **Recent activity**: what the agent did lately, and how long each step took.

**Activity** is the agent's log, newest first, grouped by day. Filter it with **Everything**, **Problems** and
**Changes sent**, or search it. **Logs folder** opens the service's log files.

When Omnilinker did not accept some changes, **Activity** lists them at the top: which records, and Omnilinker's
reason for each, for example a brand name longer than Omnilinker allows. Fix the record in the ERP; the agent sends it
again by itself after the change. **Try again now** sends the failed changes again straight away, for example after a
fix in Omnilinker. **Copy details** copies the list for whoever fixes the records.

## Troubleshoot

**Troubleshoot** checks everything syncing needs, right now:

* the ERP Sync service on this computer,
* whether Omnilinker can be reached, and how fast,
* whether Omnilinker still accepts this computer,
* whether the service can sign in to the ERP database with the saved settings,
* instant change detection,
* changes waiting to be sent or not accepted,
* the agent's version and whether an update is ready.

Problems come first. The first one is shown as a card with what to do and a button for it, such as **Database
settings** or **Connect this PC**. **Check again** repeats the checks.

**Copy report** copies what was checked and found, for Omnilinker support or your IT. The report has no passwords,
API keys or ERP data in it. **Open logs folder** opens the service's log files. See
[Troubleshooting](/erp/troubleshooting) for specific problems.

## Settings

**Settings** has these sections:

* **This connection**: the connection this computer syncs, its company and ERP. What syncs, and how, is set in
  Omnilinker: **Open in Omnilinker**. **Connect to another company…** runs [setup](/erp/setup-wizard) again, which
  replaces this connection.
* **The ERP database** (for example **Wapro database**): **Server**, **Database**, **Sign in with**, **Company in
  Wapro** and **Encryption**. **Change…** opens the database form (the same as in setup); a change is saved only after
  the service could sign in with it. **Test connection** checks the saved settings from the service.
* **Change detection**:
  * **Instant change detection** turns Wapro's own change tracking (WFM\_INT) on or off. Turning it on asks for your
    consent first, because it registers change tracking in the Wapro database. See [Wapro](/erp/providers/wapro).
  * **Full check**: when the last one ran. **Check everything now** starts one.
  * **Lists from Wapro**: **Reload lists** sends warehouses, price levels and other lists to Omnilinker again, after
    you changed them in the ERP.
* **On this PC**: **Tell me when sync needs attention** and **Tell me when a big sync finishes**. See
  [Notifications](#notifications).
* **Updates**: the agent's version, and whether a newer one is downloaded. Updates install overnight and never
  interrupt a sync. **Install now** installs a downloaded update as soon as nothing is syncing. **Check now** looks
  for one.

**Open logs folder** at the bottom opens the service's log files.

## Who can do what

Everyone signed in to the agent computer can see everything in the tray app, and can use **Sync now**, **Resume
sync**, **Check everything**, **Try again now**, **Test connection**, **Check again**, **Reload lists** and **Check
now** for updates.

These change the agent, and need a member of the local group **Omnilinker ERP Sync Operators** or an administrator:

* [setup](/erp/setup-wizard), and changing the ERP database (including **Load from Wapro** and **Test connection** in
  the database form),
* turning **Instant change detection** on or off,
* **Pause sync**,
* **Install now** for an update.

Anyone else sees "Only an operator of this PC can do this: a member of “Omnilinker ERP Sync Operators”, or an
administrator." See [Who can change the agent](/erp/install-agent#who-can-change-the-agent).
