SmartHRで登録した社員情報を、現行の社員DBに連携をしたい

「SmartHRで登録した社員情報を、勤怠管理で使用している別の社員DBに連携したい」
これは実際にお客様から寄せられたご要望です。SmartHRも勤怠管理システムも、どちらも業務に欠かせないツールとして活用されていますが、同じ情報を両方のシステムに入力・変更し続けるという二重作業が発生しているのです。
社員のマスターデータ管理、給与計算管理、勤怠管理—これらはどれも企業活動において必須のシステムです。現在は、それぞれに特化した便利なSaaSが市場に多数存在する状況ですので、このような悩みを抱えている企業は決して少なくないでしょう。
一見すると、近年増加しているETLサービスを使えば解決できそうな課題です。しかし実際には、技術的な障壁が立ちはだかり、細かい要望を自然な設定で実現できるETLサービスが非常に限られています。このような背景から、実際に弊社にご相談を頂きました。
本ブログでは、なぜこの連携が難しいのか、その理由を詳しく解説していきます。そして、弊社PraztoのETLサービス「Passwork」が、「SmartHRで登録した社員情報を現行の社員DBに連携したい」という具体的なケースにおいて、この課題をどのように解決するのかをご紹介いたします。

【なぜ難しいのか①】社内システムとクラウドのSmartHRとを接続する必要がある

こちらは以前の記事でも取り上げた課題になります。現在のETLサービスの多くはクラウド型となっており、通常の状態ではクラウド側から社内システムにアクセスすることができません。その結果、SmartHRのデータを社員DBに登録することができず、社員DB側で発番された社員番号をSmartHR側に書き戻すような双方向の連携も実現できないのです。
このため、多くの企業が次に検討するのが、SIerへのプログラム開発委託による補完的なアプローチです。中継サーバーのような仕組みを構築して、クラウド型ETLでも動作するようにするという方法ですが、これでも同様に高額な外注費用が発生します。さらに、些細な修正でもプログラム変更が必要になるため、結局のところ現実的な選択肢とは言い難い状況に陥ることも少なくありません。
【なぜ難しいのか②】「カスタム項目」のデータの構造が標準項目と異なっている
SmartHRには人事労務管理システムとして、非常に広範で詳細な標準項目が備わっています。それに加えて、「カスタム従業員項目」という柔軟な機能を提供しており、各企業固有の情報を自由に管理することができます。先に挙げた基幹システム情報も、この「カスタム従業員項目」を活用して定義しています。
この便利な機能ですが、内部的にはどのような構造になっているのでしょうか。

実際にAPIで取得した従業員データを見ると、標準項目は1項目につき1つのKeyと1つのValueという単純な構造なのに対し、カスタム項目は1項目につきJSON形式の複合的な情報となっています。これは型やその他の定義情報もこの中で管理する必要があるためで、API仕様としては合理的な設計です。
しかし、この構造がETLサービスの採択の壁となってきます。汎用的なETLツールがこのような複雑な形式に対して、直感的な画面設計で対応できているケースは非常に稀のようです。
ユーザーから見れば、標準項目もカスタム項目も同じ1つの属性情報であり、同様に扱いたいというのは当然のニーズです。しかし現実には「カスタム項目が扱えない」あるいは「カスタム項目を扱うには特殊な前処理が必要で、大きな制約がある」という状況が一般的のようです。
“つながるETL” Passworkなら解決できます!!

弊社Praztoは2019年の創業以来、Salesforceの導入を中心に、300社以上のお客様にシステム導入支援を提供してきました。その過程で、SmartHRと他システムとの連携案件も多く手がけてきましたが、これまではすべてのケースでSmartHRのAPIを実行するためのプログラム開発が必要でした。
なぜこのような状況だったのでしょうか。それは、数多くのETLサービスが存在するにもかかわらず、お客様の要件を満たしつつ予算内で導入できるソリューションが存在しなかったからです。この課題を解決するために開発したのが、私たちのETLサービス「Passwork」なのです。
Passworkは、先ほど挙げた課題を解決し、現場が真に求めるEnd to Endでの連携を実現することを目指して開発されました。特に重要なのは、SIerへの外注なしで、エンジニアではなくビジネスユーザーが設定を完結できるように設計されている点です。

