Skip to content

How to Move from Excel to a Leave Tracking App

In teams that track leave in Excel, the process is usually split between a file and "can I take time off?" messages in Slack. This guide separates what comes into OffTracker automatically from Slack, what can be uploaded as CSV and what has to be entered by hand. One thing to know up front: there is no bulk import for the employee list, past leave records or remaining balances from Excel.

What moves and what does not

  • Comes from Slack: employees (name and email). They are imported from Slack during setup; an employee list from Excel is not uploaded.
  • Uploaded as CSV: birthdays and hire dates. You fill in a template downloaded from the dashboard and upload it back.
  • Chosen in the dashboard: Turkish public holidays (by year) and company-specific holidays.
  • Entered by hand: leave types, annual entitlement and seniority rules, and each employee’s remaining balance (as a per-person adjustment).
  • Does not move: past leave records from Excel. There is no bulk import for past records or old balance movements; the old file is kept as an archive.

Prepare before you start

  • Cut-over date: pick the day you stop using Excel and start using OffTracker (suggestion below).
  • Employee emails: check that the emails in Excel match the emails on the Slack accounts; the birthday and hire date upload matches rows by email.
  • Date list: prepare birthdays and hire dates in DD.MM.YYYY format (e.g. 31.12.1990).
  • Remaining balances: each employee’s remaining leave days as of the cut-over date.
  • Leave rules: annual entitlement, seniority tiers and which leave types deduct from the balance.
  • People with the right roles: the Owner runs the Slack sync. The leave type, policy, holiday and birthday and hire date settings are available to an Owner or HR Admin. Only an HR Admin adjusts the remaining days. The Owner grants the HR Admin role in the “Roles & Permissions” tab, and can grant it to themselves as well.

Choose the cut-over date

Pick a clean cut-off point, such as the first day of a month or the start of the leave year. Records up to that date stay in Excel; from the cut-over date all requests are opened in OffTracker only. Do not keep records in both places in parallel, or it becomes unclear which one is right.

If approved leave runs past the cut-over date, the simplest route is for employees to request it again in OffTracker. In that case enter the remaining balance before those days are deducted, so the same leave is not deducted twice.

Migration steps

1. Connect Slack and bring in the employees

In the setup wizard’s “Sync Users” step, click “Sync from Slack” (the Owner sees the wizard). Your team is imported from Slack with names and emails; deactivated Slack accounts and bots are not imported. For people who join later, repeat the same sync with the “Sync from Slack” button on the Employees tab (Owner).

2. Define leave types and policies

In the “Leave Types” section of the “App Settings” tab, set each type’s “Quota impact” (Deducts or No deduction) and approval method; the dashboard comes with preset types such as annual, excuse and sick leave. On the “Leave Policies” tab, define the annual entitlement, seniority tiers based on hire date and, if you want, monthly accrual; a policy can be assigned to a team or to a person. The setup wizard also offers two ready-made options: a fixed number of annual days or the Turkish Labor Law tiers (14 / 20 / 26 days by years of service).

3. Import the public holidays

On the “Holidays” tab, choose a year under “Import Turkey Holidays” (the list starts with the current year, and only years the app has holiday data for can be chosen). Use “Add Custom Holiday” for company-specific days. Every holiday has a “Quota Impact”, and imported holidays come as “Deducts” by default; if your Excel does not count public holidays as leave days, click the badge of those holidays and set them to “No deduction”.

4. Upload birthdays and hire dates

On the “Leave Policies” tab, in the section titled “Doğum Günü & İşe Giriş — Toplu İçe/Dışa Aktarma” (it is currently in Turkish in both interface languages), click “Şablon İndir (CSV)” to download a template pre-filled with your active employees. The template columns are E-posta, İsim, Departman, Doğum Günü (GG.AA.YYYY) and İşe Giriş (GG.AA.YYYY). In Excel, fill in the empty date cells, save the file as CSV and upload it with “İçe Aktar (CSV)”; the rules are below. Hire dates are what seniority tiers are based on: for an employee without a hire date no tier applies and the policy’s fixed annual entitlement is used, so complete this step before entering balances.

5. Enter the remaining balances

Adjusting a balance requires the HR Admin role; the Owner role alone is not enough. The name links on the Employees tab are visible to the Owner and to the HR Admin (both can open an employee’s profile), while “Update Quota” on the profile page is shown only to an HR Admin. If “Transparent leave balances” is off, an HR Admin who is not the Owner sees only their own row in the Employees list; in that case the Owner, holding the HR Admin role too, does this step. If the Owner also gives themselves the HR Admin role in the “Roles & Permissions” tab, they can do this step alone. The HR Admin role also gives the Owner the rights to approve or reject any leave, to cancel, edit and refund other people’s leave; when the move is done, you can take the role back with “Remove HR Admin role” in the same tab. Open the employee’s profile from the Employees tab, and in the “Quota Changes” section click “Update Quota”: add the difference between the remaining days in Excel and the remaining days shown on the profile (or subtract it with a negative value), with a description (for example “Opening balance from Excel”). There is no bulk balance import; adjustments are made per employee.

