yamori

有給休暇計算を主目的とした簡易勤怠管理システム

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14
  15. 15
  16. 16
  17. 17
  18. 18
  19. 19
  20. 20
  21. 21
  22. 22
  23. 23
  24. 24
  25. 25
  26. 26
  27. 27
  28. 28
  29. 29
  30. 30
  31. 31
  32. 32
  33. 33
  34. 34
  35. 35
  36. 36
  37. 37
  38. 38
  39. 39
  40. 40
  41. 41
  42. 42
  43. 43
  44. 44
  45. 45
  46. 46
  47. 47
  48. 48
  49. 49
  50. 50
  51. 51
  52. 52
  53. 53
  54. 54
  55. 55
  56. 56
  57. 57
  58. 58
  59. 59
  60. 60
  61. 61
  62. 62
  63. 63
  64. 64
  65. 65
  66. 66
  67. 67
  68. 68
  69. 69
  70. 70
  71. 71
  72. 72
  73. 73
  74. 74
  75. 75
  76. 76
  77. 77
  78. 78
  79. 79
  80. 80
  81. 81
  82. 82
  83. 83
  84. 84
  85. 85
  86. 86
  87. 87
  88. 88
  89. 89
  90. 90
  91. 91
  92. 92
  93. 93
  94. 94
  95. 95
  96. 96
  97. 97
  98. 98
  99. 99
  100. 100
  101. 101
  102. 102
  103. 103
  104. 104
  105. 105
  106. 106
  107. 107
  108. 108
  109. 109
  110. 110
  111. 111
  112. 112
  113. 113
  114. 114
  115. 115
  116. 116
  117. 117
  118. 118
  119. 119
  120. 120
  121. 121
  122. 122
  123. 123
  124. 124
  125. 125
  126. 126
  127. 127
  128. 128
  129. 129
  130. 130
  131. 131
  132. 132
  133. 133
  134. 134
  135. 135
  136. 136
  137. 137
  138. 138
  139. 139
  140. 140
  141. 141
  142. 142
  143. 143
  144. 144
  145. 145
  146. 146
  147. 147
  148. 148
  149. 149
  150. 150
  151. 151
  152. 152
  153. 153
  154. 154
  155. 155
  156. 156
  157. 157
  158. 158
  159. 159
# ファイルの書式

<!--
SPDX-License-Identifier: AGPL-3.0-only
Copyright 2025 Shota FUJI

This program is free software: you can redistribute it and/or modify it under the terms
of the GNU Affero General Public License as published by the Free Software Foundation,
either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY
WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.  See the GNU Affero General Public License for more details.

You should have received a copy of the GNU Affero General Public License along
with this program.  If not, see <http://www.gnu.org/licenses/>.
-->

集計を開始すると、 Yamori は取り込む対象のフォルダ配下のファイルを全て読み込み、一つのデータベースにまとめます。
これにより、ファイル内に最低限必要な情報さえ入力されていれば自由なフォルダ構成にすることができます。

![集計イメージ図](assets/collection_light.svg#only-light)
![集計イメージ図](assets/collection_dark.svg#only-dark)

## 利用可能なファイルフォーマット

現在 Yamori でサポートされているファイルフォーマットは以下のとおりです。

- CSV (`.csv` 拡張子)
- TSV (`.tsv` 拡張子)

将来的にサポートが予定されているファイルフォーマットは以下となります。

- Excel ワークブック (`.xlsx`, `.xlsm` 拡張子)
- 旧 Excel ワークブック (`.xls` 拡張子)
- JSON (`.json` 拡張子)

## ファイルの種類

ファイルには勤怠の記録をつける「勤怠記録」と、社員の情報をひとまとめに管理する「社員マスタ」の 2 種類があります。

### 勤怠記録

勤怠記録は社員の出勤や欠勤といった「勤怠区分」の日付ごとのデータです。

- [社員 ID](#社員-id)
- [日付](#日付)
- [勤怠区分](#勤怠区分)

#### 社員 ID

社員を一意に識別する文字列です。
必ず必要となり、入力されていない場合はその行は無視されます。
社員番号などの実際の ID や、ランダムな数字 (例: `A001~A999`)、ハンドルネームなど一意性が確保される限り何を使っても問題ありません。

!!! warning "注意"

    Excel などのアプリケーションを使う場合、数値のみの ID を使うと自動書式といった機能の対象になってしまう場合があります。
    アルファベットを先頭につける (例: `X1`, `A25`)、名前を後ろにつける (例: `1-tanaka`) など数値として認識されない ID をつけることを推奨します。

#### 日付

この行の記録がいつのものなのかを表す日付です。
必ず必要となり、入力されていない場合はその行は無視されます。
サポートされる書式は以下となります (サンプルは共通して 2025年 10月 3日) 。

- `YYYY-MM-DD` (`2025-10-03`)
- `YYYY/MM/DD` (`2025/10/03`)
- `YYYY/M/D` (`2025/10/3`)

日付は全て Yamori を実行しているコンピュータのタイムゾーンで計算されます。
時間を扱わないため異なるタイムゾーンで実行しても同じ結果となります。

#### 勤怠区分

実際の勤務予定に対する実績・結果です。
出勤率計算式は以下となります。

```
出勤率 = 出勤日数 / (出勤日数 + 欠勤日数)
```

##### 出勤

年次有給休暇付与の際の出勤率計算時に「出勤した」とみなします。
以下の文字列は全て出勤として扱われます。

- 出勤
--
##### 欠勤

年次有給休暇付与の際の出勤率計算時に「出勤していない」とみなします。
以下の文字列は全て欠勤として扱われます。

- 欠勤
-
##### 公休

年次有給休暇付与の際の出勤率計算に含めません。
以下の文字列は全て公休として扱われます。

- 公休
-- 休日
-
##### 年次有給休暇

以下の文字列は全て年次有給休暇として扱われます。

- 年次有給休暇
- 年休
- 有給休暇
- 有休
- 有給
-
##### 特別休暇

法定休暇・休業や特別休暇といった「出勤した」とみなす休日です。
以下の文字列は全て特別休暇として扱われます。

- 特別休暇
- 法定休暇
- 法定休業
-
#### サンプル

| 社員 ID | 日付       | 勤怠区分 |
| ------- | ---------- | -------- |
| A01     | 2025-07-01 | 出勤     |
| A01     | 2025-07-02 | 出勤     |
| A01     | 2025-07-03 | 欠       |
| A01     | 2025-07-04 | 年休     |
| A01     | 2025-07-05 | 公休     |
| A01     | 2025-07-06 | 公休     |
| A01     | 2025-07-07 | 出       |
| ...     | ...        | ...      |

### 社員マスタ

#### 社員 ID

社員を一意に識別する文字列です。
勤怠記録とマスタデータを紐づけるために必要となります。

詳細は[勤怠区分の説明](#社員-id)を参照してください。

#### 名前

社員の表示名です。未指定の場合は社員 ID がそのまま表示されます。

#### 年次有給休暇初回付与日

書式は[日付](#日付)と同様です。