〈 HULFT Square 技術コラム【つないでみた編】 〉

HULFT Square 技術コラム【つないでみた編】一覧

技術コラム一覧

Vol.22
給与奉行クラウドでの給与計算を自動化してみた

はじめに 給与奉行クラウドとは

公式製品ページ

給与奉行クラウドは給与管理のデジタル化をサポートするためのクラウドサービスです。組織図・社員情報・給与ルールを給与奉行クラウド内で設定しておき、トランザクション情報として勤怠情報を入力すれば給与を自動で計算して明細まで作成してくれます。

給与の計算に必要な勤怠情報の入力は、給与奉行クラウドのみを立ち上げた状態だと管理者が社員一人ずつを手作業で行う必要があります。そのままでは大変な作業となるので、HULFT Squareで他システムと連携させて自動化させる方法を考えてみました。

  • 【参考】給与奉行クラウドで勤怠情報を手作業で入力する画面
    >社員一人ずつを入力する必要がある

給与奉行クラウドで勤怠情報の入力を自動化させるには以下のシステムが必要となります。

  • 勤怠システム(KING OF TIMEなど)
     >社員の勤怠情報の登録を自動化します。
  • HULFT Square
     >勤怠システムから取得した勤怠情報を、給与奉行クラウドにアップロードできる形式に整形して、後述のファイルサーバ(Windows OS)へ格納していきます。
  • ファイルサーバ(Windows OS)
     >給与奉行クラウドへアップロードするファイルを格納する場所です。
     後述の奉行クラウド自動連携エージェントがWindos OSのみをサポートしているため、Windows OSであることが必要です。SFTPでもRESTでも、HULFT Squareは接続することができます。
  • 奉行クラウド自動連携エージェント
     >給与奉行クラウドへHULFT Squareが整形した勤怠情報のCSVファイルをアップロードするために使用します。給与奉行ではデフォルトではWebブラウザを使用したファイルアップロードしか受け付けていないため、ファイルアップロード作業を自動化するためには必須となります。給与奉行クラウドに限らず、その他奉行製品に処理ファイルをアップロードするためにも使用できます。追加で購入する必要があるツールとなります。
      詳細URL:https://www.obc.co.jp/bugyo-cloud/kanjo/function/api

システム構成のイメージ

  • HULFT Squareで生成したファイルの格納先はBoxに代表されるクラウドストレージなど自由に決められますが、奉行クラウド自動連携エージェントの使用を前提とすると、上記フローがシンプルです。
  • 下記「奉行APIコネクトサービス」として対応していればサービスを購入することでも自動化できますが、対応されていない場合は手組で勤怠情報登録のためのCSVファイルを作成してアップロードする必要があります。
     >奉行APIコネクトサービス一覧
    https://www.obc.co.jp/bugyo-cloud/apiservice?bugyo=給与奉行クラウド

今回は勤怠情報のCSVファイル作成のためのmapping機能(上記赤枠部)をご紹介したいと思います。

今回は勤怠システム側はKING OF TIMEを使用しました。

紹介内容

HULFT Squareのmapping機能から、頻繁に行うことになるだろう下記内容を紹介します。

  • 名前の姓と名の連結
  • 日時の変換(時間算出)

上記のような読み取りと書き込みをつなぐmappingオブジェクトを配置してクリックします。
mappingオブジェクトをクリックすると、右側のツールパレットに変換のための処理が並びます。以下、それを使って姓名の連結と日時の変換(時間算出)を試してみましょう。

  • 名前の姓と名の連結

給与奉行側は氏名を姓と名の両方が含まれた状態で受け付けています。

勤怠システム側は姓と名が個別に登録されています。

このようなとき、mapping機能で姓と名を結合してしまうことができます。
mappingのツールパレット>文字列>演算>連結をmappingキャンパス上にドラッグ

「入力数」で連結する文字列の数を入力します。
「姓」と「名」の二つを連結させるためには「2」を選びます。
「ミドルネーム」も追加して三つを連結させるためには「3」を選びます。
出力させたい順番で連結ツールにドラッグするとドラッグさせた順番で連結されて出力されます。
上図では「lastName」と「firstName」を連結して「氏名」に出力しています。「勤怠」と「太郎」が連結して「勤怠太郎」と出力されます。

生成されるCSVの「氏名」の値

  • 日時の変換(時間算出)