6. Compare the result with Excel

From the “Export” menu on the dashboard, download “Balances (CSV)”; its columns are Çalışan, E-posta, Departman, Toplam Hak, Kullanılan, Kalan, Düzeltme. Open it in Excel, compare the remaining days side by side with your old file and correct any differences as in step 5.

7. Tell the team

Tell the team that from the cut-over date leave requests are opened in Slack with the /izin command and that Excel will no longer be updated. Slack commands and messages are currently in Turkish; the web dashboard is available in Turkish and English.

Would you like to talk about how to plan the move?

Contact us

hello@offtracker.app

Rules for the birthday and hire date CSV

  • Matching: rows are matched by email; rows with an empty email are skipped. If a row that contains a valid date has an email that does not match anyone from Slack, it is reported as “eşleşmedi” (unmatched) in the upload result and no new employee is created; rows with no date, or only an invalid date, are counted as “atlandı” (skipped).
  • Empty cells: empty cells do not erase the current value; filled cells overwrite it.
  • Date format: DD.MM.YYYY, DD/MM/YYYY or YYYY-MM-DD. The order is always day, month, year; a date written month-first (US style) is either read wrongly or counted as invalid. Only dates with a wrong format or an out-of-range month or day are reported at the end of the upload as “geçersiz tarih” (invalid date); a day that does not exist in the calendar, such as 31.02.1990, is not checked separately, so check your dates before uploading.
  • File: Save the CSV as UTF-8 (in Excel, the “CSV UTF-8” option); the file is read as UTF-8, so headings with Turkish characters may not be recognised in another encoding. The separator can be a semicolon or a comma and the headings in the first row are recognised; do not change the template’s headings, because the upload fails if the email column, or both date columns, are not found. The template you download is semicolon-separated and UTF-8 (with a BOM); the semicolon is the list separator in Excel with Turkish regional settings.
  • Permission and language: downloading and uploading the template requires the Owner or HR Admin role. The section’s title, buttons and upload result are currently in Turkish in both interface languages.

Back to Excel: the CSV reports

Moving to OffTracker does not mean giving up Excel: when you want the data back in a spreadsheet, you can download two CSV reports from the “Export” menu on the dashboard. Only the HR Admin can use the menu. Both files are semicolon-separated and UTF-8. The column names are listed below as they appear in the file. “Leave Records (CSV)” lists all records, including cancelled ones; filter on the Durum column.

  • Balances (CSV): for active employees: Çalışan, E-posta, Departman, Toplam Hak, Kullanılan, Kalan, Düzeltme.
  • Leave Records (CSV): Talep No, Çalışan, İzin Türü, Başlangıç, Bitiş, Başl. Saat, Bitiş Saat, Gün, Durum, Sebep, Onaylayan, Talep Tarihi.

What to do with the old Excel file

On the cut-over date, save the final version of the file and keep it as an archive; putting the cut-over date in the file name makes it easier to find. Because OffTracker does not import old records, questions about the past ("who used how much last year?") are answered from this archive. Records after the cut-over date are kept in OffTracker and can be taken to Excel with the CSV reports.

Three common mistakes

  • Not checking the emails: if an email in Excel differs from the one in Slack, the birthday and hire date row does not match; check the “eşleşmedi” (unmatched) count in the upload result.
  • Entering balances before the rules: a difference entered before hire dates and policies are complete goes stale when the annual entitlement changes later. Dates and policy first, then the balance difference.
  • Expecting the history to be carried over: old leave records are not uploaded to OffTracker; keep the archive and keep the cut-over date clear.

Frequently asked questions

Can I upload my employee list from Excel to OffTracker?

No. Employees come from Slack during setup; an employee list from Excel is not imported. Birthdays and hire dates, however, are uploaded in bulk with the CSV template and matched by email to the employees who came from Slack.

Are my past leave records from Excel transferred?

No, there is no import for past leave records. Keep the old file as an archive and use OffTracker from the cut-over date.

Can I enter the remaining leave balances in bulk?

No, there is no bulk balance import. The remaining days are entered by an HR Admin on the employee’s profile with “Update Quota”, as a per-person adjustment.

Who can do these tasks?

The Owner runs the Slack sync. Leave types, policies, holidays and the birthday and hire date upload are available to an Owner or HR Admin. Only an HR Admin adjusts balances.

Can I take my data back to Excel?

Yes. From the “Export” menu on the dashboard, balances and leave records are downloaded as CSV and open in Excel. Only the HR Admin can use the menu.

Keep the move simple

Tell us a little about your team and how you track leave in Excel today.

Related pages: Leave requests in Slack · Pricing · FAQ · All guides