本レシピはStandardプラン以上の有償プランでご利用いただけます。ご利用をご希望の場合は下記よりお問い合わせください。
お問い合わせ | ActRecipe
カスタム従業員項目を含む任意の従業員情報のCSVファイルをSmartHRへ連携する方法を解説します。
レシピを使用するには事前にSmartHRの利用契約が必要になります。
0.事前準備
- 「CSVファイル - SmartHR連携 (従業員情報)」レシピを使用するには、事前にSmartHR Plusでのアプリの登録が必要となります。
- 以下のSmartHR Plusにアクセスし、画面右上の「ログイン」ボタンよりSmartHRへログインします
https://www.smarthr.plus/apps/actrecipe - 続いて「連携をはじめる」ボタン(青色)をクリックします
- アプリのインストール確認画面にて「連携をはじめる」ボタンをクリックします
- アプリの連携が完了しますと上記「2」のボタンが「アプリを開く」に変わりますので、同ボタンをクリックします
- 以下の確認画面が表示されますので「連携を許可」をクリックします(※)
連携するユーザはSmartHRの「管理者」権限を保持している必要があります。
※
ActRecipeのアカウントを保持しておりActRecipeにログインしていない場合にはログインをしてください。
ActRecipeのアカウントが未作成の場合は「無料ではじめる」ボタンよりアカウントを作成し、通知メールに従ってください。
1.マイレシピへの登録
メニューの「シェアレシピ」から、「CSVファイル - SmartHR連携 (従業員情報)」にチェックを入れ、画面下にある登録ボタンを押下します。シェアレシピの画面に「CSVファイル - SmartHR連携 (従業員情報)」が表示されない場合はSmartHR Plusの画面からやり直してください。
続いて「マイレシピ」から、操作メニューより「編集」を選択します。
参考:シェアレシピ・マイレシピとはなんですか?
ヘッダーでは、レシピ名とレシピ説明を変更することができます。
参考:レシピヘッダーでは何を設定すれば良いですか?
2.CSVファイルとSmartHR項目のマッピング設定
「Convert CSV data to SmartHR format」タスクを押下し、設定を展開します。
「CSVデータファイル」からはSmartHRにアップロードするCSVファイルを選択します。事前にActRecipeの「ファイル一覧」メニューよりCSVファイルのアップロードをお願いします。
後述するマッピングを使用しない場合はCSVファイル上の全てのデータがSmartHRへ連携されます。
デフォルトのインポート項目は以下の通りです。
user_id,emp_code,last_name,first_name,biz_establishment.name,department1,department2,department3,employment_type.name,last_name_yomi,first_name_yomi,business_last_name,business_first_name,business_last_name_yomi,business_first_name_yomi,birth_at,gender,email,tel_number,address.zip_code,address.pref,address.city,address.street,address.building,address.literal_yomi,address.country_number,address_head_of_family,address_relation_name,emergency_relation_name,emergency_last_name,emergency_first_name,emergency_last_name_yomi,emergency_first_name_yomi,emergency_tel_number,emergency_address.zip_code,emergency_address.pref,emergency_address.city,emergency_address.street,emergency_address.building,emergency_address.literal_yomi,emergency_address.country_number,resident_card_address.zip_code,resident_card_address.pref,resident_card_address.city,resident_card_address.street,resident_card_address.building,resident_card_address.literal_yomi,resident_card_address_head_of_family,resident_card_address_relation_name,position,position1,position2,position3,occupation,emp_status,entered_at,resigned_at,resigned_reason,emp_ins_insured_person_number,emp_ins_qualified_at,emp_ins_disqualified_at,soc_ins_insured_person_number,hel_ins_insured_person_number,basic_pension_number,soc_ins_qualified_at,soc_ins_disqualified_at,monthly_income_currency,monthly_income_goods,monthly_standard_income_updated_at,monthly_standard_income_hel,monthly_standard_income_pns,payment_period.name,having_spouse,spouse_yearly_income,nearest_station_and_line,commutation_1_expenses,commutation_1_period,commutation_1_single_fare,commutation_2_expenses,commutation_2_period,commutation_2_single_fare,foreign_resident_last_name,foreign_resident_first_name,foreign_resident_middle_name,foreign_resident_card_number,nationality_code,resident_status_type,resident_status_other_reason,resident_end_at,having_ex_activity_permission,other_be_workable_type,contract_type,contract_start_on,contract_end_on,contract_renewal_type,handicapped_type,handicapped_note_type,handicapped_note_delivery_at,working_student_flag,school_name,enrolled_at,working_student_income,employment_income_flag,business_income_flag,devidend_income_flag,estate_income_flag,widow_type,widow_reason_type,widow_memo,tax_cd,bank_account1.name,bank_account1.bank_code,bank_account1.bank_branch_code,bank_account1.account_type,bank_account1.account_number,bank_account1.account_holder_name,bank_account1.transfer_type,bank_account1.specified_transfer_amount,bank_account1.transfer_category,bank_account2.name,bank_account2.bank_code,bank_account2.bank_branch_code,bank_account2.account_type,bank_account2.account_number,bank_account2.account_holder_name,bank_account2.transfer_type,bank_account2.specified_transfer_amount,bank_account2.transfer_category,bank_account3.name,bank_account3.bank_code,bank_account3.bank_branch_code,bank_account3.account_type,bank_account3.account_number,bank_account3.account_holder_name,bank_account3.transfer_type,bank_account3.specified_transfer_amount,bank_account3.transfer_category,bank_account4.name,bank_account4.bank_code,bank_account4.bank_branch_code,bank_account4.account_type,bank_account4.account_number,bank_account4.account_holder_name,bank_account4.transfer_type,bank_account4.specified_transfer_amount,bank_account4.transfer_category
また、インポート時に必須となる項目は以下の通りです。
[社員番号、在籍状況、姓、名、姓(ヨミガナ)、名(ヨミガナ)、戸籍上の性別]
上記のうち、「社員番号」が既存データと一致する場合は更新を行い、一致しない場合は新規登録となります。
ここから先の記述はIT担当者向けの内容となりますので、SmartHRへアップロードするCSVを固定にされたい場合や設定内容がご不明な場合はスキップしてください。
CSV内のデータを変換したり一部のデータに絞り込んでSmartHRへ連携する場合にはマッピング機能を使用します。
-
以下のファイルをローカルPC環境等に保存します。
SmartHR - インポート用JSONファイル(論理名)v2.0 - レシピの編集画面より、アップロードアイコンから上記のJSONファイルをアップロードします。JSONファイルが未設定の場合には下記のデフォルト項目が全てSmartHRへ連携されます。
JSONファイルはSmartHRとCSVファイルのマッピング設定をまとめたものとなりますので、検証等で設定変更を繰り返したい場合にはダウンロードアイコンから設定ファイルをバックアップしてください。
続いて、「Convert CSV data to SmartHR format」タスクの画面について説明します。
【入力設定】
- 文字コード:入力ファイル(変換元ファイル)の文字コードを選択します。
- ヘッダーあり/なし:入力ファイルにヘッダーが含まれる場合は「ヘッダーあり」、ヘッダーが含まれない場合は「ヘッダーなし」にします。この設定によって後述します「出力指定」の指定方法が異なりますのでご注意ください。
- 区切り文字:入力ファイルの区切り文字を入力します。デフォルトはカンマ(,)です。
【入力フィルター】
入力フィルタでは、データファイルから選択したインポートファイルの連携項目を任意の条件に基づいて絞り込むことが可能になります。フィルタ項目の増減は下部の「(+)」アイコン、または、右側の「(-)」アイコンより行っていただけます。
- 入力項目:インポートファイルのヘッダー名を指定します。
-
条件:以下の条件の内いずれかを指定します。
- 次に等しい:入力項目で指定した項目が、以下の”値”にて指定した値と等しい場合に出力します。
- 次に等しくない:入力項目で指定した項目が、以下の”値”にて指定した値と等しくない場合に出力します。
- が空:入力項目で指定した項目が、空欄である場合に出力します。
- が空ではない:入力項目で指定した項目が、空欄ではない場合に出力します。
-
値:絞り込みたい条件に基づき値を入力します。
「XXXX, YYYY」のようにカンマ区切りで入力することで、複数の値を一括で指定することも可能です。 -
AND・OR:複数の条件を「かつ(AND)」「または(OR)」で組み合わせることができます。
条件行の左右に「( 」および「 ) 」のプルダウンから条件のグルーピングもでき、「(A かつ B) または (C かつ D)」といった、特定の条件をグループ化して優先させる複雑な絞り込みも可能です。
※対応可能なネストは1階層(括弧は一重)までです。
( ) によるグルーピングは可能ですが、(( )) のように括弧を二重に設定することには対応しておりませんのでご注意ください。
【出力設定】
- 出力ファイル種別:出力ファイルの種類を「CSV」または「TEXT」から選択します。
- ヘッダー出力する/しない:出力ファイルのヘッダーの有無を選択します。
- 文字コード:出力ファイルの文字コードを「UTF-8」「SHIFT_JIS」「SHIFT_JIS (CP932)」から選択します。
- 区切り文字:出力ファイルの区切り文字を設定します。
- クォート:出力ファイルデータについて「"文字列"」のようにクォートを付与する対象を選択します。
- 桁数を超える処理:下記の「出力フォーマット」において、指定した桁数を超過した場合の処理を選択します。
【出力フォーマット】
出力フォーマットでは、入力ファイルを用いてどのようなアウトプットとするかを決定します。マッピング項目の増減は下部の「(+)」アイコン、または、右側の「(-)」アイコンより行っていただけます。
下図の「項目名」はSmartHRの項目の物理名を指しており、「出力指定」はCSVファイルのヘッダー項目を指しております。SmartHRの項目とその説明は以下の資料をご確認ください。
「型」や「桁数」や「出力区分」は任意の設定を行なっていただくことができます。
インポート項目にないカラムが含まれている場合、インポート処理は「成功」と表示されますが、存在しないカラムのデータはSmartHRにはインポートされず、無視されます。
インポートを行う際は、事前にSmartHRの連携可能なインポート項目とスプレッドシートのカラムが一致しているか必ずご確認ください。
「出力指定」ではExcelとほぼ同様の関数指定を行うことができます。例えば、CSVの項目の「姓」と「名」を1つのフィールドに出力したい場合は、出力区分および出力指定を以下のように指定します。
出力区分:計算式
出力指定:#(姓)&#(名)
※ ActRecipeのコンバート処理は、設定画面の定義順(上から順番)にデータを上書き更新しながら実行されます。
予期せぬエラーやデータ不整合を防ぐため、設定の際は必ず以下の2点をご遵守ください。
■1. 項目名の重複禁止
同じ項目名を複数作ると、すべて同じ値に上書きされます。
・NG例
以下のように全ての項目名を同一名で定義
➔ 最後の#(部署3)により上書きされ、全ての部署が同一名として出力されます。・OK例
出力項目名をすべて「一意(ユニーク)」に定義
➔ それぞれの#(部署〇)が出力されます。■2. 項目名に「元データの項目名」を使用
連携元データのヘッダーの項目名をそのままに、値だけ変換し、以下のように#(項目名)を指定すると、連携元データの項目名の値ではなく、変換後の項目名の値を参照してしまい、後続の計算や変換で「#ERROR!」や変換不具合が発生します。
・NG例
1. 「入社年月日」を和暦(2019年11月07日)に変換し、出力項目名も「入社年月日」にして上書きする。
➔ 元データ(2019-11-07)が消え、ただの「文字列」に変わる。
2. 後続の「入社年数(DATEDIF)」で #(入社年月日) を参照する。
➔ 文字列を計算しようとするため計算エラー(#ERROR!)になる。
・OK例①
出力項目名(ヘッダー名)を変更する。
変換後の出力項目名を「入社日」や「生年月日_変換後」などの「別名」に指定します。
➔ 元データが上書きされずに残るため、すべての計算や変換が正常に動作します。
・OK例②:コンバート設定の順番を入れ替える
計算(DATEDIF等)を行う項目を、上書き変換(和暦変換等)を行う項目よりも「上(前)」に配置してください。
【出力フィルター】
出力フィルターでは、出力フォーマットによって出力されたファイルを任意の条件に基づいて絞り込むことが可能になります。フィルタ項目の増減は下部の「(+)」アイコン、または、右側の「(-)」アイコンより行っていただけます。
-
括弧 ( ):複数の条件をグループ化して優先順位を指定できます。各条件行の左端に開始括弧「(」、右端に終了括弧「)」を設定できます。
※ 対応可能なネストは1階層(括弧は一重)までです。( ) によるグルーピングは可能ですが、(( )) のように括弧を二重に設定することはできません。 - 出力項目:出力フォーマットにて、設定した項目を指定します。
-
条件:以下の条件の内いずれかを指定します。
- 次に等しい:出力項目で指定した項目が、以下の”値”にて指定した値と等しい場合に出力します。
- 次に等しくない:出力項目で指定した項目が、以下の”値”にて指定した値と等しくない場合に出力します。
- が空:出力項目で指定した項目が、空欄である場合に出力します。
- が空ではない:出力項目で指定した項目が、空欄ではない場合に出力します。
-
値:絞り込みたい条件に基づき値を入力します。
「営業部, 開発部」のようにカンマ区切りで入力することで、複数の値を一括で指定することも可能です。 -
AND・OR:複数の条件を「かつ(AND)」「または(OR)」で組み合わせることができます。
複数の条件を設定した場合、上から順番に1つずつ評価(直列評価)されます。
例:条件A AND 条件B OR 条件C は、(条件A かつ 条件B) または 条件C として処理されます。【例】
-
条件A AND ( 条件B OR 条件C )
→ 条件Aを満たし、かつ「条件Bまたは条件Cのどちらか」を満たすデータを出力します。 -
( 条件A AND 条件B ) OR ( 条件C AND 条件D )
→ 「条件AとBの両方」を満たす、または「条件CとDの両方」を満たすデータを出力します。
コンバート機能の詳細や出力指定のサンプルは下記ページをご覧ください。
コンバートの設定方法を教えてください
給与ソフト等に合わせた各種テンプレートは下記ページをご覧ください。
SmartHR用インポート・エクスポートテンプレート
出力指定の条件指定方法のサポートは有償プランにて承っております。詳しくはお問い合わせください。
給与ソフト等に合わせた各種テンプレートは下記ページをご覧ください。
SmartHR用インポート・エクスポートテンプレート
出力指定の条件指定方法のサポートは有償プランにて承っております。詳しくはお問い合わせください。
3.SmartHRの認証情報設定
「SmartHR - Update or Register Employee Information」を押下し、設定を展開します。
SmartHRと連携済みであれば「サブドメイン」にお客様のSmartHR環境のサブドメインが表示されます。
SmartHRとのOAuth接続を切断する場合は「テナントの変更・解除」をクリックし、続いて「接続解除」をクリックします。
- 退職者を含める(オプション):本オプションを有効にすることで、SmartHR上の従業員の在籍状況が”退職済”であっても、従業員情報を更新します。(デフォルトでは、退職済従業員は更新されません)
レシピを実行する (自動実行はこちら)
マイレシピの操作メニューより「実行」を選択することでレシピを実行できます。
画面イメージや履歴の確認方法は以下をご参照ください。
レシピの実行に成功すると、CSVファイルの情報がSmartHRへ連携・登録されます。連携データのうち登録ができなかったレコードは実行ログに出力されますのでレシピ実行履歴をご確認ください。
また出力結果のCSVファイルが「results_[インポートファイル名]」のフォーマットでファイル一覧に出力されます。
「口座情報」についてはSmartHR上のステータスが「無効」となっている場合にはインポートが行われず、レシピの実行ステータスはWARNINGとなります。正しくインポートするためにはSmartHR上で口座のステータスを「有効」に変更した上でレシピ実行をお願いいたします。
【注意事項】CSVファイル - SmartHR連携 (従業員情報) でインポート可能な従業員情報の取扱いについて
- インポートできる従業員の範囲・項目は、設定時に利用したSmartHRのアカウントの権限設定を反映します。目的と用途に応じた権限のSmartHRのアカウントを使って設定を行なってください。
詳しくは、*従業員関連の閲覧・作成・更新・削除の権限を設定する* を参照してください。
https://support.smarthr.jp/ja/help/articles/1500001368101/
Freeプランについて
このレシピはActRecipeのFreeプランでご利用いただけます。Freeプランの制約事項や有償プランへの移行は下記をご覧ください。
このレシピで連携できるSaaSについて
その他のSmartHR連携ができるレシピ