{
  "$comment": "Machine-readable companion to https://valem.run/calculators/japan/self-employed. Formula, inputs, outputs, engine-verified test vectors, cited sources and the re-runnable Valem ModelSpec behind the page.",
  "url": "https://valem.run/calculators/japan/self-employed",
  "dataUrl": "https://valem.run/calculators/japan/self-employed.json",
  "license": {
    "name": "CC BY 4.0",
    "url": "https://creativecommons.org/licenses/by/4.0/",
    "attribution": "Japan 個人事業主 model by Valem (https://valem.run/calculators/japan/self-employed), CC BY 4.0.",
    "note": "Covers the model — the expression of each rule and the arrangement of the catalog. The rates and thresholds themselves are law and are not licensed by anyone; the cited sources are where they come from."
  },
  "verificationUrl": "https://valem.run/calculators/japan/self-employed/verify",
  "country": "japan",
  "countryName": "Japan",
  "formula": "self-employed",
  "formulaName": "個人事業主",
  "title": "個人事業主 手取り — Japan Freelancer Tax",
  "answer": "Your net income as a Japanese sole proprietor is business income minus the flat national pension premium, national income tax after the 650,000 yen blue-return deduction and the basic deduction, and resident tax at 10%.",
  "lang": "en",
  "currency": "JPY",
  "taxYear": "2026",
  "verification": {
    "claim": "shape-only",
    "statement": "The rates in this model are illustrative. Its 3 self-test cases confirm the engine reproduces the shape of the charge, but the schedule is not the official one, so the amount will not match a real bill. The cited sources name the document that would replace it.",
    "selfTestCases": 3,
    "ratesAreIllustrative": true,
    "sourcesCheckedOn": "2026-08-22"
  },
  "sources": [
    {
      "label": "国税庁 — 所得税の税率および青色申告特別控除",
      "url": "https://www.nta.go.jp/taxes/shiraberu/taxanswer/shotoku/2260.htm",
      "checked": "2026-08-22"
    },
    {
      "label": "2026年度（令和8年度）国民年金保険料 月額17,920円",
      "url": "https://www.kigyou-keiei.jp/column/2026/04/13_284250.html",
      "checked": "2026-08-22"
    }
  ],
  "terminalOutput": "netIncome",
  "inputs": [
    {
      "name": "annualBusinessIncome",
      "type": "number",
      "label": "Annual business income after expenses (JPY)",
      "minimum": 0
    }
  ],
  "outputs": [
    {
      "name": "nationalPension",
      "type": "number",
      "label": "National pension",
      "format": "number",
      "formula": "$round($const.pensionMonthly * 12, 2)"
    },
    {
      "name": "afterBlueReturn",
      "type": "number",
      "formula": "$round($max([0, annualBusinessIncome - $const.blueReturnDeduction]), 2)"
    },
    {
      "name": "taxableIncome",
      "type": "number",
      "formula": "$round($max([0, afterBlueReturn - $const.basicDeduction - nationalPension]), 2)"
    },
    {
      "name": "incomeTax",
      "type": "number",
      "label": "Income tax (incl. surtax)",
      "format": "number",
      "formula": "($t := taxableIncome; $round(($const.r1 * $min([$t, $const.b1]) + $const.r2 * $max([0, $min([$t, $const.b2]) - $const.b1]) + $const.r3 * $max([0, $min([$t, $const.b3]) - $const.b2]) + $const.r4 * $max([0, $min([$t, $const.b4]) - $const.b3]) + $const.r5 * $max([0, $min([$t, $const.b5]) - $const.b4]) + $const.r6 * $max([0, $min([$t, $const.b6]) - $const.b5]) + $const.r7 * $max([0, $t - $const.b6])) * (1 + $const.reconstructionRate), 2))"
    },
    {
      "name": "residentTax",
      "type": "number",
      "label": "Resident tax (10%)",
      "format": "number",
      "formula": "$round($const.residentRate * $max([0, afterBlueReturn - $const.residentBasicDeduction - nationalPension]), 2)"
    },
    {
      "name": "netIncome",
      "type": "number",
      "label": "Net income / year",
      "format": "number",
      "formula": "$round($max([0, annualBusinessIncome - nationalPension - incomeTax - residentTax]), 2)"
    }
  ],
  "testCases": [
    {
      "description": "6,000,000 JPY business income — a typical full-time sole proprietor",
      "given": {
        "annualBusinessIncome": 6000000
      },
      "expect": {
        "nationalPension": 215040,
        "afterBlueReturn": 5350000,
        "taxableIncome": 4554960,
        "incomeTax": 493645.33,
        "residentTax": 470496,
        "netIncome": 4820818.67
      }
    },
    {
      "description": "2,500,000 JPY — part-time",
      "given": {
        "annualBusinessIncome": 2500000
      },
      "expect": {
        "nationalPension": 215040,
        "afterBlueReturn": 1850000,
        "taxableIncome": 1054960,
        "incomeTax": 53855.71,
        "residentTax": 120496,
        "netIncome": 2110608.29
      }
    },
    {
      "description": "15,000,000 JPY — into the 33% band",
      "given": {
        "annualBusinessIncome": 15000000
      },
      "expect": {
        "nationalPension": 215040,
        "afterBlueReturn": 14350000,
        "taxableIncome": 13554960,
        "incomeTax": 2998816.67,
        "residentTax": 1370496,
        "netIncome": 10415647.33
      }
    }
  ],
  "spec": {
    "id": "self-employed-japan",
    "version": "1.0.0",
    "schema": {
      "type": "object",
      "properties": {
        "annualBusinessIncome": {
          "type": "number",
          "minimum": 0
        },
        "nationalPension": {
          "type": "number",
          "readOnly": true
        },
        "afterBlueReturn": {
          "type": "number",
          "readOnly": true
        },
        "taxableIncome": {
          "type": "number",
          "readOnly": true
        },
        "incomeTax": {
          "type": "number",
          "readOnly": true
        },
        "residentTax": {
          "type": "number",
          "readOnly": true
        },
        "netIncome": {
          "type": "number",
          "readOnly": true
        }
      },
      "required": [
        "annualBusinessIncome"
      ]
    },
    "constants": {
      "blueReturnDeduction": 650000,
      "pensionMonthly": 17920,
      "basicDeduction": 580000,
      "residentBasicDeduction": 430000,
      "residentRate": 0.1,
      "reconstructionRate": 0.021,
      "b1": 1950000,
      "b2": 3300000,
      "b3": 6950000,
      "b4": 9000000,
      "b5": 18000000,
      "b6": 40000000,
      "r1": 0.05,
      "r2": 0.1,
      "r3": 0.2,
      "r4": 0.23,
      "r5": 0.33,
      "r6": 0.4,
      "r7": 0.45
    },
    "defaultValues": [
      {
        "path": "$",
        "expr": "{ \"annualBusinessIncome\": 6000000 }"
      }
    ],
    "derivations": [
      {
        "path": "$.nationalPension",
        "expr": "$round($const.pensionMonthly * 12, 2)"
      },
      {
        "path": "$.afterBlueReturn",
        "expr": "$round($max([0, annualBusinessIncome - $const.blueReturnDeduction]), 2)"
      },
      {
        "path": "$.taxableIncome",
        "expr": "$round($max([0, afterBlueReturn - $const.basicDeduction - nationalPension]), 2)"
      },
      {
        "path": "$.incomeTax",
        "expr": "($t := taxableIncome; $round(($const.r1 * $min([$t, $const.b1]) + $const.r2 * $max([0, $min([$t, $const.b2]) - $const.b1]) + $const.r3 * $max([0, $min([$t, $const.b3]) - $const.b2]) + $const.r4 * $max([0, $min([$t, $const.b4]) - $const.b3]) + $const.r5 * $max([0, $min([$t, $const.b5]) - $const.b4]) + $const.r6 * $max([0, $min([$t, $const.b6]) - $const.b5]) + $const.r7 * $max([0, $t - $const.b6])) * (1 + $const.reconstructionRate), 2))"
      },
      {
        "path": "$.residentTax",
        "expr": "$round($const.residentRate * $max([0, afterBlueReturn - $const.residentBasicDeduction - nationalPension]), 2)"
      },
      {
        "path": "$.netIncome",
        "expr": "$round($max([0, annualBusinessIncome - nationalPension - incomeTax - residentTax]), 2)"
      }
    ],
    "constraints": [],
    "viewDefinition": {
      "renderer": "builtin",
      "defaultView": "main",
      "views": [
        {
          "id": "main",
          "label": "Self-employed net income",
          "layout": "vertical",
          "components": [
            {
              "id": "illustrativeNotice",
              "type": "alert",
              "variant": "warning",
              "label": "What this model leaves out",
              "text": "'The blue return is the thing worth doing: keeping double-entry books and filing 青色申告 buys a flat 650,000 yen deduction that a white return does not get, and it also lowers the resident tax and the health-insurance premium computed from the same figure. The national pension is a flat monthly amount unrelated to income, so it weighs on a small year and vanishes into a large one. What this model leaves out is 国民健康保険, which is set by your municipality and can be substantial, along with any dependant or insurance deductions and the 事業税. Not tax advice.'"
            },
            {
              "id": "inputField",
              "type": "numericField",
              "label": "Annual business income after expenses (JPY)",
              "bind": "$.annualBusinessIncome",
              "placeholder": "6000000"
            },
            {
              "id": "tiles",
              "type": "group",
              "layout": "horizontal",
              "components": [
                {
                  "id": "netIncomeTile",
                  "type": "statTile",
                  "label": "Net income / year",
                  "bind": "$.netIncome",
                  "format": "number"
                },
                {
                  "id": "nationalPensionTile",
                  "type": "statTile",
                  "label": "National pension",
                  "bind": "$.nationalPension",
                  "format": "number"
                },
                {
                  "id": "incomeTaxTile",
                  "type": "statTile",
                  "label": "Income tax (incl. surtax)",
                  "bind": "$.incomeTax",
                  "format": "number"
                },
                {
                  "id": "residentTaxTile",
                  "type": "statTile",
                  "label": "Resident tax (10%)",
                  "bind": "$.residentTax",
                  "format": "number"
                }
              ]
            },
            {
              "id": "sources",
              "type": "sourceList",
              "label": "Sources",
              "items": [
                {
                  "label": "国税庁 — 所得税の税率および青色申告特別控除",
                  "url": "https://www.nta.go.jp/taxes/shiraberu/taxanswer/shotoku/2260.htm",
                  "date": "2026-08-22"
                },
                {
                  "label": "2026年度（令和8年度）国民年金保険料 月額17,920円",
                  "url": "https://www.kigyou-keiei.jp/column/2026/04/13_284250.html",
                  "date": "2026-08-22"
                }
              ]
            }
          ]
        }
      ]
    },
    "tests": [
      {
        "description": "6,000,000 JPY business income — a typical full-time sole proprietor",
        "given": {
          "$.annualBusinessIncome": 6000000
        },
        "expect": {
          "$.nationalPension": 215040,
          "$.afterBlueReturn": 5350000,
          "$.taxableIncome": 4554960,
          "$.incomeTax": 493645.33,
          "$.residentTax": 470496,
          "$.netIncome": 4820818.67
        }
      },
      {
        "description": "2,500,000 JPY — part-time",
        "given": {
          "$.annualBusinessIncome": 2500000
        },
        "expect": {
          "$.nationalPension": 215040,
          "$.afterBlueReturn": 1850000,
          "$.taxableIncome": 1054960,
          "$.incomeTax": 53855.71,
          "$.residentTax": 120496,
          "$.netIncome": 2110608.29
        }
      },
      {
        "description": "15,000,000 JPY — into the 33% band",
        "given": {
          "$.annualBusinessIncome": 15000000
        },
        "expect": {
          "$.nationalPension": 215040,
          "$.afterBlueReturn": 14350000,
          "$.taxableIncome": 13554960,
          "$.incomeTax": 2998816.67,
          "$.residentTax": 1370496,
          "$.netIncome": 10415647.33
        }
      }
    ]
  }
}
