Skip to content
/ kirico Public

A Ruby implementation of 届書作成プログラム

License

Notifications You must be signed in to change notification settings

kufu/kirico

Repository files navigation

kirico-logo

kirico

CircleCI

A Ruby implementation of 届書作成プログラム

理念

2008 年より電子政府(e-Gov)のウェブサイト上で社会保険・労働保険関連手続きの電子申請の受付が開始されました。 2010 年には e-Gov の使い勝手の向上を図り、一括申請機能の提供が開始されました。 そして 2014 年 10 月、さらなる利便性の向上を目的に、外部連携 API 仕様が公開されました。

これまで様々な取組が行われてきた一方で、確定申告などで利用される国税の電子申告(e-Tax)と比べるとまだまだ普及度が低いのが実情です。 また、一部の電子申請では年金機構の公開する「届書作成プログラム」を利用して CSV ファイルを生成する必要があり、一般利用者、ソフトウェア開発者共に負担となるものでした。

わたしたちは kirico の開発・公開によって CSV 形式の電子申請への対応を容易にすることで e-Gov 外部連携 API に対応したソフトウェアが増えることを期待します。 そして、電子政府の認知度の向上、利用率の向上、及び利用の拡大に貢献し、もってユーザの利便性の向上を目指します。

インストール

Gemfile に追記して:

gem 'kirico'

bundle コマンドを実行します:

$ bundle

もしくは、直接インストール:

$ gem install kirico

使い方

data structure

データ構造: 仕様書 p.6-2 より

FD 管理レコード

require 'kirico'
require 'i18n'
I18n.locale = :ja

# FD 管理レコード
fd = Kirico::FDManagementRecord.new do |rec|
  rec.prefecture_code = '21'
  rec.area_code = '03'
  rec.office_code = 'キリコ'
  rec.fd_seq_number = '001'
  rec.created_at = Date.new(2017, 1, 1)
end

fd.valid? #=> true

fd.office_code = 'ほげ'
fd.valid? #=> false
fd.errors #=> 略

事業所情報

require 'kirico'
require 'i18n'
I18n.locale = :ja

# 事業所情報
company = Kirico::Company.new do |rec|
  rec.prefecture_code = '21'
  rec.area_code = '03'
  rec.office_code = 'キリコ'
  rec.office_number = '1234'
  rec.zip_code1 = '123'
  rec.zip_code2 = '4567'
  rec.address = '東京都世田谷区上馬0-0-0'
  rec.name = '株式会社印度カレー'
  rec.owner_name = '内藤 キリコ'
  rec.tel_area_code = '03'
  rec.tel_city_code = '0000'
  rec.tel_subscriber_number = '0000'
end

company.valid? #=> true

company.name = '株式会社印度咖喱'
company.valid? #=> false
company.errors #=> 略

データレコード(住所変更届)

require 'kirico'
require 'i18n'
I18n.locale = :ja

# 住所変更届データレコード
address_record = Kirico::DataRecord22187041.new do |rec|
  rec.area_code = '03'
  rec.office_code = 'キリコ'
  rec.ip_code = '100'
  rec.basic_pension_number1 = '1234'
  rec.basic_pension_number2 = '567890'
  rec.birth_at = Date.new(1984, 7, 23)
  rec.zip_code1 = '123'
  rec.zip_code2 = '4567'
  rec.new_address_yomi = 'トウキョウトシブヤクサクラガオカ'
  rec.new_address = '東京都渋谷区桜丘'
  rec.updated_at = Date.new(2017, 3, 7)
  rec.ip_name_yomi = 'タナカ タロウ'
  rec.ip_name = '田中 太郎'
  rec.old_address_yomi = 'トウキョウトオオタクウノキ'
  rec.old_address = '東京都大田区鵜の木'
  rec.memo = 'メモメモ'
end

address_record.valid? #=> true

address_record.ip_name_yomi = 'タナカタロウ'
address_record.valid? #=> false
address_record.errors #=> 略

CSV 生成用フォーム

require 'kirico'
require 'i18n'
I18n.locale = :ja

# FD 管理用レコード
fd = Kirico::FDManagementRecord.new do |rec|
  rec.area_code = '03'
  # ...
end

company = Kirico::Company.new do |rec|
  rec.area_code = '03'
  # ...
end

address_record = Kirico::ChangingAddressRecord.new do |rec|
  rec.area_code = '03'
  # ...
end

form = Kirico::Form.new(fd: fd, company: company, records: [address_record])
form.valid? #=> true

# CSV ファイルの生成
File.open(Kirico::Form::FILE_NAME, 'w') do |f|
  f.puts(form.to_csv)
end

生成した CSV の検証

日本年金機構の公開している検証プログラムで生成した CSV ファイルを検証することもできます。 ※動作には Windows 環境が必要となります

kirico-logo

検証プログラムのダウンロードはこちらから。 電子申請を利用中の方へ|日本年金機構

対応手続き

データレコード クラス名 実装状況
資格取得届データレコード Kirico::DataRecord22007041
資格喪失届データレコード Kirico::DataRecord22017041
住所変更届データレコード Kirico::DataRecord22187041
算定基礎届データレコード Kirico::DataRecord2225700
月額変更届データレコード Kirico::DataRecord2221700
賞与支払届データレコード Kirico::DataRecord2265700
被扶養者(異動)届データレコード Kirico::DataRecord22027051
3号関係届(資格取得)データレコード Kirico::DataRecord52805011
3号関係届(資格喪失)データレコード Kirico::DataRecord52805021
3号関係届(死亡)データレコード Kirico::DataRecord52805031
国民年金第3号被保険者
被扶養配偶者非該当届データレコード
Kirico::DataRecord52811001

※実装状況について

  • ◯: 実装、テスト済み
  • △: 実装予定

参考リンク

Contributing

  1. Fork it ( https://github.com/kufu/kirico/fork )
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create a new Pull Request

Code of Conduct

Everyone interacting in the kirico project’s codebases, issue trackers, chat rooms and mailing lists is expected to follow the code of conduct.

Copyright

Copyright (c) 2023 SmartHR, Inc. ライセンスはこちら: kirico/LICENSE.md

SmartHR について

kirico は株式会社 SmartHR によってメンテナンス、開発が行われています。 わたしたちは OSS の力を信じています。

SmartHR では OSS 活動に積極的なエンジニアを募集しています!

「雇用」×「国のAPI」をハックする Ruby エンジニア募集!

kirico について

切子(kirico)とは江戸時代末期より生産されている伝統的なガラス細工です。 中でも薩摩切子は薩摩藩御用達の工芸品であり、多くの大名に珍重されてきました。 色付きの厚いガラスを被せ文様を彫るため、薄く繊細な江戸切子と比較すると、重厚な印象が特徴的です。 幕末の動乱の中で生産設備に壊滅的な被害を受け、その技術は一時途絶えていましたが、 近年、各地の職人の努力により復刻に成功しました。

About

A Ruby implementation of 届書作成プログラム

Topics

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published