income-tax
npx skills add https://github.com/kazukinagata/shinkoku --skill income-tax
Agent 安装分布
Skill 文档
æå¾ç¨è¨ç®ï¼Income Tax Calculationï¼
äºæ¥æå¾ã»å種æ§é¤ããæå¾ç¨é¡ãè¨ç®ããã¹ãã«ã
settlement ã¹ãã«ã§æ±ºç®æ¸ã®ä½æãå®äºãã¦ãããã¨ãåæã¨ããã
è¨ç®çµæã¯ /e-tax ã¹ãã«ï¼Claude in Chromeï¼ã§ç¢ºå®ç³åæ¸ç使ã³ã¼ãã¼ã«å
¥åããã
è¨å®ã®èªã¿è¾¼ã¿ï¼æåã«å®è¡ï¼
shinkoku.config.yamlã Read ãã¼ã«ã§èªã¿è¾¼ã- ãã¡ã¤ã«ãåå¨ããªãå ´åã¯
/setupã¹ãã«ã®å®è¡ãæ¡å ãã¦çµäºãã - è¨å®å¤ãææ¡ããç¸å¯¾ãã¹ã¯ CWD ãåºæºã«çµ¶å¯¾ãã¹ã«å¤æãã:
db_path: CLI ã¹ã¯ãªããã®--db-path弿°ã«ä½¿ç¨output_dir: 鲿ãã¡ã¤ã«çã®åºåå ãã¼ã¹ãã£ã¬ã¯ããª- åãã£ã¬ã¯ããª: ãã¡ã¤ã«åç §æã«ä½¿ç¨
ãã¹è§£æ±ºã®ä¾
config ã® db_path ã ./shinkoku.db ã§ CWD ã /home/user/tax-2025/ ã®å ´å:
shinkoku tax calc-income --input /home/user/tax-2025/output/income_input.json
鲿æ å ±ã®èªã¿è¾¼ã¿
è¨å®ã®èªã¿è¾¼ã¿å¾ãå¼ç¶æ¸ãã¡ã¤ã«ãèªã¿è¾¼ãã§åã¹ãããã®çµæãææ¡ããã
.shinkoku/progress/progress-summary.mdã Read ãã¼ã«ã§èªã¿è¾¼ãï¼åå¨ããå ´åï¼- 以ä¸ã®å¼ç¶æ¸ã Read ãã¼ã«ã§èªã¿è¾¼ãï¼åå¨ããå ´åï¼:
.shinkoku/progress/06-settlement.md.shinkoku/progress/02-assess.md.shinkoku/progress/05-furusato.md
- èªã¿è¾¼ãã æ å ±ã以éã®ã¹ãããã§æ´»ç¨ããï¼ã¦ã¼ã¶ã¼ã¸ã®å質åãé¿ããï¼
- ãã¡ã¤ã«ãåå¨ããªãå ´åã¯ã¹ãããããã¦ã¼ã¶ã¼ã«å¿ è¦æ å ±ãç´æ¥ç¢ºèªãã
åºæ¬æ¹é
- settlement ã¹ãã«ã§éè²ç³åæ±ºç®æ¸ã宿ãã¦ããã確èªãã¦ããéå§ãã
- æå¾ã®è¨ç® â æ§é¤ã®è¨ç® â ç¨é¡ã®è¨ç® ã®é åºã§é²ãã
- åã¹ãããã®è¨ç®çµæãã¦ã¼ã¶ã¼ã«æç¤ºãã確èªãå¾ã
- references/form-b-fields.md ã®åæ¬ã«æ£ããå¤ãè¨å®ãã
- 端æ°å¦çã«ã¼ã«ãå³å®ãã:
- èª²ç¨æå¾: 1,000åæªæºåæ¨ã¦ï¼å½ç¨éåæ³118æ¡ï¼
- 復èç¹å¥æå¾ç¨: 1åæªæºåæ¨ã¦ï¼å¾©è財æºç¢ºä¿æ³13æ¡ï¼
- 㺠æå¾ç¨åã³å¾©èç¹å¥æå¾ç¨ã®é¡: 端æ°å¦çãªã
- ç³åç´ç¨é¡ï¼ç´ä»ã®å ´åã®ã¿ï¼: 100åæªæºåæ¨ã¦ï¼å½ç¨éåæ³119æ¡ï¼
- éä»é: 1ååä½ã»åæ¨ã¦ãªãï¼å½ç¨éåæ³120æ¡ï¼
åææ¡ä»¶ã®ç¢ºèª
æå¾ç¨è¨ç®ãéå§ããåã«ä»¥ä¸ã確èªãã:
- éè²ç³åæ±ºç®æ¸ã宿ãã¦ããã: settlement ã¹ãã«ã®åºåã確èªãã
- ç´ç¨è
ãããã¡ã¤ã«ã®èªã¿è¾¼ã¿:
skills/setup/scripts/profile.py get-taxpayerã§ config ããç´ç¨è æ å ±ãåå¾ãã- æ°åã»ä½æã»ç¨åç½²å â 確å®ç³åæ¸ç使ã³ã¼ãã¼ã¸ã®å ¥åã«ä½¿ç¨
- 寡婦/ã²ã¨ã親ã»é害è ã»å¤å´å¦çã®ç¶æ â äººçæ§é¤ã®è¨ç®ã«ä½¿ç¨
- äºæ¥æå¾ä»¥å¤ã®æå¾: çµ¦ä¸æå¾ã»éæå¾ã»é 彿å¾ã»ä¸ææå¾çãããå ´åã¯æ å ±ãåéãã
- æºæ³å¾´å票: çµ¦ä¸æå¾ãããå ´åã¯åãè¾¼ã¿ãæ¡å ãã
- å種æ§é¤ã®é©ç¨ç¶æ³: é©ç¨å¯è½ãªæ§é¤ãç¶²ç¾ çã«ç¢ºèªãã
- äºå®ç´ç¨é¡: assess ã§ç¢ºèªæ¸ã¿ã®äºå®ç´ç¨é¡ãåå¾ãã
- æªç¢ºèªã®å ´åã¯ãåå¹´ã®ç¢ºå®ç³åæ¸ï¼ãºæ¬ï¼ããå¤å®ãã
- äºå®ç´ç¨é¡ã¯æºæ³å¾´åç¨é¡ã¨ã¯å¥ã«ç®¡çãã
- åé¢èª²ç¨ã®ç¢ºèª: æ ªå¼ã»FX ã®åé¢èª²ç¨ï¼ç¬¬ä¸è¡¨ï¼ã¯å¯¾è±¡å¤ã該å½ããå ´åã¯ç¨ç士ã¸ã®ç¸è«ãæ¡å ãã
å¿ é 確èªãã§ãã¯ãªã¹ãï¼ã¹ãããä¸å¯ï¼
æå¾ç¨è¨ç®ãéå§ããåã«ã以ä¸ã®é ç®ããã¹ã¦ç¢ºèªæ¸ã¿ã§ãããã¨ãæ¤è¨¼ããã configã»å¼ç¶æ¸ã«è¨è¼ããªãé ç®ã¯ãã¦ã¼ã¶ã¼ã«ç´æ¥ç¢ºèªãã¦ããå ã«é²ãã
- å®¶ææ§æ: é
å¶è
ã®æç¡ã»æ¶é¤è¦ªæã®æç¡ãç¢ºèªæ¸ã¿ãï¼
- æªç¢ºèª â ã¦ã¼ã¶ã¼ã«ç¢ºèªããã¹ããã1.5 ã§è©³ç´°ãç»é²ãã
- ç¢ºèªæ¸ã¿ï¼è©²å½ãªãï¼â ã¹ããã1.5 ãã¹ãããå¯
- ä½å®
ãã¼ã³æ§é¤: é©ç¨æç¡ãç¢ºèªæ¸ã¿ãï¼
- æªç¢ºèª â ã¦ã¼ã¶ã¼ã«ç¢ºèªãã
- é©ç¨ããï¼å年度ï¼â ã¹ããã3.7 ã§æç´°æ¸ã使ãã
- äºå®ç´ç¨: æç¡ã»éé¡ãç¢ºèªæ¸ã¿ãï¼
- æªç¢ºèª â åå¹´ã®ç¢ºå®ç³åæ¸ï¼ãºæ¬ï¼ããå¤å®ããããã¦ã¼ã¶ã¼ã«ç¢ºèªãã
- é顿ªç¢ºå® â
estimated_tax_paymentãã©ã¡ã¼ã¿ã«æ£ããå¤ãè¨å®ã§ããã¾ã§é²ã¾ãªã
ã¹ããã1: æºæ³å¾´å票ã®åãè¾¼ã¿
çµ¦ä¸æå¾ãããå ´åãæºæ³å¾´å票ãããã¼ã¿ãåãè¾¼ãã
import_data.py import-withholding ã®å¼ã³åºã
shinkoku import import-withholding --input withholding_input.json
å ¥å JSON:
{
"file_path": "path/to/withholding_slip.pdf"
}
åºå:
{
"payer_name": "æ¯æè
å",
"payment_amount": 5000000,
"deduction_amount": 3560000,
"income_tax_withheld": 100000,
"social_insurance": 700000,
"life_insurance": 50000,
"spouse_deduction": 0
}
ç»åãã¡ã¤ã«ã®å ´å: OCR èªã¿åã
extracted_text ã空ã®å ´åï¼ç»åãã¡ã¤ã«ã¾ãã¯ã¹ãã£ã³ PDFï¼ãç»åã®èªã¿åã㯠/reading-withholding ã¹ãã«ã使ç¨ããã
ã¹ãã«ã®æç¤ºã«å¾ãããã¥ã¢ã«æ¤è¨¼ï¼2ã¤ã®ç¬ç«ããèªã¿åãçµæã®ç
§åï¼ãè¡ã£ã¦çµæãåå¾ããã
çµæç
§å: 両æ¹ã®èªã¿åãçµæãã payment_amount, withheld_tax, social_insurance ãæ¯è¼ãã
ä¸è´ã®å ´å: ãã®ã¾ã¾æ¡ç¨ãã2ã¤ã®ç¬ç«ããèªã¿åãã§çµæãä¸è´ãã¾ãããã¨å ±å
ä¸ä¸è´ã®å ´å: ã¦ã¼ã¶ã¼ã«å ç»åãã¹ã¨ä¸¡æ¹ã®çµæãæç¤ºããæ£ããæ¹ã鏿ãã¦ããã:
- å·®ç°ã®ãããã£ã¼ã«ããæç¤ºãã
- A ãæ¡ç¨ / B ãæ¡ç¨ / æåå ¥å ã®3æã AskUserQuestion ã§æç¤ºãã
åãè¾¼ã¿å¾ã®æ¤ç®ï¼å¿ é ï¼:
OCR çµæã®æ´åæ§ãæ¤è¨¼ããããããæå¾æ§é¤ã®é¡ã®åè¨é¡ãã¨åå 訳ã®åè¨ãç §åãã:
æ¤ç®: æå¾æ§é¤ã®é¡ã®åè¨é¡ â 社ä¼ä¿éºæçã®éé¡ â å°è¦æ¨¡ä¼æ¥å
±æ¸çæéãå«ãï¼å
æ°ï¼
+ çå½ä¿éºæã®æ§é¤é¡
+ å°éä¿éºæã®æ§é¤é¡
+ é
å¶è
ï¼ç¹å¥ï¼æ§é¤ã®é¡
+ æ¶é¤æ§é¤é¡ â 人æ°Ãå価ããç®åºï¼ç¹å®63ä¸/è人48ä¸or58ä¸/ãã®ä»38ä¸ï¼
+ é害è
æ§é¤ â 人æ°Ãå価ããç®åºï¼ä¸è¬27ä¸/ç¹å¥40ä¸/åå±
ç¹å¥75ä¸ï¼
+ 寡婦æ§é¤ï¼27ä¸ï¼ã¾ãã¯ã²ã¨ã親æ§é¤ï¼35ä¸ï¼ â è©²å½æ
+ å¤å´å¦çæ§é¤ï¼27ä¸ï¼ â è©²å½æ
+ åºç¤æ§é¤ã®é¡ â æºæ³å¾´å票ã®è¨è¼é¡ã使ç¨ãæªè¨è¼ãªãæå¾ã¨å¹´åº¦ããç®åº
注æ:
-
ãï¼ãã¡å°è¦æ¨¡ä¼æ¥å ±æ¸çæéã®é¡ï¼ãã¯ç¤¾ä¼ä¿éºæçã®éé¡ã®å æ°ãå¥éå ç®ããã¨äºéè¨ä¸ã«ãªã
-
æ¶é¤æ§é¤ã»éå®³è æ§é¤ã¯é顿¬ã§ã¯ãªãäººæ°æ¬ã§è¨è¼ãããããã人æ°Ãå価ã§ç®åºãã
-
åºç¤æ§é¤ã®é¡ã¯æºæ³å¾´å票ã«è¨è¼ãããã°ãã®å¤ã使ããæªè¨è¼ã®å ´åã¯åè¨æå¾ã¨å¹´åº¦ã«å¿ãã¦ç®åºããï¼ä»¤å7ã»8å¹´ã¯ç¹ä¾å ç®ããã令å9年以éã¯ä¸å¾58ä¸ï¼
-
ä¸è´ã®å ´å: åãã£ã¼ã«ãã® OCR 精度ã確èªã§ãããã®ã¨ãã¦æ¡ç¨ãã
-
ä¸ä¸è´ã®å ´å: å·®é¡ãæç¤ºããã©ã®ãã£ã¼ã«ãã誤èªã®å¯è½æ§ããããã¦ã¼ã¶ã¼ã«æç¤ºãããå ç»åã¨çªãåããã¦ä¿®æ£ãã
ãã®ä»ã®ç¢ºèªäºé :
- è¤æ°ã®å¤åå ãããå ´åã¯å社åãåãè¾¼ã
- å¹´æ«èª¿æ´æ¸ã¿ã®æ§é¤ã確èªããè¿½å æ§é¤ã®æç¡ãå¤å®ãã
ã¹ããã1.5: æ¶é¤è¦ªæã»é å¶è æ å ±ã®ç¢ºèª
æå¾æ§é¤ã®è¨ç®åã«ãæ¶é¤è¦ªæã®æ å ±ãåéããã ã¾ã DB ã«ç»é²æ¸ã¿ã®ãã¼ã¿ã確èªããä¸è¶³ãããã°è¿½å å ¥åããã
DB ããã®èªã¿è¾¼ã¿
ledger.py get-spouse --db-path DB_PATHã§é å¶è æ å ±ãåå¾ããï¼ç»é²æ¸ã¿ã®å ´åï¼ledger.py list-dependents --db-path DB_PATHã§æ¶é¤è¦ªæã®ãªã¹ããåå¾ããï¼ç»é²æ¸ã¿ã®å ´åï¼
æªç»é²ã®å ´åã®ç¢ºèªé ç®
-
é å¶è : é å¶è ã®æç¡ã¨å¹´éæå¾éé¡ã確èªãã
- æå¾48ä¸åä»¥ä¸ â é å¶è æ§é¤ï¼38ä¸åï¼
- æå¾48ä¸åè¶ 133ä¸åä»¥ä¸ â é å¶è ç¹å¥æ§é¤ï¼æ®µéçï¼
- ç´ç¨è ã®æå¾ã1,000ä¸åè¶ â é å¶è æ§é¤ãªã
- 確èªå¾
ledger.py set-spouse --db-path DB_PATH --input spouse.jsonã§ DB ã«ç»é²ãã
-
æ¶é¤è¦ªæ: 以ä¸ã®æ å ±ãåéãã
- æ°åãç¶æãçå¹´ææ¥ãå¹´éæå¾ãéå®³ã®æç¡ãåå± ã®æç¡
- 16æ³æªæº: æ¶é¤æ§é¤ãªãï¼å ç«¥æå½å¯¾è±¡ï¼
- 16æ³ä»¥ä¸: ä¸è¬æ¶é¤38ä¸å
- 19æ³ä»¥ä¸23æ³æªæº: ç¹å®æ¶é¤63ä¸å
- 70æ³ä»¥ä¸: è人æ¶é¤48ä¸åï¼åå± 58ä¸åï¼
- 確èªå¾
ledger.py add-dependent --db-path DB_PATH --input dependent.jsonã§å人ã DB ã«ç»é²ãã
-
ãã¤ãã³ãã¼ã®åéï¼ç³åæ¸B第äºè¡¨ã«è¨è¼ãå¿ è¦ï¼:
- é å¶è ã®ãã¤ãã³ãã¼ï¼12æ¡ï¼
- æ¶é¤è¦ªæï¼16æ³ä»¥ä¸ï¼å ¨å¡ã®ãã¤ãã³ãã¼
- 16æ³æªæºã®åä¾ã®ãã¤ãã³ãã¼ï¼ä½æ°ç¨ã«é¢ããäºé ã®è¨è¼ã«å¿ è¦ï¼
- åæ±æ³¨æ: DB ã«ä¿åãããããã¼ã«åºåããã°ã«ã¯è¡¨ç¤ºããªã
-
äºæ¥å°å¾è ã®ç¢ºèª:
- é å¶è ãéè²äºæ¥å°å¾è ã¨ãã¦çµ¦ä¸ãåãã¦ããå ´å â é å¶è æ§é¤ã®å¯¾è±¡å¤
- æ¶é¤è¦ªæãéè²äºæ¥å°å¾è ã»ç½è²äºæ¥å°å¾è ã®å ´å â æ¶é¤æ§é¤ã®å¯¾è±¡å¤
- 該å½ããå ´åã¯æ§é¤è¨ç®ããé¤å¤ããã¦ã¼ã¶ã¼ã«æç¤ºãã
-
éå®³è æ§é¤: æ¶é¤è¦ªæã«é害ãããå ´å
- ä¸è¬é害è : 27ä¸åãç¹å¥é害è : 40ä¸åãåå± ç¹å¥é害è : 75ä¸å
éè¦: 16æ³æªæºã®æ¶é¤è¦ªæãå¿ ãç»é²ãã
16æ³æªæºã®åä¾ã¯æ¶é¤æ§é¤ã®å¯¾è±¡å¤ã ãã以ä¸ã®çç±ã§ç³åæ¸ã¸ã®è¨è¼ãå¿ è¦:
- 使°ç¨ã®é課ç¨é度é¡ã®å¤å®ï¼æ¶é¤äººæ°ã«16æ³æªæºãå«ãï¼
- 使°ç¨ã®åçå²ã®é課ç¨å¤å®
- ç³åæ¸B第äºè¡¨ã使°ç¨ã«é¢ããäºé – 16æ³æªæºã®æ¶é¤è¦ªæãæ¬ã¸ã®è¨è¼
ledger.py add-dependent ã§ç»é²ããéã16æ³æªæºã§ãã¹ãããããã«ç»é²ãããã¨ã
ã¹ããã1.6: iDeCoã»å°è¦æ¨¡ä¼æ¥å ±æ¸ã®ç¢ºèª
æéæè¾¼è¨¼ææ¸ãããå ´å㯠import_data.py import-deduction-certificate ã§åãè¾¼ããã¨ãã§ããã
- iDeCoï¼å人åç¢ºå®æ åºå¹´éï¼ã®å¹´éæéã確èªãã
- å°è¦æ¨¡ä¼æ¥å ±æ¸çæéæè¾¼è¨¼ææ¸ããéé¡ã確èª
- å ¨é¡ãæå¾æ§é¤ï¼ä¸é: èªå¶æ¥è ã¯å¹´é¡81.6ä¸åï¼
- å°è¦æ¨¡ä¼æ¥å ±æ¸ã®æéãããå ´åãåæ§ã«ç¢ºèªãã
ç»åãã¡ã¤ã«ã®å ´å: OCR èªã¿åã
extracted_text ã空ã®å ´åï¼ç»åãã¡ã¤ã«ã¾ãã¯ã¹ãã£ã³ PDFï¼ãç»åã®èªã¿åã㯠/reading-deduction-cert ã¹ãã«ã使ç¨ããã
ã¹ãã«ã®æç¤ºã«å¾ãããã¥ã¢ã«æ¤è¨¼ï¼2ã¤ã®ç¬ç«ããèªã¿åãçµæã®ç
§åï¼ãè¡ã£ã¦çµæãåå¾ããã
çµæç
§å: 両æ¹ã®èªã¿åãçµæãã annual_premium, certificate_type ãæ¯è¼ãã
ä¸è´ã®å ´å: ãã®ã¾ã¾æ¡ç¨ãã2ã¤ã®ç¬ç«ããèªã¿åãã§çµæãä¸è´ãã¾ãããã¨å ±å
ä¸ä¸è´ã®å ´å: ã¦ã¼ã¶ã¼ã«å ç»åãã¹ã¨ä¸¡æ¹ã®çµæãæç¤ºããæ£ããæ¹ã鏿ãã¦ããã:
- å·®ç°ã®ãããã£ã¼ã«ããæç¤ºãã
- A ãæ¡ç¨ / B ãæ¡ç¨ / æåå ¥å ã®3æã AskUserQuestion ã§æç¤ºãã
ã¹ããã1.7: å»çè²»æç´°ã®éè¨
å»çè²»æ§é¤ãé©ç¨ããå ´åãæç´°ãéè¨ããã
å»çè²»ã®ç»é²ã»éè¨
ledger.py list-medical-expenses --db-path DB_PATH --input query.jsonã§ç»é²æ¸ã¿å»çè²»æç´°ãåå¾ãã- æªç»é²ã®å»çè²»ãããå ´åã¯
ledger.py add-medical-expense --db-path DB_PATH --input medical.jsonã§ç»é²ãã:{ "fiscal_year": 2025, "detail": { "date": "2025-03-15", "patient_name": "å±±ç°å¤ªé", "medical_institution": "ABCç é¢", "amount": 150000, "insurance_reimbursement": 0, "description": null } } - éè¨çµæï¼total_amount – total_reimbursementï¼ãå»çè²»æ§é¤ã®è¨ç®ã«ä½¿ç¨ãã
ã¹ããã1.8: äºæ¥æå¾ã®æºæ³å¾´åï¼æ¯æèª¿æ¸ï¼
åå¼å ããåãåã£ãæ¯æèª¿æ¸ã®æ å ±ãç»é²ããã
æ¯æèª¿æ¸ã®åãè¾¼ã¿
import_data.py import-payment-statement --input payment_input.jsonã§æ¯æèª¿æ¸PDF/ç»åãããã¼ã¿ãæ½åºãã
ç»åãã¡ã¤ã«ã®å ´å: OCR èªã¿åã
extracted_text ã空ã®å ´åï¼ç»åãã¡ã¤ã«ã¾ãã¯ã¹ãã£ã³ PDFï¼ãç»åã®èªã¿åã㯠/reading-payment-statement ã¹ãã«ã使ç¨ããã
ã¹ãã«ã®æç¤ºã«å¾ãããã¥ã¢ã«æ¤è¨¼ï¼2ã¤ã®ç¬ç«ããèªã¿åãçµæã®ç
§åï¼ãè¡ã£ã¦çµæãåå¾ããã
çµæç
§å: 両æ¹ã®èªã¿åãçµæãã gross_amount, withholding_tax, payer_name ãæ¯è¼ãã
ä¸è´ã®å ´å: ãã®ã¾ã¾æ¡ç¨ãã2ã¤ã®ç¬ç«ããèªã¿åãã§çµæãä¸è´ãã¾ãããã¨å ±å
ä¸ä¸è´ã®å ´å: ã¦ã¼ã¶ã¼ã«å ç»åãã¹ã¨ä¸¡æ¹ã®çµæãæç¤ºããæ£ããæ¹ã鏿ãã¦ããã:
- å·®ç°ã®ãããã£ã¼ã«ããæç¤ºãã
- A ãæ¡ç¨ / B ãæ¡ç¨ / æåå ¥å ã®3æã AskUserQuestion ã§æç¤ºãã
ledger.py add-business-withholding --db-path DB_PATH --input withholding.jsonã§åå¼å å¥ã®æºæ³å¾´åæ å ±ãç»é²ãã:{ "fiscal_year": 2025, "detail": { "client_name": "åå¼å å", "gross_amount": 1000000, "withholding_tax": 102100 } }ledger.py list-business-withholding --db-path DB_PATH --input query.jsonã§ç»é²æ¸ã¿æ å ±ã確èªãã- æºæ³å¾´åç¨é¡ã®åè¨ã
business_withheld_taxã¨ãã¦æå¾ç¨è¨ç®ã«ä½¿ç¨ãã
ã¹ããã1.8.5: ç¨ç士çå ±é ¬ã®ç»é²
ç¨ç士ã»å¼è·å£«çã«å ±é ¬ãæ¯æã£ã¦ããå ´åãå ±é ¬æç´°ãç»é²ããã
ledger.py list-professional-fees --db-path DB_PATH --input query.jsonã§ç»é²æ¸ã¿ã®ç¨ç士çå ±é ¬ã確èªãã- æªç»é²ã®å ´åã¯
ledger.py add-professional-fee --db-path DB_PATH --input fee.jsonã§ç»é²ãã:{ "fiscal_year": 2025, "detail": { "payer_address": "æ¯æè 使", "payer_name": "ç¨ç士å", "fee_amount": 300000, "expense_deduction": 0, "withheld_tax": 30630 } } - æºæ³å¾´åç¨é¡ã¯
business_withheld_taxã«åç®ãã
ã¹ããã1.9: æå¤±ç¹°è¶ã®ç¢ºèª
å年以åã«äºæ¥ã§æå¤±ãçºçããéè²ç³åãã¦ããå ´åãç¹°è¶æ§é¤ãé©ç¨ã§ããã
ledger.py list-loss-carryforward --db-path DB_PATH --input query.jsonã§ç»é²æ¸ã¿ã®ç¹°è¶æå¤±ã確èªãã- æªç»é²ã®å ´åã¯
ledger.py add-loss-carryforward --db-path DB_PATH --input loss.jsonã§ç»é²ãã:{ "fiscal_year": 2025, "detail": { "loss_year": 2023, "amount": 500000 } } - ç¹°è¶æå¤±ã®åè¨ã
loss_carryforward_amountã¨ãã¦æå¾ç¨è¨ç®ã«ä½¿ç¨ãã
ã¹ããã1.10: ãã®ä»ã®æå¾ã®ç¢ºèªï¼éæå¾ã»é 彿å¾ã»ä¸ææå¾ã»å¹´éæå¾ã»éè·æå¾ï¼
äºæ¥æå¾ã»çµ¦ä¸æå¾ä»¥å¤ã®ç·å課ç¨ã®æå¾ã確èªã»ç»é²ããã
å ¬çå¹´éçã®éæå¾
å ¬çå¹´éçã®åå ¥ãããå ´åãå¹´éæ§é¤ãè¨ç®ãã¦éæå¾ãæ±ããã
- å¹´éåå ¥ã®æç¡ã確èªãã
skills/income-tax/scripts/tax_calc.py calc-pensionã§å ¬çå¹´éçæ§é¤ãè¨ç®ãã:
å ¥å JSON:shinkoku tax calc-pension --input pension_input.json
åºå:{ "pension_income": 2000000, "is_over_65": true, "other_income": 0 }{ "pension_income": 2000000, "deduction_amount": 1100000, "taxable_pension_income": 900000, "other_income_adjustment": 0 }taxable_pension_incomeãéæå¾ã¨ãã¦misc_incomeã«å ç®ãã- 令å7å¹´æ¹æ£: 65æ³æªæºã®æä½ä¿éé¡60ä¸â70ä¸ã65æ³ä»¥ä¸ã®æä½ä¿éé¡110ä¸â130ä¸
éè·æå¾
éè·éãåãåã£ãå ´åãéè·æå¾ãè¨ç®ããã
- éè·éã®æç¡ã確èªãã
skills/income-tax/scripts/tax_calc.py calc-retirementã§éè·æå¾ãè¨ç®ãã:
å ¥å JSON:shinkoku tax calc-retirement --input retirement_input.json
åºå:{ "severance_pay": 10000000, "years_of_service": 20, "is_officer": false, "is_disability_retirement": false }{ "severance_pay": 10000000, "retirement_income_deduction": 8000000, "taxable_retirement_income": 1000000, "half_taxation_applied": true }- éè·æå¾ã¯åååé¢èª²ç¨ï¼éè·æã«æºæ³å¾´åæ¸ã¿ï¼ã ãã確å®ç³åã§ç²¾ç®ããå ´åããã
- å½¹å¡çã®çæéè·ï¼å¤ç¶5年以ä¸ï¼ã¯1/2課ç¨ãé©ç¨ãããªã
éæå¾ï¼miscellaneousï¼
坿¥ã®å稿æãæå·è³ç£ã®å£²å´çããã®ä»ã®éåå ¥ã
ledger.py list-other-income --db-path DB_PATH --input query.jsonã§ç»é²æ¸ã¿éæå¾ã確èªãã- æªç»é²ã®åå
¥ãããå ´åã¯
ledger.py add-other-income --db-path DB_PATH --input other_income.jsonã§ç»é²ãã:{ "fiscal_year": 2025, "detail": { "income_type": "miscellaneous", "description": "åå ¥ã®å 容", "revenue": 500000, "expenses": 50000, "withheld_tax": 51050, "payer_name": "æ¯æè å" } } - éæå¾ = åå ¥ – çµè²»ï¼ç¹å¥æ§é¤ãªãï¼
ä»®æ³éè²¨ï¼æå·è³ç£ï¼
æå·è³ç£ã®å£²å´çã¯éæå¾ï¼ç·å課ç¨ï¼ã¨ãã¦ç³åããã
ledger.py list-crypto-income --db-path DB_PATH --input query.jsonã§ç»é²æ¸ã¿ä»®æ³é貨æå¾ã確èªãã- æªç»é²ã®å ´åã¯
ledger.py add-crypto-income --db-path DB_PATH --input crypto.jsonã§å弿å¥ã«ç»é²ãã:{ "fiscal_year": 2025, "detail": { "exchange_name": "å弿å", "gains": 300000, "expenses": 10000 } } - åè¨ãéæå¾ã¨ã㦠total_income ã«å ç®ãã
é 彿å¾ï¼ç·å課ç¨é¸æåï¼
ç·å課ç¨ã鏿ããé å½ã¯é 彿§é¤ï¼ç¨é¡æ§é¤ï¼ã®å¯¾è±¡ã¨ãªãã
ledger.py list-other-income --db-path DB_PATH --input query.jsonã§income_type: "dividend_comprehensive"ã確èªãã- æªç»é²ã®å ´åã¯
ledger.py add-other-income --db-path DB_PATH --input dividend.jsonã§ç»é²ãã - é 彿§é¤: èª²ç¨æå¾1,000ä¸ä»¥ä¸ã®é¨å â é å½ã®10%ãè¶ ããé¨å â 5%
䏿æå¾
ä¿éºæºæéãæ¸è³éçã®ä¸æçãªæå¾ã
ledger.py list-other-income --db-path DB_PATH --input query.jsonã§income_type: "one_time"ã確èªãã- æªç»é²ã®å ´åã¯
ledger.py add-other-income --db-path DB_PATH --input one_time.jsonã§ç»é²ãã - 䏿æå¾ = max(0, (åå ¥ – çµè²» – ç¹å¥æ§é¤50ä¸å)) à 1/2
calc_income_tax ã¸ã®åæ
ä¸è¨ã®ãã®ä»æå¾ã¯ä»¥ä¸ã®ãã©ã¡ã¼ã¿ã§ calc_income_tax ã«æ¸¡ã:
misc_income: éæå¾åè¨ï¼ä»®æ³é貨å«ãï¼dividend_income_comprehensive: é 彿å¾ï¼ç·å課ç¨é¸æåï¼one_time_income: 䏿æå¾ã®åå ¥éé¡ï¼1/2 è¨ç®ã¯å é¨ã§å®æ½ï¼other_income_withheld_tax: ãã®ä»æå¾ã®æºæ³å¾´åç¨é¡åè¨
ã¹ããã1.11: ï¼å¯¾è±¡å¤ï¼åé¢èª²ç¨
åé¢èª²ç¨ï¼æ ªå¼ã»FX ã®ç¬¬ä¸è¡¨ï¼ã¯å¯¾è±¡å¤ã該å½ããå ´åã¯ç¨ç士ã¸ã®ç¸è«ãæ¡å ããã
ã¹ããã1.12: 社ä¼ä¿éºæã®ç¨®å¥å¥å 訳ã®ç»é²
æå¾æ§é¤ã®å 訳æ¸ã«ç¨®å¥ãã¨ã®è¨è¼ãå¿ è¦ãªããã社ä¼ä¿éºæã種å¥å¥ã«ç»é²ããã
社ä¼ä¿éºæã®æ§é¤è¨¼ææ¸ãããå ´å㯠import_data.py import-deduction-certificate ã§åãè¾¼ããã¨ãã§ããã
ledger.py list-social-insurance-items --db-path DB_PATH --input query.jsonã§ç»é²æ¸ã¿é ç®ã確èªãã- æªç»é²ã®å ´åã¯
ledger.py add-social-insurance-item --db-path DB_PATH --input insurance.jsonã§ç¨®å¥ãã¨ã«ç»é²ãã:
insurance_type: national_health / national_pension / national_pension_fund / nursing_care / labor_insurance / other{ "fiscal_year": 2025, "detail": { "insurance_type": "national_health", "name": "ä¿éºè å", "amount": 300000 } } - åè¨é¡ã
social_insuranceã¨ãã¦æ§é¤è¨ç®ã«ä½¿ç¨ãã
ã¹ããã1.13: ä¿éºå¥ç´ã®ä¿éºä¼ç¤¾åã®ç»é²
æå¾æ§é¤ã®å 訳æ¸ã«ä¿éºä¼ç¤¾åã®è¨è¼ãå¿ è¦ãªãããä¿éºå¥ç´ãç»é²ããã
æ§é¤è¨¼ææ¸ã®ç»åã»PDFãããå ´å㯠import_data.py import-deduction-certificate ã§åãè¾¼ããã¨ãã§ããã
åãè¾¼ã¿å¾ãæ½åºãã¼ã¿ã«åºã¥ã㦠ledger.py add-insurance-policy ã§ç»é²ããã
ledger.py list-insurance-policies --db-path DB_PATH --input query.jsonã§ç»é²æ¸ã¿é ç®ã確èªãã- æªç»é²ã®å ´åã¯
ledger.py add-insurance-policy --db-path DB_PATH --input policy.jsonã§ç»é²ãã:
policy_type: life_general_new / life_general_old / life_medical_care / life_annuity_new / life_annuity_old / earthquake / old_long_term{ "fiscal_year": 2025, "detail": { "policy_type": "life_general_new", "company_name": "ä¿éºä¼ç¤¾å", "premium": 80000 } } - çå½ä¿éºæã¯
life_insurance_detailãã©ã¡ã¼ã¿ã«ãå°éä¿éºæã¯earthquake_insurance_premiumã«åæ ãã
ã¹ããã1.14: ãµããã¨ç´ç¨ä»¥å¤ã®å¯ééã®ç¢ºèª
æ¿æ²»æ´»åå¯ééãèªå®NPOæ³äººãå ¬çç¤¾å£æ³äººçã¸ã®å¯ééã確èªããã
ledger.py list-donations --db-path DB_PATH --input query.jsonã§ç»é²æ¸ã¿å¯ééã確èªãã- æªç»é²ã®å ´åã¯
ledger.py add-donation --db-path DB_PATH --input donation.jsonã§ç»é²ãã:
donation_type: political / npo / public_interest / specified / other{ "fiscal_year": 2025, "detail": { "donation_type": "npo", "recipient_name": "å¯éå å", "amount": 50000, "date": "2025-06-01", "receipt_number": null } } - å¯ééæ§é¤ã®è¨ç®:
- æå¾æ§é¤: å ¨å¯éé – 2,000åï¼ç·æå¾éé¡ã®40%ä¸éï¼
- ç¨é¡æ§é¤ï¼æ¿æ²»æ´»åå¯ééï¼: (å¯éé – 2,000å) à 30%ï¼æå¾ç¨é¡ã®25%ä¸éï¼
- ç¨é¡æ§é¤ï¼èªå®NPOçï¼: (å¯éé – 2,000å) à 40%ï¼æå¾ç¨é¡ã®25%ä¸éï¼
calc_deductionsã®donationsãã©ã¡ã¼ã¿ã«å¯ééã¬ã³ã¼ãã®ãªã¹ããæ¸¡ã
ã¹ããã2: æå¾æ§é¤ã®è¨ç®
tax_calc.py calc-deductions ã®å¼ã³åºã
shinkoku tax calc-deductions --input deductions_input.json
å ¥å JSON:
{
"total_income": 5000000,
"social_insurance": 700000,
"life_insurance_premium": 80000,
"earthquake_insurance_premium": 30000,
"medical_expenses": 200000,
"furusato_nozei": 50000,
"housing_loan_balance": 0,
"spouse_income": null,
"ideco_contribution": 276000,
"dependents": [],
"fiscal_year": 2025,
"housing_loan_detail": null,
"donations": null
}
åºå (DeductionsResult):
income_deductions: æå¾æ§é¤ã®ä¸è¦§ï¼basic_deduction, social_insurance_deduction, life_insurance_deduction, earthquake_insurance_deduction, ideco_deduction, medical_deduction, furusato_deduction, donation_deduction, spouse_deduction, dependent_deduction, disability_deductionï¼tax_credits: ç¨é¡æ§é¤ã®ä¸è¦§ï¼housing_loan_credit, political_donation_credit, npo_donation_creditï¼total_income_deductions: æå¾æ§é¤åè¨total_tax_credits: ç¨é¡æ§é¤åè¨
åæ§é¤ã®ç¢ºèªäºé :
- åºç¤æ§é¤: åè¨æå¾éé¡ã«å¿ããæ®µéçæ§é¤ï¼ä»¤å7å¹´åã®æ¹æ£ãåæ ã132ä¸ä»¥ä¸=95ä¸ï¼
- 社ä¼ä¿éºææ§é¤: 彿°å¹´éã»å½æ°å¥åº·ä¿éºã»ãã®ä»ã®å¹´éæ¯æé¡
- çå½ä¿éºææ§é¤: æ°æ§å¶åº¦ à 3åºåï¼ä¸è¬/ä»è·å»ç/å人年éï¼ã§è¨ç®ãã
life_insurance_detailãã©ã¡ã¼ã¿ã§5åºåã®ä¿éºæãæå®:general_new: ä¸è¬ï¼æ°å¶åº¦ï¼ãgeneral_old: ä¸è¬ï¼æ§å¶åº¦ï¼medical_care: ä»è·å»çï¼æ°å¶åº¦ã®ã¿ï¼annuity_new: å人年éï¼æ°å¶åº¦ï¼ãannuity_old: å人年éï¼æ§å¶åº¦ï¼
- ååºåã®ä¸é: æ°å¶åº¦ 40,000å / æ§å¶åº¦ 50,000å / åç®ä¸é 40,000å
- 3åºååè¨ã®ä¸é: 120,000å
- æºæ³å¾´å票ã«çå½ä¿éºæ5åºåã®è¨è¼ãããå ´åã¯ãã®ã¾ã¾ä½¿ç¨ãã
- å°éä¿éºææ§é¤: å°éä¿éºï¼ä¸é5ä¸åï¼+ æ§é·ææå®³ä¿éºï¼ä¸é1.5ä¸åï¼ãåç®ä¸é5ä¸å
old_long_term_insurance_premiumãã©ã¡ã¼ã¿ã§æ§é·ææå®³ä¿éºæãæå®å¯è½
- å°è¦æ¨¡ä¼æ¥å
±æ¸çæéæ§é¤: 3ãµãã¿ã¤ãåå¥è¿½è·¡
- iDeCoï¼å人åç¢ºå®æ åºå¹´éï¼
- å°è¦æ¨¡ä¼æ¥å ±æ¸
- å¿èº«éå®³è æ¶é¤å ±æ¸
small_business_mutual_aidãã©ã¡ã¼ã¿ã§å°è¦æ¨¡ä¼æ¥å ±æ¸æéãæå®
- å»çè²»æ§é¤: æ¯æé¡ããä¿éºéçã®è£å¡«é¡ãå·®ãå¼ãã10ä¸åï¼ã¾ãã¯æå¾ã®5%ï¼ãè¶
ããé¨å
- ã»ã«ãã¡ãã£ã±ã¼ã·ã§ã³ç¨å¶ã¨ã®é¸æé©ç¨: OTCå»è¬åã®è³¼å ¥é¡ – 12,000åï¼ä¸é 88,000åï¼
- å»çè²»æ§é¤ã¨ã»ã«ãã¡ãã£ã±ã¼ã·ã§ã³ã¯ä½µç¨ä¸å¯ãæå©ãªæ¹ã鏿ãã
- é å¶è æ§é¤/ç¹å¥æ§é¤: é å¶è ã®æå¾ã«å¿ãã¦æ®µéçã«æ§é¤é¡ãå¤å
- æ¶é¤æ§é¤: å¹´é½¢åºåã«å¿ããæ§é¤é¡ï¼ä¸è¬38ä¸/ç¹å®63ä¸/è人48ä¸or58ä¸ï¼
- éå®³è æ§é¤: é害ã®ç¨åº¦ã«å¿ããæ§é¤é¡
- äººçæ§é¤ï¼config ã®ç´ç¨è
æ
å ±ããèªåå¤å®ï¼:
- 寡婦æ§é¤: 27ä¸åï¼æå¾500ä¸ä»¥ä¸ï¼
- ã²ã¨ã親æ§é¤: 35ä¸åï¼æå¾500ä¸ä»¥ä¸ï¼
- éå®³è æ§é¤ï¼æ¬äººï¼: ä¸è¬ 27ä¸å / ç¹å¥ 40ä¸å
- å¤å´å¦çæ§é¤: 27ä¸åï¼æå¾75ä¸ä»¥ä¸ï¼
- ãµããã¨ç´ç¨: å¯éé â 2,000åï¼ç¢ºå®ç³åã§ã¯ã¯ã³ã¹ãããç¹ä¾åãå«ããï¼
- ä½å® ãã¼ã³æ§é¤: ä½å® åºåå¥ã®å¹´æ«æ®é«ä¸éã¨æ§é¤ç0.7%ï¼ä»¤å4年以éå ¥å± ï¼
ã¹ããã3: æå¾ç¨é¡ã®è¨ç®
tax_calc.py calc-income ã®å¼ã³åºã
shinkoku tax calc-income --input income_input.json
å ¥å JSON (IncomeTaxInput):
{
"fiscal_year": 2025,
"salary_income": 5000000,
"business_revenue": 3000000,
"business_expenses": 1000000,
"blue_return_deduction": 650000,
"social_insurance": 700000,
"life_insurance_premium": 80000,
"earthquake_insurance_premium": 30000,
"medical_expenses": 0,
"furusato_nozei": 50000,
"housing_loan_balance": 0,
"spouse_income": null,
"ideco_contribution": 276000,
"withheld_tax": 100000,
"business_withheld_tax": 30000,
"estimated_tax_payment": 0,
"loss_carryforward_amount": 0
}
åºå (IncomeTaxResult):
salary_income_after_deduction: çµ¦ä¸æå¾æ§é¤å¾ã®éé¡business_income: äºæ¥æå¾total_income: åè¨æå¾éé¡ï¼ç¹°è¶æå¤±é©ç¨å¾ï¼total_income_deductions: æå¾æ§é¤åè¨taxable_income: èª²ç¨æå¾éé¡ï¼1,000åæªæºåãæ¨ã¦ï¼income_tax_base: ç®åºç¨é¡total_tax_credits: ç¨é¡æ§é¤åè¨income_tax_after_credits: ç¨é¡æ§é¤å¾reconstruction_tax: 復èç¹å¥æå¾ç¨ï¼åºæºæå¾ç¨é¡ x 2.1%ï¼total_tax: æå¾ç¨åã³å¾©èç¹å¥æå¾ç¨ã®é¡ï¼ç«¯æ°å¦çãªãï¼withheld_tax: æºæ³å¾´åç¨é¡ï¼çµ¦ä¸åï¼business_withheld_tax: äºæ¥æå¾ã®æºæ³å¾´åç¨é¡estimated_tax_payment: äºå®ç´ç¨é¡loss_carryforward_applied: é©ç¨ããç¹°è¶æå¤±é¡tax_due: ç³åç´ç¨é¡ï¼= total_tax – withheld_tax – business_withheld_tax – estimated_tax_paymentï¼
å¯ééæ§é¤ã®åæ :
ãµããã¨ç´ç¨ä»¥å¤ã®å¯ééæ§é¤ï¼ã¹ããã1.14ã§ç»é²ï¼ã¯ãcalc_deductions ã®çµæã«å«ã¾ãã¦ããã
calc_income_tax ã¯å
é¨ã§ calc_deductions ãå¼ã³åºãããã以ä¸ã®ãã©ã¡ã¼ã¿ãæ£ããæ¸¡ããã¦ããã°èªåçã«åæ ããã:
furusato_nozei: ãµããã¨ç´ç¨ã®å¯ééåè¨- æ¿æ²»æ´»åå¯ééã»èªå®NPOçã®ç¨é¡æ§é¤ã¯
calc_deductionsã®donationsãã©ã¡ã¼ã¿çµç±ã§è¨ç®ããã
æå¾ç¨è¨ç®åã« calc_deductions ãåå¥ã«å¼ã³åºãå ´åã¯ãdonations ãã©ã¡ã¼ã¿ã«ã¹ããã1.14ã§ç»é²ããå¯ééã¬ã³ã¼ãã®ãªã¹ããå¿
ãæ¸¡ããã¨ã
éè²ç³åç¹å¥æ§é¤ã®èªåãã£ãã:
blue_return_deduction 㯠config ã®å¤ããã®ã¾ã¾æ¸¡ãã¦ãããè¨ç®ã¨ã³ã¸ã³ãäºæ¥å©çãä¸éã¨ãã¦èªåãã£ããããï¼ç§ç¹æ³25æ¡ã®2ï¼ã
çµæã® effective_blue_return_deduction 㨠warnings ãå¿
ã確èªãããã¨ã
è¨ç®çµæã®ç¢ºèª:
- åè¨æå¾éé¡ã®å 訳ã表示ãã
effective_blue_return_deductionã確èªããèªå調æ´ãããã°warningsã®å 容ã表示ãã- ç¹°è¶æå¤±ãé©ç¨ããã¦ããå ´åã¯ãã®é¡ãæç¤ºãã
- æå¾ç¨ã®éç®è¡¨ã®é©ç¨ãæ£ããã確èªãã
- 復èç¹å¥æå¾ç¨ãæ£ããå ç®ããã¦ããã確èªãã
- æºæ³å¾´åç¨é¡ï¼çµ¦ä¸å + äºæ¥åï¼ãæ£ããæ§é¤ããã¦ããã確èªãã
- äºå®ç´ç¨é¡ãæ£ããæ§é¤ããã¦ããã確èªãã
- æçµçãªç´ä»é¡ï¼ã¾ãã¯éä»é¡ï¼ãæç¤ºãã
æå¾ç¨ã®éç®è¡¨ã»é
å¶è
æ§é¤ãã¼ãã«ã»ä½å®
ãã¼ã³é度é¡ç㯠references/deduction-tables.md ãåç
§ã
ã¹ããã3.1: ãµããã£ãã§ãã¯ï¼å¿ é ï¼
calc-income ã®çµæãèªåæ¤è¨¼ããããã®ã¹ãããã¯ã¹ãããä¸å¯ã
tax_calc.py sanity-check ã®å¼ã³åºã
shinkoku tax sanity-check --input sanity_input.json
å ¥å JSON:
{
"input": { ... },
"result": { ... }
}
input: ã¹ããã3ã§calc-incomeã«æ¸¡ãã IncomeTaxInputresult: ã¹ããã3ã§calc-incomeããè¿ããã IncomeTaxResult
åºå (TaxSanityCheckResult):
passed: true/falseitems: ãã§ãã¯é ç®ã®ãªã¹ãï¼severity, code, messageï¼error_count: ã¨ã©ã¼ä»¶æ°warning_count: è¦åä»¶æ°
çµæã«å¿ãã対å¿
- error > 0: è¨ç®çµæã«åé¡ãããã¾ããã¨ã©ã¼å 容ã確èªããå ¥åãä¿®æ£ãã¦ã¹ããã3ãåå®è¡ãã¦ãã ãã
- warning > 0: è¦åå 容ãã¦ã¼ã¶ã¼ã«æç¤ºãã確èªãã¦ããç¶è¡ãã¦ãã ãã
- passed = true: åé¡ãªããæ¬¡ã®ã¹ãããã«é²ã
ã¹ããã3.5: ä½å® ãã¼ã³æ§é¤æç´°ã® DB ç»é²ï¼è©²å½è ã®ã¿ï¼
ä½å® ãã¼ã³æ§é¤ï¼å年度ï¼ãé©ç¨ããå ´åã詳細æ å ±ã DB ã«ç»é²ããã
ledger.py add-housing-loan-detail --db-path DB_PATH --input housing.jsonã§ä½å® ãã¼ã³æ§é¤ã®æç´°ãç»é²ãã:{ "fiscal_year": 2025, "detail": { "housing_type": "new_custom", "housing_category": "certified", "move_in_date": "2024-03-15", "year_end_balance": 30000000, "is_new_construction": true, "is_childcare_household": false, "has_pre_r6_building_permit": false, "purchase_date": "2024-01-20", "purchase_price": 40000000, "total_floor_area": 8000, "residential_floor_area": 8000, "property_number": null, "application_submitted": false } }
ä½å®
åºåå¥ã®å¹´æ«æ®é«ä¸éãã¼ãã«ã¯ references/deduction-tables.md ãåç
§ã
ã¹ããã6: è¨ç®çµæãµããªã¼ã®æç¤º
ââââââââââââââââââââââââââââââââââ
æå¾ç¨ã®è¨ç®çµæï¼ä»¤åâå¹´åï¼
ââââââââââââââââââââââââââââââââââ
â æå¾éé¡ï¼ç·å課ç¨ï¼
äºæ¥æå¾: âââ,âââå
çµ¦ä¸æå¾: âââ,âââå
éæå¾: âââ,âââåï¼è©²å½è
ã®ã¿ï¼
é
彿å¾: âââ,âââåï¼ç·å課ç¨åã該å½è
ã®ã¿ï¼
䏿æå¾: âââ,âââåï¼è©²å½è
ã®ã¿ï¼
åè¨æå¾éé¡: âââ,âââå
â æå¾æ§é¤
社ä¼ä¿éºææ§é¤: âââ,âââå
çå½ä¿éºææ§é¤: ââ,âââå
åºç¤æ§é¤: 480,000å
[ãã®ä»ã®æ§é¤...]
æå¾æ§é¤åè¨: âââ,âââå
â ç¨é¡è¨ç®
èª²ç¨æå¾éé¡: âââ,âââå
ç®åºç¨é¡: âââ,âââå
ç¨é¡æ§é¤: ââ,âââå
復èç¹å¥æå¾ç¨: â,âââå
æå¾ç¨åã³å¾©èç¹å¥æå¾ç¨: âââ,âââå
æºæ³å¾´åç¨é¡: âââ,âââå
äºå®ç´ç¨é¡: ââ,âââå
---------------------------------
ç³åç´ç¨é¡: ââ,âââåï¼ç´ä» / éä»ï¼
â æ¬¡ã®ã¹ããã:
â /consumption-tax ã§æ¶è²»ç¨ã®è¨ç®ãè¡ã
â /e-tax ã§ç¢ºå®ç³åæ¸ç使ã³ã¼ãã¼ã«å
¥åããï¼Claude in Chromeï¼
â /submit ã§æåºæºåãè¡ã
ââââââââââââââââââââââââââââââââââ
å¼ç¶æ¸ã®åºå
ãµããªã¼æç¤ºå¾ã以ä¸ã®ãã¡ã¤ã«ã Write ãã¼ã«ã§åºåããã ããã«ãããã»ãã·ã§ã³ã®ä¸æã Compact ãçºçãã¦ã次ã®ã¹ãããã§çµæãå¼ãç¶ããã
ã¹ãããå¥ãã¡ã¤ã«ã®åºå
.shinkoku/progress/07-income-tax.md ã«ä»¥ä¸ã®å½¢å¼ã§åºåãã:
---
step: 7
skill: income-tax
status: completed
completed_at: "{彿¥æ¥ä» YYYY-MM-DD}"
fiscal_year: {tax_year}
---
# æå¾ç¨è¨ç®ã»ç¢ºå®ç³åæ¸ä½æã®çµæ
## æå¾éé¡ã®å
訳
- äºæ¥æå¾: {éé¡}å
- çµ¦ä¸æå¾: {éé¡}å
- éæå¾: {éé¡}åï¼è©²å½è
ã®ã¿ãä»®æ³é貨å«ãï¼
- é
彿å¾ï¼ç·å課ç¨ï¼: {éé¡}åï¼è©²å½è
ã®ã¿ï¼
- 䏿æå¾: {éé¡}åï¼è©²å½è
ã®ã¿ï¼
- åè¨æå¾éé¡: {éé¡}å
## æ¶é¤è¦ªæã»é
å¶è
- é
å¶è
æ§é¤/ç¹å¥æ§é¤: {é©ç¨ããï¼æ§é¤é¡ï¼/é©ç¨ãªã}
- æ¶é¤æ§é¤: {é©ç¨ããï¼æ§é¤é¡ã人æ°ï¼/é©ç¨ãªã}
## iDeCoã»å°è¦æ¨¡ä¼æ¥å
±æ¸
- å°è¦æ¨¡ä¼æ¥å
±æ¸çæéæ§é¤: {éé¡}åï¼{iDeCo/å°è¦æ¨¡ä¼æ¥å
±æ¸/ãªã}ï¼
## å»çè²»æ§é¤
- é©ç¨: {ãã/ãªã}
- å»çè²»æ§é¤é¡: {éé¡}å
## äºæ¥æå¾ã®æºæ³å¾´å
- æºæ³å¾´åç¨é¡ï¼äºæ¥åï¼: {éé¡}å
## æå¤±ç¹°è¶æ§é¤
- é©ç¨: {ãã/ãªã}
- ç¹°è¶æå¤±æ§é¤é¡: {éé¡}å
## æå¾æ§é¤ã®å
訳
| æ§é¤é
ç® | éé¡ |
|---------|------|
| åºç¤æ§é¤ | {éé¡}å |
| 社ä¼ä¿éºææ§é¤ | {éé¡}å |
| çå½ä¿éºææ§é¤ | {éé¡}å |
| å°éä¿éºææ§é¤ | {éé¡}å |
| å°è¦æ¨¡ä¼æ¥å
±æ¸çæéæ§é¤ | {éé¡}å |
| å»çè²»æ§é¤ | {éé¡}å |
| å¯ééæ§é¤ | {éé¡}å |
| é
å¶è
æ§é¤/ç¹å¥æ§é¤ | {éé¡}å |
| æ¶é¤æ§é¤ | {éé¡}å |
| é害è
æ§é¤ | {éé¡}å |
| **æå¾æ§é¤åè¨** | **{éé¡}å** |
## ç¨é¡è¨ç®
- èª²ç¨æå¾éé¡: {éé¡}å
- ç®åºç¨é¡: {éé¡}å
- ç¨é¡æ§é¤ï¼ä½å®
ãã¼ã³æ§é¤çï¼: {éé¡}å
- 復èç¹å¥æå¾ç¨: {éé¡}å
- æå¾ç¨åã³å¾©èç¹å¥æå¾ç¨: {éé¡}å
- æºæ³å¾´åç¨é¡ï¼çµ¦ä¸åï¼: {éé¡}å
- æºæ³å¾´åç¨é¡ï¼äºæ¥åï¼: {éé¡}å
- äºå®ç´ç¨é¡: {éé¡}å
- **ç³åç´ç¨é¡: {éé¡}åï¼{ç´ä»/éä»}ï¼**
## 次ã®ã¹ããã
/consumption-tax ã§æ¶è²»ç¨ã®è¨ç®ãè¡ã
/e-tax ã§ç¢ºå®ç³åæ¸ç使ã³ã¼ãã¼ã«å
¥åããï¼Claude in Chromeï¼
/submit ã§æåºæºåãè¡ã
鲿ãµããªã¼ã®æ´æ°
.shinkoku/progress/progress-summary.md ãæ´æ°ããï¼åå¨ããªãå ´åã¯æ°è¦ä½æï¼:
- YAML frontmatter: fiscal_yearãlast_updatedï¼å½æ¥æ¥ä»ï¼ãcurrent_step: income-tax
- ãã¼ãã«: å ¨ã¹ãããã®ç¶æ ãæ´æ°ï¼income-tax ã completed ã«ï¼
- 次ã®ã¹ãããã®æ¡å ãè¨è¼
åºåå¾ã®æ¡å
ãã¡ã¤ã«ãåºåãããã¦ã¼ã¶ã¼ã«ä»¥ä¸ãä¼ãã:
- ãå¼ç¶æ¸ã
.shinkoku/progress/ã«ä¿åãã¾ãããã»ãã·ã§ã³ã䏿ãã¦ã次ã®ã¹ãã«ã§çµæãå¼ãç¶ãã¾ããã - 次ã®ã¹ãããã®æ¡å
Additional Resources
Reference Files
詳細ãªãã¼ãã«ã»ãã©ã¡ã¼ã¿ã¯ä»¥ä¸ãåç §:
references/form-b-fields.mdâ 確å®ç³åæ¸Bæ§å¼ã®åæ¬ã®å¯¾å¿references/deduction-tables.mdâ æå¾ç¨éç®è¡¨ãé å¶è æ§é¤ãã¼ãã«ãåºç¤æ§é¤ãã¼ãã«ãä½å® ãã¼ã³é度é¡ãçå½ä¿éºææ§é¤ç
å 責äºé
- ãã®è¨ç®ã¯ä¸è¬çãªæå¾ç¨ã®è¨ç®ãã¸ãã¯ã«åºã¥ã
- åé¢èª²ç¨ï¼æ ªå¼ã»FXï¼ã¯å¯¾è±¡å¤ â 第ä¸è¡¨ã®è¨ç®ã¯è¡ããªã
- ç½è²ç³åï¼åæ¯å 訳æ¸ï¼ã¯å¯¾è±¡å¤
- ä¸åç£æå¾ãè²æ¸¡æå¾ï¼ä¸åç£å£²å´çï¼ãéè·æå¾ã¯ç¾æç¹ã§æªå¯¾å¿
- æçµçãªç³åå 容ã¯ç¨ç士çã®å°éå®¶ã«ç¢ºèªãããã¨ãæ¨å¥¨ãã