次に、日時の変換(時間算出)を実現してみたいと思います。
給与奉行側が、残業時間を下記のような形式で待ち受けています。

勤怠システムからは下記のように出力されるとします。下記の例では、1時間単位の数字で出てきている形です。

勤怠システムからは10進数で出力されていて、
給与奉行クラウドに取り込むには時間の形に変換する必要があります。
「overtime」の「5.25」を給与奉行に取り込み可能な「5:15」に変換してみましょう。

下記のようにマッピングで計算処理を作成するイメージです。処理として主に4つの部分に分かれますので、順番に確認していきましょう。

  • 【時間の算出】
  • 【「:」の挿入】
  • 【分の算出】
  • 【時間の書式に連結】

日時の変換(時間算出)全体図

【時間の算出】
「5.25」を「5:15」に変換するための「5」の部分を作成します。
ツールパレットの以下の内容を使用していきます。

  • mappingのツールパレット>数値>関数>切り捨て

コメント:任意
指定桁数:切り捨てる小数点以下の桁数を記載します。「5.25」から「5」だけを取得したいので「0」を入力します。

【「:」の挿入】
「5.25」を「5:15」に変換するための「:」の部分を作成します。
ツールパレットの以下の内容を使用していきます。

  • mappingのツールパレット>文字列>基本>単一行文字列定数

コメント:任意
一行文字列:入力した値を出力します。「:」を入力します。

【分の算出】
「5.25」を「5:15」に変換するための「15」の部分を作成します。
ツールパレットの以下の内容を使用していきます。

  • mappingのツールパレット>数値>演算>引き算
  • mappingのツールパレット>数値>関数>切り捨て
  • mappingのツールパレット>数値>演算>掛け算
  • mappingのツールパレット>数値>基本>数値定数

「引き算」と「切り捨て」は「5.25」の小数点以下のみを抽出するために使用します。
「掛け算」と「数値定数」は何分かを算出するために使用します。

上記の4種のツールパレットを下記赤枠部のように配置します。

「引き算」の設定

コメント:任意
入力数:元の「5.25」から「5」を引くために「2」を入力します。

有効桁数の指定:不要ですので「有効桁数を指定しない」を選択します。
指定桁数:なし
丸め処理:任意

「切り捨て」の設定

コメント:任意
指定桁数:「5.25」を「5」に変換するために「0」を入力します。

「掛け算」の設定

コメント:任意
入力数:「5.25」の「0.25」に「60」を掛けるために「2」を入力します。

有効桁数の指定:今回は少数点以下を使用しないため、「有効桁数を指定する」を選択します。
指定桁数:今回は少数点以下を使用しないため、「0」を入力します。
丸め処理:今回は少数点以下を使用しないため、「丸めの必要なし」を選択します。

「数値定数」の設定

コメント:任意
数値:「60」を入力します。

以上の設定で「5.25」が「0.25×60」となり「15」と出力されるようになります。

【時間の書式に連結】
ここまでで作成した「5」「:」「15」を文字列として連結します。
ツールパレットの以下の内容を使用していきます。

  • mappingのツールパレット>文字列>演算>連結

名前の姓と名の連結で設定したように、下記赤枠部の形になるように順番にドラッグして作成します。「入力数」を「3」に設定するのを忘れないようお気を付けください。

以上で、日時の変換(時間算出)も完了です。「普通残業時間」に下記のような値が出力されるようになるはずです。

その他必要な項目もマッピングして、生成したCSVファイルを奉行クラウド自動連携エージェントを使用してアップロードしてみましょう。

おわりに

今回の給与奉行では接続部分が対向サービス側の専用ツールにより実装される形でしたので、いつもと趣向を変えてデータ変換の方法を中心にご紹介いたしました。

HULFT Squareのツールパレットにはまだまだたくさんの機能が存在していますので、今回の記事を足掛かりに様々な方法を試していただければと思います。

HULFT Square 技術コラム【つないでみた編】一覧

技術コラム一覧

Change Location

Are you visiting HULFT.com (Japanese language) outside Japan ?
When connecting "HULFT" to Japan from overseas, please select "HULFT8".

日本国外からHULFT.com(日本語)にアクセスされようとしています。
海外から日本の「HULFT」と接続する製品をお探しの場合、「HULFT8」をお選びください。