さて、会社を設立し、かつフリーランスとしてエンジニアをはじめてはや2ヶ月が経とうとしている。
細かいことはマネフォとかフリーでやれやって話だけど、でも、コマンドラインの住人としては、ちょっと、ざっくり所得税に当たりをつけられるような簡単なスクリプトを作りたかった。
そして、作った
#!/usr/bin/env python3.9
import re
import sys
help = """
taxcalc [売上額] [経費]
"""
if(len(sys.argv) < 3):
print(help)
sys.exit()
amount = int(sys.argv[1])
expenses = int(sys.argv[2])
expense_rate = expenses / amount * 100
def translate(amount):
amount_str = ""
counter=0
for x in str(int(amount))[::-1]:
amount_str += x
counter = counter + 1
if(counter == 4):
amount_str += ","
counter = 0
amount_str = re.sub('\,$', '' ,amount_str)
return amount_str[::-1]
print(f"\n売上: {translate(amount)}")
print(f"経費: {translate(expenses)}")
print(f"経費率: {translate(expense_rate)}%")
if(expense_rate > 60):
print("================================")
print("\nちょ、おま、脱税?\n")
print("================================")
income_tax = 0
def calc(amount, rate, deduction_amount):
return int(amount * rate / 100 - deduction_amount)
def calculate_income_tax(amount):
if(amount < 1_950_000): return calc(amount, 5, 0)
if(amount < 3_300_000): return calc(amount, 10, 97_500)
if(amount < 6_950_000): return calc(amount, 20, 427_500)
if(amount < 9_000_000): return calc(amount, 23, 636_000)
if(amount < 18_000_000): return calc(amount, 33, 1_536_000)
if(amount < 40_000_000): return calc(amount, 40, 2_790_000)
return calc(amount, 45, 4_796_000)
print("所得税: " + translate(calculate_income_tax(amount - expenses)))
print("")
所得税は特定のレンジにレートをかけて、控除額を引けば出るように計算されているから、これで3ヶ月分の売り上げに対する所得税を計算してみたら20万くらいになった。
確定申告までにはだいたい70万ちょっとに膨れ上がるので、やっぱり経費は偉大だな〜と思いました・・・(経費は4割こえるとちょっと臭くなってきますが、そこまでいかなければ立派な節税になる、というのもこのスクリプトを動かしていて実際に思いました)
本当はRustとかelixirとかで作りたかったけどpythonで楽をしてしまうというぐうたらぶり・・・
次こそはがんばります・・・・
てなわけで!
漫画を描いています!
アマゾン:https://www.amazon.co.jp/dp/B092RCQTCG/ref=cm_sw_em_r_mt_dp_GG4ZNV74SYACTV1JWY0Z
ニコニコ漫画:https://seiga.nicovideo.jp/comic/53126
ツイッター: http://twitter.com/suganomanga
よしくうううううううううう
No comments:
Post a Comment