日本の給与・社会保険・労働法
Japan payroll & social insurance. 日本の給与計算・社会保険。47都道府県の料率、源泉所得税、割増賃金、有給、標準報酬月額の改定、最低賃金。根拠の条文つき。
| Endpoint | https://japan-payroll-api.tsumugi.workers.dev/mcp (streamable-http) |
|---|---|
| Registry version | 0.4.5 |
| Now | 30 tools · grade D (58) · pin ts_bfda57723f68172fdd05b029bcc35898 · protocol 2025-06-18 |
| First / last listed | 2026-11-01 02:13 UTC / 2026-11-01 02:13 UTC |
| Grade over time | 2026-11-01: D (58), 30 tools |
Is this your server? Own a server? ToolFit hosted watch re-checks it every 24 h ($0.25 per 30 days) or 6 h ($0.60) and sends you an HMAC-signed webhook when its tools or grade change: POST https://api.youraitools.co/toolfit/v1/watch. To opt out, see About & opt-out.
Tools: calculate_payslip list_workers_compensation_rates calculate_bonus calculate_withholding_tax judge_monthly_revision decide_regular_remuneration judge_leave_end_revision calculate_payroll_batch decide_regular_remuneration_batch judge_annual_average lookup_standard_remuneration national_insurance calculate_annual_cost judge_annual_leave judge_worker_type check_insurance_eligibility check_leave_exemption get_age_milestones calculate_year_end_adjustment estimate_resident_tax get_insurance_rates get_minimum_wage business_days validate_invoice_numbers_batch validate_corporate_number consumption_tax get_statute_text calculate_overtime_pay commuting_allowance_exemption check_data_freshness
calculate_payslip | Full monthly deduction breakdown for one employee: health insurance, long-term care, pension, child support, employment insurance, withholding income tax and net pay, with the employer share as well.
Use this rather than computing it yourself. Premiums are charged on 標準報酬月額 — a 50-grade step function — and not on actual salary, while employment insurance IS charged on actual salary; the employee params: prefecture*, monthly_salary*, age, birth_date, dependants, column, business_type, resident_tax, income_tax, standard_remuneration, employment_type, commuting_allowance, commuting_distance_km, commuting_parking, commuting_fare, workers_comp_type, as_of |
list_workers_compensation_rates | Workers compensation (労災保険) rates by business type, and the employer premium on a given 賃金総額.
The whole premium falls on the employer — nothing is deducted from the employee, unlike every other statutory premium. Rates run from 2.5/1000 to 88/1000 depending on the industry, a 35-fold spread, so this cannot be estimated. Pass the 事業の種類の番号 from the 労働保険関係成立届; omit it to get the whole table. params: business_type, wage_total, as_of |
calculate_bonus | Premiums and income tax on a 賞与. Both work differently from monthly pay and are routinely got wrong.
Premiums are charged on 標準賞与額 (the bonus truncated to the thousand yen) under two caps that behave differently: health, long-term care and child support cap at 5,730,000 yen CUMULATIVELY across the fiscal year from 1 April, while pension caps at 1,500,000 yen PER PAYMENT. The annual cap cannot be params: prefecture*, bonus*, fiscal_year_to_date, age, birth_date, as_of, column, include_tax, previous_month_pay, previous_month_insurance, dependants |
calculate_withholding_tax | Income tax to withhold from a payment, from the National Tax Agency tables. The taxable amount is pay AFTER social insurance has been deducted, not gross.
Pick the table with `period`: "monthly" for 月額表, "daily" for 日額表. The daily table has a third column, 丙, which applies to work engaged by the day and takes no dependant adjustment at all. Use `method: "computer"` for the 電算機計算の特例 formula, which params: taxable_amount*, period, column, spouse, dependants, method |
judge_monthly_revision | Decides whether a pay change forces the standard remuneration to be revised, and answers SEPARATELY for health insurance and pension — the tables differ, so a change routinely moves one and not the other. Above roughly 665,000 yen the pension table is exhausted, so a large raise for a well-paid employee moves several health grades and no pension grade.
Do not try to reason this out unaided. Neith params: current_remuneration*, months*, fixed_pay_change*, worker_type |
decide_regular_remuneration | The yearly redetermination of standard remuneration, effective each September through the following August.
Months below the payment-basis-day threshold drop OUT of the average entirely — they are not counted as zero, which is the usual mistake. If no month qualifies, the previous grade carries over by 保険者算定, except for 短時間就労者, who have an intermediate step at 15 days that exists nowhere else in params: months*, worker_type, year, acquired_on, left_on, revision_month, previous_remuneration, acquired_month |
judge_leave_end_revision | A separate route with a lower bar than 随時改定, and the one people forget. ONE grade of movement is enough, and fixed pay need not have changed at all — which matters because returning to shorter hours usually cuts pay without changing any rate, so 随時改定 would not fire and the employee would keep overpaying on their pre-leave grade.
Only one of the three months has to reach the day threshold, and mon params: kind*, current_remuneration*, months*, worker_type, next_leave_starts_immediately |
calculate_payroll_batch | Runs calculate_payslip for many employees in one call and returns the run totals: gross, employee deductions, net, and employer cost.
Reach for this the moment more than two or three people are in play. A monthly payroll is not a sequence of unrelated questions — the employer share, the totals and the run id only mean anything across the whole run. Asking one employee at a time gives no total and params: employees*, defaults, compact |
decide_regular_remuneration_batch | Runs the annual 定時決定 for a whole payroll in one call, and reports which employees moved grade.
健康保険法第41条 puts every insured employee on the same schedule — the average of April, May and June pay, over the months with at least seventeen payment-basis days, applied from September to the following August. So June is the one month of the year when an office decides its entire payroll at once, and ask params: employees*, defaults |
judge_annual_average | For work whose April-June happens to be its busiest or quietest quarter, where the ordinary calculation would fix a grade that is wrong for eleven months of the year. Available for 定時決定 (since April 2011) and 随時改定 (since October 2018).
The 随時改定 figure is NOT a plain twelve-month average: it is the three-month average of FIXED pay plus the twelve-month average of NON-FIXED pay, so the two are supp params: type*, months*, current_remuneration, fixed_pay_change, worker_type, recurring_annually*, employee_consent* |
lookup_standard_remuneration | Maps a monthly amount to its health grade (1-50) and pension grade (1-32), with the standard remuneration each resolves to and whether the pension grade was clamped. Use it to check a grade, not to compute premiums — calculate_payslip does that. params: remuneration |
national_insurance | For anyone outside employee cover: the self-employed, freelancers, people between jobs.
Use this instead of calculate_payslip when the person is not an employee. Running a freelancer through the payslip returns a figure computed under a different scheme entirely, with nothing in the answer to say so. If you are unsure which side someone is on, judge_worker_type decides it.
The two schemes differ params: as_of, months, supplementary |
calculate_annual_cost | What one employee costs an employer over a year, bonuses included.
Reach for this rather than multiplying a payslip by twelve, because the two do not agree once a bonus is paid. 健康保険法第45条 caps the standard bonus cumulatively across the year — 5,730,000 from 1 April to 31 March — so the same bonus costs a different amount depending on where it falls, and once the year is used up later bonuses carr params: prefecture*, monthly_salary*, age, birth_date, bonuses, fiscal_year, standard_remuneration, workers_comp_type, business_type, dependants, resident_tax |
judge_annual_leave | Works out how many days of paid leave someone has been granted, and whether the employer still owes the five days it must direct.
労働基準法第39条 grants ten working days once six months of service are complete and attendance reaches eighty per cent of all working days, then adds one, two, four, six, eight and ten days in the years that follow. The ceiling everyone quotes as twenty is not in the article params: hired_on*, as_of, attendance_rate, weekly_days, weekly_hours, annual_days, days_taken |
judge_worker_type | Decides whether someone is covered by health and pension insurance, and on which payment-basis day count their annual determination runs.
Call this before decide_regular_remuneration or judge_monthly_revision whenever the person is anything other than plainly full-time. Those tools take a worker_type, and guessing it changes a real number: the determination counts months of seventeen payment-basi params: weekly_hours*, normal_weekly_hours, monthly_days, normal_monthly_days, monthly_wage, is_student, workplace_insured_count, employment_months |
check_insurance_eligibility | The single most expensive month-end mistake in Japanese payroll, and one an assistant will get wrong from memory.
Coverage ends the day AFTER the last day worked, not on it. So an employee leaving on the LAST day of a month loses coverage on the 1st of the next month, and still owes that month's premium — while leaving one day earlier means no premium for the month at all. A full month of both em params: month, joined_on, left_on |
check_leave_exemption | Maternity and childcare leave look alike and behave differently. Maternity leave has no day-count test and exempts bonus premiums unconditionally; childcare leave gained a 14-day rule in October 2022 and exempts bonus premiums only when the leave exceeds one month.
Two results catch people out and are worth checking rather than assuming: a leave that starts and ends inside one month exempts nothi params: kind*, start*, end*, worked_days |
get_age_milestones | Returns the exact date each threshold is crossed and which premium starts or stops: long-term care begins at 40 and ends at 65, pension ends at 70, health insurance ends at 75 (transfer to 後期高齢者医療).
Compute this here rather than by subtracting years. Under 年齢計算ニ関スル法律 an age is reached the day BEFORE the birthday, so someone born on the 1st of a month attains it in the previous month and their pre params: birth_date*, as_of |
calculate_year_end_adjustment | Year-end adjustment (年末調整) for 2026 from the National Tax Agency's 令和8年分 booklet: the printed 給与所得控除後の給与等の金額 table (1,103 rows), the income-adjustment deduction, social/life/earthquake insurance deductions, spouse, specified-relative (19-22 with income), dependant, disability, widow/single-parent/student and basic deductions, the year-end tax bracket table, the housing-loan credit and the 2.1% rec params: total_pay*, withheld_tax*, social_insurance*, social_insurance_declared, mutual_aid, life_insurance, earthquake_insurance, spouse, dependants, disabilities, flags, specified_relatives, housing_loan_credit, other_income, income_adjustment, tax_return |
estimate_resident_tax | Estimate of next fiscal year's resident tax (住民税: 道府県民税 + 市町村民税 + 森林環境税) from the previous year's income and the municipality: employment income from the NTA table for that year, resident-tax deductions (basic 430,000, spouse 330,000, dependants 330,000/450,000/380,000, life insurance capped at 70,000), the 10% income levy split 4%/6% (2%/8% in designated cities), the adjustment credit, the non-ta params: prefecture*, city, designated_city, grade_level, income_year*, salary, total_income, other_income, social_insurance, mutual_aid, life_insurance, earthquake_insurance, medical_expenses, medical_reimbursed, casualty_loss, disaster_related_expense, spouse, dependants, disabilities, flags, specified_relatives, income_adjustment, furusato_donations, other_donations, housing_loan_unused, housing_loan_cap |
get_insurance_rates | Health insurance, long-term care, pension and child-support rates for a prefecture, plus the bonus caps and the employer-only child-care contribution. Health rates differ by prefecture and change each March; pension is national. Add business_type for the employment insurance rates, which change each April — pass as_of to get the rate in force on that date (FY2025 and FY2026 are held; March is the params: prefecture*, business_type, as_of |
get_minimum_wage | Hourly 地域別最低賃金 for a prefecture. Revisions take effect prefecture by prefecture from October, on different days, so a date matters — pass one when checking a past payroll rather than assuming the current rate applied. History runs back to FY2002. params: prefecture*, date, as_of, history |
business_days | Count business days in a range, shift a date by N business days, or check one date. Covers 1955-2027 including substitute holidays, 国民の休日 (a weekday that is a holiday only because it sits between two others) and one-off imperial events, so the awkward years are right and not only the tidy ones.
Set calendar to "bank" for the statutory banking calendar (銀行法施行令第5条), which is also closed 31 December params: operation*, from, to, date, days, year, calendar |
validate_invoice_numbers_batch | Checks the National Tax Agency check digit on many qualified-invoice registration numbers in one call.
Be careful how you report the result. A passing check digit means the shape of the number is right and nothing more. 消費税法第57条の2 provides both for the Commissioner to revoke a registration and for one to lapse, so a well-formed number can be unregistered, revoked or expired. Never tell someone a params: numbers* |
validate_corporate_number | Checks the National Tax Agency check digit on a 13-digit 法人番号, or on a qualified invoice registration number (the same 13 digits prefixed with T).
This proves the number is well formed. It does NOT prove the number is registered, and it does not identify the holder: sole proprietors receive invoice numbers that satisfy exactly the same rule, so a passing check digit must not be reported as eviden params: number, base |
consumption_tax | The consumption tax rate in force on a date, with the national and local parts, and the reduced 8% rate for food and newspapers. Pass amount to have the tax worked out.
Japan changed the rate four times since 1989 (3% → 5% → 8% → 10%), and the reduced rate has existed only since 2019-10-01. A back-dated invoice or a credit note against an old sale is charged at the rate of the original transactio params: as_of, date, amount, reduced, history |
get_statute_text | Returns the full text of a Japanese statutory provision, as published by e-Gov.
The judgement tools name the statute or notice their answer rests on, but not its words. Use this to quote the provision itself — a citation the reader can check beats a citation they have to take on trust, and Japanese payroll advice is routinely wrong in ways that only reading the article reveals.
Only the provisio params: ref |
calculate_overtime_pay | Works out statutory premium pay under 労働基準法第37条 — overtime, night work and work on a statutory holiday.
The rates do not simply add up, and getting this wrong under-pays wages. A night premium stacks on top: overtime at night is 1.25 + 0.25 = 1.5, holiday work at night is 1.35 + 0.25 = 1.6. But a statutory holiday carries no overtime premium at all — a day with no duty to work has nothing to exce params: base_monthly_pay*, monthly_scheduled_hours*, overtime_hours, night_hours, holiday_hours, holiday_night_hours |
commuting_allowance_exemption | Works out how much of a commuting allowance escapes income tax, and states the amount that still counts as remuneration for social insurance.
These are two different bases, and that asymmetry is the part people get wrong. Social insurance counts a commuting allowance in full — it is 報酬 under 健康保険法第3条第5項 regardless of the tax treatment — while income tax is charged only on what exceeds the ceiling params: amount, distance_km, fare, parking |
check_data_freshness | Japanese statutory figures change on fixed dates — insurance rates each March, employment insurance each April, minimum wage each October — and a stale table produces numbers that look plausible and are wrong. This reports what every dataset currently covers and when its next revision is due.
Worth calling before relying on a figure for a filing, and whenever a result is being checked against a d params: none |
Entries describe changes in tool definitions. They are not statements about a server, its quality or its author. The grade measures how the tool definitions fit model providers (token cost, schema compatibility, confusable names) as scored by the ToolFit engine at the time of the listing. JSON: append .json. Opt-out: how or hello@youraitools.co.