LoginSignup
8
2

More than 5 years have passed since last update.

MFクラウド給与からSmartHRの給与明細にインポートするためのCSVを変換するスクリプト

Last updated at Posted at 2017-06-26

[2017-08-04] このスクリプトを使う必要はもう無くなりました!本家同士が連携されました。めでたしめでたし!→ クラウド人事労務ソフト「SmartHR」が「MFクラウド給与」との連携範囲を拡大 | SmartHR -【シェアNo.1】無料から使えるクラウド労務ソフト

MF給与から給与明細CSVをダウンロードする

「帳票一覧」→「支給控除一覧表」→SmartHRにインポートしたい支給日を選ぶ→「表示項目設定」で「合計が0の項目」のチェックを外す→「CSV」ボタンを押してダウンロード。payment_deduction_report.csvという名前でダウンロードされる。

SmartHR向けに変換する

convert.rb
require 'csv'

NOKOSU = %w(
  従業員コード
  課税支給合計
  非課税支給合計
  支給合計
  控除合計
  差引支給合計
)

csv = CSV.table('payment_deduction_report.csv', encoding: 'Shift_JIS:UTF-8', header_converters: nil)
csv.delete(-1) # 集計行を削除
csv.by_col!.delete_if do |c, v|
  !(NOKOSU.include?(c) || c.end_with?('(支給)') || c.end_with?('(控除)'))
end
puts csv.headers.map {|h| h.gsub /\((支給|控除)\)$/, '' }.to_csv
puts csv.to_s write_headers: false

ruby convert.rb > smarthr.csvを実行してファイルを作り、SmartHRにアップロードする。

8
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
2