calculate_payroll_taxes
Calculate employer and employee payroll taxes for given wages and tax year to ensure accurate tax withholding and compliance with regulations.
Instructions
Calculate payroll taxes for employer and employee
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| wages | Yes | ||
| year | No |
Implementation Reference
- src/python/tax_calculations.py:358-398 (handler)The core handler function implementing calculate_payroll_taxes in the TaxCalculator class. Computes employee and employer payroll taxes including Social Security, Medicare, additional Medicare, and FUTA based on wages and year.def calculate_payroll_taxes(self, wages: float, year: int = 2024) -> Dict: """Calculate payroll taxes (employer and employee portions)""" # 2024 rates and limits ss_wage_base = 160200 ss_rate = 0.062 # 6.2% medicare_rate = 0.0145 # 1.45% additional_medicare_rate = 0.009 # 0.9% additional_medicare_threshold = 200000 futa_wage_base = 7000 futa_rate = 0.006 # 0.6% # Employee taxes ss_employee = min(wages, ss_wage_base) * ss_rate medicare_employee = wages * medicare_rate additional_medicare_employee = max(0, wages - additional_medicare_threshold) * additional_medicare_rate total_employee = ss_employee + medicare_employee + additional_medicare_employee # Employer taxes (matches employee for SS and Medicare, plus FUTA) ss_employer = ss_employee # Same as employee medicare_employer = medicare_employee # Same as employee futa_employer = min(wages, futa_wage_base) * futa_rate total_employer = ss_employer + medicare_employer + futa_employer return { 'wages': wages, 'employee_taxes': { 'social_security': round(ss_employee, 2), 'medicare': round(medicare_employee, 2), 'additional_medicare': round(additional_medicare_employee, 2), 'total': round(total_employee, 2) }, 'employer_taxes': { 'social_security': round(ss_employer, 2), 'medicare': round(medicare_employer, 2), 'futa': round(futa_employer, 2), 'total': round(total_employer, 2) }, 'total_payroll_cost': round(wages + total_employer, 2) }
- src/tools/tax-tools.ts:66-92 (registration)Tool registration in taxTools array, including name, description, input schema, and handler that proxies to the Python TaxCalculator.calculate_payroll_taxes via PythonBridge.{ name: "calculate_payroll_taxes", description: "Calculate payroll taxes for employer and employee", inputSchema: { type: "object", properties: { wages: { type: "number" }, year: { type: "number", default: 2024 } }, required: ["wages"] }, handler: async (args: any): Promise<ToolResult> => { try { const result = await pythonBridge.callPythonFunction({ module: 'tax_calculations', function: 'TaxCalculator.calculate_payroll_taxes', args: [args.wages, args.year || 2024] }); return result; } catch (error) { return { success: false, error: error instanceof Error ? error.message : String(error) }; } } },
- src/tools/tax-tools.ts:69-76 (schema)Input schema defining wages (required number) and optional year (default 2024) for the calculate_payroll_taxes tool.inputSchema: { type: "object", properties: { wages: { type: "number" }, year: { type: "number", default: 2024 } }, required: ["wages"] },