Skip to main content
Glama

US S-corp payroll tax comparison

scorp_optimizer
Read-onlyIdempotent

Compute employment taxes with and without an S-Corporation election: reasonable officer salary split, SECA/FICA payroll taxes, the fees entered, and the net difference, under IRS Rev. Rul. 74-44. Computation only; not a recommendation to elect.

Behavior: Deterministic, idempotent calculation with zero external side effects. Splits net business profit into W-2 officer wages and Schedule K-1 shareholder distributions. Applies FICA to salary only (exempting distributions), accounts for employer-half FICA deduction, deducts annual CPA corporate filing and payroll processing fees, and computes the mathematical breakeven net profit threshold.

Usage Guidelines: Use when a US small business owner, single-member LLC, or high-earning freelancer is considering electing S-Corp status to reduce self-employment taxes. Do not use for retirement account contribution limits; use solo_401k_shield instead.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
netProfitYesAnnual net business profit before owner compensation in USD ($/yr). Must be a positive number.
as_of_dateYesCivil date YYYY-MM-DD. Selects the rule pack in force on that date. Required: the engine will not assume a date.
cpaAnnualFeeNoAnnual CPA accounting fee for corporate Form 1120-S preparation and filing in USD ($/yr).
salaryPercentNoOfficer W-2 reasonable compensation percentage of net profit (e.g. 50, 55, 60%). Must comply with IRS Rev. Rul. 74-44 industry benchmarks.
stateAnnualFeeNoAnnual state franchise tax or corporate filing fee in USD ($/yr) (e.g. $800 in CA, $200 in DE).
payrollAnnualFeeNoAnnual software and compliance fee for running compliant W-2 payroll in USD ($/yr) (e.g. Gusto, Rippling).

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
llcNo
scorpNo
savingsNo
currencyNo
overheadNo
netProfitNo
as_of_dateNo
disclaimerNo
net_profitNo
minor_unitsNo
rate_pack_idNo
filing_statusNo
wage_base_capNo
effectiveTaxYearNo
statutoryWageBaseNo
sole_prop_baselineNo
statutory_authorityNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "additionalProperties": true,
      +  "properties": {
      +    "as_of_date": {
      +      "type": [
      +        "string",
      +        "number",
      +        "null"
      +      ]
      +    },
      +    "currency": {
      +      "type": [
      +        "string",
      +        "number",
      +        "null"
      +      ]
      +    },
      +    "disclaimer": {
      +      "type": [
      +        "string",
      +        "number",
      +        "null"
      +      ]
      +    },
      +    "effectiveTaxYear": {
      +      "type": [
      +        "string",
      +        "number",
      +        "null"
      +      ]
      +    },
      +    "filing_status": {
      +      "type": [
      +        "string",
      +        "number",
      +        "null"
      +      ]
      +    },
      +    "llc": {
      +      "type": [
      +        "object",
      +        "null"
      +      ]
      +    },
      +    "minor_units": {
      +      "type": [
      +        "object",
      +        "null"
      +      ]
      +    },
      +    "netProfit": {
      +      "type": [
      +        "string",
      +        "number",
      +        "null"
      +      ]
      +    },
      +    "net_profit": {
      +      "type": [
      +        "string",
      +        "number",
      +        "null"
      +      ]
      +    },
      +    "overhead": {
      +      "type": [
      +        "object",
      +        "null"
      +      ]
      +    },
      +    "rate_pack_id": {
      +      "type": [
      +        "string",
      +        "number",
      +        "null"
      +      ]
      +    },
      +    "savings": {
      +      "type": [
      +        "object",
      +        "null"
      +      ]
      +    },
      +    "scorp": {
      +      "type": [
      +        "object",
      +        "null"
      +      ]
      +    },
      +    "sole_prop_baseline": {
      +      "type": [
      +        "object",
      +        "null"
      +      ]
      +    },
      +    "statutoryWageBase": {
      +      "type": [
      +        "string",
      +        "number",
      +        "null"
      +      ]
      +    },
      +    "statutory_authority": {
      +      "type": [
      +        "string",
      +        "number",
      +        "null"
      +      ]
      +    },
      +    "wage_base_cap": {
      +      "type": [
      +        "string",
      +        "number",
      +        "null"
      +      ]
      +    }
      +  },
      +  "type": "object"
      +}
  2. Changed2 schema fields changed
    • addedInput schema / properties / as_of_date
      Added value: +{
      +  "description": "Civil date YYYY-MM-DD. Selects the rule pack in force on that date. Required: the engine will not assume a date.",
      +  "example": "2026-09-26",
      +  "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      +  "type": "string"
      +}
    • changedInput schema / required
      Previous value: -[
      -  "netProfit"
      -]New value: +[
      +  "netProfit",
      +  "as_of_date"
      +]
  3. Changed1 schema field changed
    • removedInput schema / properties / netProfit / default
      Removed value: -150000
  4. Changed5 schema fields changed
    • changedInput schema / properties / cpaAnnualFee / description
      Previous value: -"Annual CPA corporate Form 1120-S filing fee ($/yr)"New value: +"Annual CPA accounting fee for corporate Form 1120-S preparation and filing in USD ($/yr)."
    • changedInput schema / properties / netProfit / description
      Previous value: -"Annual net business profit in USD ($/yr)"New value: +"Annual net business profit before owner compensation in USD ($/yr). Must be a positive number."
    • changedInput schema / properties / payrollAnnualFee / description
      Previous value: -"Annual payroll provider fee ($/yr)"New value: +"Annual software and compliance fee for running compliant W-2 payroll in USD ($/yr) (e.g. Gusto, Rippling)."
    • changedInput schema / properties / salaryPercent / description
      Previous value: -"Reasonable salary percentage % (e.g. 50, 55, 60)"New value: +"Officer W-2 reasonable compensation percentage of net profit (e.g. 50, 55, 60%). Must comply with IRS Rev. Rul. 74-44 industry benchmarks."
    • changedInput schema / properties / stateAnnualFee / description
      Previous value: -"Annual state franchise tax / report fee ($/yr)"New value: +"Annual state franchise tax or corporate filing fee in USD ($/yr) (e.g. $800 in CA, $200 in DE)."
  5. First observed

TDQS

Score is being calculated.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources