# iiko integration — clock records and schedules in both systems

> Connect iiko, link locations and employees: jeCheck clock records become iiko attendance, and till card shifts become clock records.

Источник: https://jecheck.io/en/docs/schedule/iiko

The iiko integration keeps employee clock records and the shift schedule the same in jeCheck and iiko. An employee can clock in with the jeCheck app (geolocation, QR or kiosk) — and an attendance record appears in iiko. Or they can open a shift with a card at the till — and a clock-in appears in jeCheck, with lateness calculated from the schedule. The section opens from **Settings → iiko integration** and is available on the Network and Enterprise plans.

## What you need

- the **iiko integration** permission (administrators have it) — see [Roles and permissions](/docs/account/access-roles);
- an iikoCloud API key. Create it in **iikoWeb → Settings → Integrations → API keys**: select the venues to link and allow the employee sections (employees, positions, attendance, schedule, personal shifts). It’s best to create a separate key for jeCheck — it is easier to revoke and doesn’t interfere with other integrations;
- locations in jeCheck and employees with phone numbers, emails or employee numbers — employees are matched by them automatically.

If you work with an app from the iiko developer portal, choose the key type **iiko developer app** instead of the iikoWeb key and enter the App ID, Client secret and API key. For Syrve (iiko outside Russia), enter the server address from your contract via **Different server address (Syrve)**.

## Step by step: connect iiko

1. **Paste the key.** Open **Settings → iiko integration**, paste the API key and click **Connect**. jeCheck checks the key and loads venues, terminal groups, positions, attendance types and schedule types. The key is stored encrypted and isn’t shown after saving.
2. **Check the locations.** On the **Locations** tab, choose an **iiko venue** for each jeCheck location. Locations with identical names are linked automatically. Clock records of unlinked locations are not sent to iiko.
3. **Match employees.** On the **Employees** tab, click **Update from iiko**. jeCheck matches people by phone, email, employee number (it must equal the employee code in iiko) or full name — only when the match is unambiguous. For the rest, pick a match manually in the **jeCheck employee** column.
4. **Set up the rules.** On the **Sync rules** tab, choose how clock records are sent to iiko, set the **Default iiko position** and click **Save rules**.
5. **Turn on instant receiving.** In the **Card at the till → jeCheck clock records** block, click **Connect webhook** — then a shift opened at the till appears in jeCheck immediately rather than within 5 minutes.

The **Overview** tab shows the setup checklist, sync counters for the last 24 hours and the last error, if any.

## How jeCheck clock records get into iiko

The **jeCheck clock records → iiko** block has three modes:

- **As attendance after clock-out** (recommended) — when an employee clocks out, a complete attendance record with clock-in and clock-out times is created in iiko. Works even if the till is off. If a manager corrects or deletes the clock record in jeCheck, the iiko attendance is corrected or deleted too.
- **Open the shift on the till right away** — a clock-in in jeCheck immediately opens the employee’s personal shift in iiko, a clock-out closes it. The employee can work at the till without a separate check-in. Each linked location needs a **Terminal group** on the **Locations** tab, and the till must be running.
- **Don’t send** — clock records stay in jeCheck only.

The attendance position is chosen like this: the shift position via the **Positions** table (jeCheck position → iiko position), otherwise the employee’s main position in iiko, otherwise the **Default iiko position**. The attendance type can be set in the **Attendance type** field.

Clock records are sent only for matched employees and linked locations, and only starting from the date in **Sync records starting from** (by default — the day you connected).

## How till shifts get into jeCheck

Turn on **Receive iiko attendance as clock records**. When an employee opens a shift with a card at the terminal, a clock-in with the method “iiko” appears in jeCheck: it is linked to the scheduled shift, and lateness is calculated by the usual rules. When the shift is closed, the clock-out and worked hours appear.

With the webhook (**Instantly (webhook)**) the clock record appears right away. In addition, every 5 minutes jeCheck checks attendance for the last two days, and at night for the last week: this picks up attendance corrected in iiko and nothing is lost if the connection fails. If a time is corrected in iiko, it is corrected in jeCheck too — except for records a manager has already edited manually.

> [!NOTE]
> An iiko key can have only one webhook address. If another integration already uses the key, jeCheck warns you and offers to replace the address — it’s better to create a separate key for jeCheck.

## If an employee clocked in in both systems

Records of the same employee that overlap in time or start almost simultaneously are one shift: jeCheck links them and creates no duplicates either in jeCheck or in iiko. How far apart the start times may be is set in **Treat as one shift if start times differ by no more than** (30 minutes by default).

**Whose time wins** decides which time stays in both systems:

- **jeCheck (geo, photo, QR)** — the jeCheck time overwrites the iiko attendance;
- **iiko (card at the till)** — the till time overwrites the jeCheck clock record.

## Shift schedule

- **Send the published schedule to iiko** — after the schedule is published in jeCheck, shifts of matched employees appear in the iiko schedule with the selected **iiko schedule type**. Changes and deleted shifts are sent with the next publication.
- **Import the iiko schedule as drafts** — shifts from the iiko schedule appear in jeCheck as drafts; a manager reviews and publishes them. Import them with **Import schedule from iiko** in the **Sync for a period** block.

## Sync for a period and the log

In the **Sync for a period** block, pick the dates (up to two months) and click:

- **Fetch attendance from iiko** — receive attendance for the period, for example after connecting;
- **Send clock records to iiko** — send closed clock records for the period, for example after a connection failure;
- **Import schedule from iiko** — fetch the schedule as drafts.

No duplicates are created. Every send and every received attendance record is written to the **Log** tab. If iiko was unavailable, sending is retried automatically — after 1, 5 and 15 minutes, an hour and longer; you can also retry an error manually with **Retry** or **Retry all errors**.

To stop syncing temporarily, choose **Connection → Pause sync**. **Disconnect iiko** deletes links, rules and the log — clock records and shifts stay in both systems.

## Create jeCheck employees in iiko

If an employee exists only in jeCheck, on the **Employees** tab click **Create in iiko**, select the people and click **Create**. The iiko code is the employee number (or “JC” plus the jeCheck user number), the venue is the employee’s home location, the position is the **Default iiko position**. The match is created automatically.

## Frequently asked questions

### Do I need to install anything on the till?

No. jeCheck works through the iiko cloud API (iikoCloud) with a key from iikoWeb. For the **Open the shift on the till right away** mode, the till must be running and connected to the cloud.

### Why wasn’t an employee’s clock record sent to iiko?

Most often the employee isn’t matched or the location isn’t linked to a venue — such a record is shown on the **Log** tab with the status “Skipped”. Another reason is a missing position: set the **Default iiko position**.

### An iiko attendance record didn’t appear in jeCheck — what should I check?

Check that **Receive iiko attendance as clock records** is on, the employee is matched and the venue is linked to a location. Skipped attendance is also written to the log with the reason. Click **Sync now** on the **Overview** tab to fetch attendance immediately.

### Can I connect several iiko legal entities or keys?

Yes: **Connection → Another iiko connection**. Each connection has its own locations, employees and rules.

### Is there an r_keeper integration?

Not yet — the r_keeper integration is next. If your chain needs it, write to support.