この画面が示すように、今回のケースでも、SmartHRと勤怠システム間の連携を自然な設定で実現できます。さらに、要件にある双方向での連携も可能なため、社内DBで発番された社員番号をSmartHRに書き戻すような処理も自然に設定できます。
この画面では、SmartHRと基幹システム間の双方向連携を実現するフローが設定されています。画面の左側では、以下の処理によってSmartHRの社員情報を基幹システムに更新しています。
- SmartHRコネクタを使用して、SmartHRから社員情報を取得
- Passwork上で、SmartHRの社員情報を未連携データのみにフィルタリング
- PostgreSQLコネクタを使用して、SmartHRの社員情報をPostgreSQLに新規登録
画面の右側では、反対方向の連携として以下を実行しています。
- 登録済みのPostgreSQLの社員データを抽出(自動採番されたIDも取得)
- SmartHRの社員情報に基幹システム社員IDを書き戻し、更新済みステータスに設定
このように、Passworkは単方向だけでなく双方向の連携も自然な設定で実現できます。特に、社内システムで発番された情報をクラウドサービスに書き戻すなどの実現が難しい機能についても、Passworkでは無理なく実現できる設計となっています。
以下では、先ほどの2つの課題をPassworkがどのように解決するのか、より具体的にご紹介していきます。
【Passworkなら出来る①】VPNによる接続で、社内システムのデータであっても連携できる。

まずご紹介するのが、社内システムとクラウドのSalesforceとの接続機能です。
先述のとおり、クラウド型ETLサービスの多くはお客様の社内システムからのデータ取得ができないため、今回のような連携課題を解決できていません。
Passworkは、開発当初からこの課題に対応できるよう、お客様のシステムとVPCやVPNで接続できる構成を採用しています。Professional Plan以上をご契約いただいたお客様には、弊社のインフラエンジニアがお客様の社内システムとVPCやVPNを使用して接続設定を行います。
これにより、今回のケースではPostgreSQLへのデータの書き込み、PostgreSQLからのデータの取得が可能となり、標準的な設定でシームレスなデータ連携が実現できます。
【Passworkなら出来る②】SmartHRに特化した、柔軟で使いやすい設定画面
続けてご紹介するのが、SmartHRに特化した柔軟で使いやすい設定画面です。APIの内部仕様を知らないビジネスユーザーでも直感的に操作できるよう、画面設計が最適化されています。


取得データとして以下の項目が選択リストの値として自動表示されるため、SmartHRの内部API仕様を知らないユーザーでも、簡単にデータを取得することが可能です。
- 従業員
- 家族情報
- 従業員カスタム項目グループ
- 従業員カスタム項目テンプレート
- 部署
- 雇用形態
- 会社情報
- 事業所
- 口座情報
- 給与支給形態
- 役職
- 等級
- 職種
- 続柄
- 給与
- 給与明細
- 源泉徴収
- 源泉徴収票
次に紹介するのが、取得したSmartHRの社員情報をPostgreSQLに登録する設定画面です。


入力対象のデータとして、フィルター後のSmartHR社員情報を選択リストから選ぶことができます。こちらを選択すると、項目マッピングの画面左側に社員の属性情報が一覧表示されるため、ユーザーはAPI仕様を意識することなく必要な項目を選択できます。
特筆すべきは、一番下部に従業員カスタム項目が表示されている点です。SmartHRに設定した従業員カスタム項目が自動的に表示される仕組みとなっており、データ取得後は他の標準項目と全く同じように扱うことができます。
これにより、ユーザーは内部的なJSON形式の複合的な情報を意識することなく、シンプルな画面操作で設定を行うことが可能になります。
まとめ
今回は、「SmartHRで登録した社員情報を、現行の社員DBに連携したい」というユーザーの要望に応えるPassworkの機能についてご紹介しました。
Passworkであれば、日本製SaaSであるSmartHRから直接データを取得し、社内システムのPostgreSQLへのシームレスな連携が可能です。直感的な画面設計のもとで、APIの内部仕様を意識することなく柔軟な連携設定ができるのが大きな特徴です。SmartHR特有のカスタム項目も標準項目と同じように扱える点も特徴で、これにより企業独自の項目定義も含めた人事データの連携も実現できます。
さらに、中間層を必要とせず、SmartHRと基幹システム間で双方向の直接連携が可能なため、社内DB側で発番された社員番号をSmartHR側に書き戻すようなケースにも対応できます。これらの設定はAPIの内部仕様を意識させない設計となっているため、ビジネスユーザーはIT部門の助けを借りることなく、自ら設定や変更を行うことができます。
弊社Praztoは、システム導入とシステム開発のプロフェッショナルチームです。2019年の創業以来、SIを中心に事業を拡大し、年商3億円以上の規模で300社以上のお客様にシステムを提供してまいりました。
「どのようにデータ連携を進めればよいかわからない」「システムが乱立して整理さえできていない」。そんな状態からでも、ぜひお気軽にご相談ください。弊社のコンサルタントが要件を整理し、最適な連携方法をご提案。そしてPassworkを活用した連携構築まで、一気通貫でご支援いたします。
データ連携でお悩みの方は、ぜひ弊社までお問い合わせください。