Giter Site home page Giter Site logo

analysissalary's Introduction

analysisSalary

概要

毎月の給与明細の情報を分析・可視化するためのプログラム. 事前(自力で)作成したにyamlファイルを読み込ませ, 毎月の給与額や控除, 残業時間等をグラフによって可視化する(予定).

入力テンプレート

period:
  year:
  month:
kind:
payment:
  items:
  - name:
    amount:
  total:
deduction:
  items:
  - name:
    amount:
  total:
netpayment:
overtime:

period

月を入力

  • period.yaer: 年
  • period.month: 月

sample

period:
  year: 2022
  month: 4

kind

種別を入力.

  • monthly: 月給
  • bonus: 賞与(ボーナス)

sample

kind: monthly

payment

支給項目, 支給合計額を入力.

  • payment.items: 支給項目を入力.
    • payment.items.name: 項目名.
    • payment.items.amount: 項目の金額.
  • payment.total: 支給合計額.

sample

payment:
  items:
  - name: "職能給"
    amount: 200000
  - name: "非課税交通費"
    amount: 10000
  - name: "超過勤務手当"
    amount: 33000
 total: 243000

deduction

控除項目, 控除合計額を入力

  • deduction.items: 控除項目を入力.
    • deduction.items.name: 項目名.
    • deduction.items.amount: 項目の金額.
  • deduction.total: 控除合計額.

sample

deduction:
  items:
  - name: "健康保険"
    amount: 12000
  - name: "厚生年金"
    amount: 1300
  - name: "雇用保険"
    amount: 1400
  - name: "所得税"
    amount: 5000
  - name: "住民税"
    amount: 14000
  total: 33700

netpayment

純支給額.

sample

netpayment: 209300

(optional) overtime

月の超過勤務時間(h). kind: monthlyの場合のみ必要.

sample

overtime: 33

analysissalary's People

Contributors

y-sera avatar

Watchers

 avatar

analysissalary's Issues

グラフレポート作成

下記グラフを含むレポート(画像ファイル)を出力する.

  • 月ごとの支給額, 控除額, 手取り額の推移(折れ線: 全期間)
  • 月ごとの超過勤務時間の推移(折れ線: 全期間)
  • 月ごとの支給額内訳(積み上げ棒グラフ: 全期間)
  • 月ごとの控除額内訳(積み上げ棒グラフ: 全期間)
  • ボーナスの支給額内訳(積み上げ棒グラフ: 全期間)
  • ボーナスの控除額内訳(積み上げ棒グラフ: 全期間)
  • ボーナス(支給額, 控除額, 手取り額)の推移(全期間)

場合によっては下記も追加

  • 今年一年の支給額内訳(積み上げ棒グラフ)
  • 今年一年の超過勤務時間の推移(折れ線)
  • 今年一年の支給額, 控除額, 手取り額の推移(折れ線)
  • 今年一年の控除額内訳(積み上げ棒グラフ)
  • 全期間の支給額平均, 控除額平均, 手取り平均
  • 今年度の支給額平均, 控除額平均, 手取り平均

入力用yamlファイル金額整合性チェックプログラム作成

入力用のyamlファイルの金額の整合性が取れているか確認するプログラムを作成する.

  • 支給額の詳細の合計(payment.items[amount]の和)と合計値(payment.total)が一致すること
  • 控除額の詳細の合計(deduction.items[amount]の和)と合計値(deduction.total)が一致すること
  • 手取り額(netpayment)と支給額(payment.total)と控除額(deduiction.total)の差が一致すること

すべての期間をまとめたデータフレーム作成

kind=monthlyの下記の項目について, inputした月をインデックスとしたデータフレームを作成する.

  • payment(支給額)
  • deduction(控除額)
  • netpayment(手取り額)
  • overtime(超過勤務時間)

支給額, 控除額, 手取り額, 超過勤務時間について, 月ごとにそれぞれグラフ化しやすくするため.

入力ファイルの引数化

入力するyamlファイルを、プロンプトの引数で読み込むようにする。(デフォルト値はsalary.yamlとする)

./salary.py <inpufile>

Payslipクラスのメンバ変数のdataframe化

現在, Payslipクラスのメンバ変数はdict(辞書)型である.
グラフプロット等に活用しやすくするため, pandas提供のdataframe型(インデックス付きの2次元データ)へ変更する.

想定タスク

  • pandasのインポート
  • payment.itemsのデータフレーム化
  • deduction.itemsのデータフレーム化

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.