> ## Documentation Index
> Fetch the complete documentation index at: https://docs.tight.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Calculate Taxes

> Get a summary of a user's taxes, using varying inputs, for estimation purposes



## OpenAPI

````yaml https://dev.hurdlr.com/rest/v1/devUtils/documentation?version=5&Authorization=dexfeE6aRK3zwXP4ku5aWm8w&env=sandbox post /v5/taxEngineExpress/calculateTax
openapi: 3.0.1
info:
  title: Tight API
  contact:
    name: Hurdlr, Inc. (dba Tight)
    url: https://www.tight.com
    email: api@tight.com
  version: 6.0.0
servers:
  - url: https://sandbox.hurdlr.com/rest
    description: Staging Environment
  - url: https://prod.hurdlr.com/rest
    description: Production Environment
security:
  - accessTokenSecurity: []
  - basicSecurity: []
tags:
  - name: Authentication
  - name: Banks
  - name: Business & Client Management
  - name: Invoicing
  - name: Revenue
  - name: Investments
  - name: Payouts
  - name: Bills
  - name: Expenses
  - name: Payroll
  - name: Reports
  - name: Accounting
  - name: Mileage
  - name: Taxes
  - name: Time Tracking
  - name: Imports
  - name: Files
  - name: Accountant
  - name: Audit Trail
  - name: Support
  - name: Tax Engine Express
  - name: Interview Endpoint
  - name: Ledgering
  - name: Configuration
  - name: Templates
paths:
  /v5/taxEngineExpress/calculateTax:
    post:
      tags:
        - Tax Engine Express
      summary: Calculate Taxes
      description: >-
        Get a summary of a user's taxes, using varying inputs, for estimation
        purposes
      operationId: calculateTax
      requestBody:
        description: tax calculation parameters
        content:
          '*/*':
            schema:
              $ref: '#/components/schemas/calculateTaxPostData'
        required: true
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/USTaxEstimatesDTOV5ForTEESerialization'
components:
  schemas:
    calculateTaxPostData:
      required:
        - client_id
        - state
        - userId
        - year
      type: object
      properties:
        client_id:
          type: string
          description: The client_id of the Tight Partner
          example: fake_client_id
        userId:
          type: string
          description: >-
            An anonymized userId, used for tracking API usage. The Tight Partner
            decides how to anonymize it.
          example: fake_userId
        state:
          type: string
          description: >-
            The two-character State abbreviation for which tax needs to be
            calculated on
          example: DC
        year:
          type: integer
          description: Tax year for which tax needs to be calculated on
          format: int32
          example: 2019
        filingStatusCode:
          type: string
          description: The Tax Filing Status Code
          enum:
            - S
            - M
            - MS
            - H
            - QW
        businessIncome:
          type: number
          description: >-
            The year-to-date business income for which tax needs to be
            calculated on
          example: 100000
        businessExpenses:
          type: number
          description: >-
            The year-to-date deductible expense total for which tax needs to be
            calculated on
          example: 5000
        personalExpenses:
          type: array
          description: >-
            Array of JSON objects, where each object represents a personal
            expense for itemized deductions (Form 1040 Schedule A). You can also
            total many personal expenses together into one object, if they have
            the same category.
          items:
            $ref: '#/components/schemas/PersonalExpenseParam'
        mileage:
          type: number
          description: >-
            The year-to-date deductible mileage total (specified in miles, not
            dollars) for which tax needs to be calculated on
          example: 500
        w2Income:
          type: number
          description: >-
            The year-to-date W2 income total for which tax needs to be
            calculated on
          example: 10000
        tipIncome:
          type: number
          description: >-
            The year-to-date tip income total for which tax needs to be
            calculated on
          example: 5000
        overtimeIncome:
          type: number
          description: >-
            The year-to-date overtime income total for which tax needs to be
            calculated on
          example: 3000
        numExemptions:
          type: integer
          description: The number of state personal exemptions the tax filer qualifies for
          format: int32
          example: 1
        taxPeriod:
          type: string
          description: Period for which tax needs to get calculated, defaults to YTD
          enum:
            - YTD
            - ANNUAL_PROJECTED
            - YTD
            - ANNUAL_PROJECTED
        testDate:
          type: string
          description: >-
            Date that the TaxEngine should treat as 'today', e.g. if you are
            trying to simulate a future scenario for test purposes. This field
            should be empty when deployed in production.
          format: date
        taxPayments:
          type: array
          description: Array of JSON objects, where each object represents a tax payment
          items:
            $ref: '#/components/schemas/TaxPaymentParam'
        useManualW2Withholding:
          type: boolean
          description: >-
            True if the user wants to specify their own withholdings, as opposed
            to using our estimated withholdings
        federalW2Withholding:
          type: number
          description: >-
            Federal income tax that was withheld from wages; only utilized if
            useManualW2Witholding is true
          example: 5000
        stateW2Withholding:
          type: number
          description: >-
            State income tax that was withheld from wages; only utilized if
            useManualW2Witholding is true
          example: 3000
        wageExpenses:
          type: number
          description: >-
            The year-to-date business W-2 wage expenses total. Used to calculate
            Schedule A (Form 8995-A).
          example: 0
        otherIncomes:
          type: array
          description: >-
            Array of JSON objects, where each object represents one income. You
            can also total many income together into one object, if they have
            the same incomeType
          items:
            $ref: '#/components/schemas/InvestmentIncome'
        businessType:
          type: string
          description: >-
            Business type of tax filer, for determining whether they qualify as
            a Specified Service Trade or Business
          enum:
            - CONSULTANT
            - DRIVER
            - E_COMMERCE
            - FREELANCER
            - HOST
            - INSURANCE_AGENT
            - OTHER
            - REAL_ESTATE_AGENT
            - RETAIL
            - SALES
        entityType:
          type: string
          description: >-
            Type of entity belonging to the tax filer, defaults to
            SOLE_PROPRIETORSHIP
          enum:
            - SOLE_PROPRIETORSHIP
            - LLP
            - LLC
            - S_CORP
            - C_CORP
        numDependents:
          type: integer
          description: >-
            The number of qualifying children under age 17 with a social
            security number
          format: int32
          example: 1
        numOtherDependents:
          type: integer
          description: >-
            The number of other dependents, including qualifying children 17 or
            older or who do not have a social security number
          format: int32
          example: 1
        numStateDependents:
          type: integer
          description: >-
            The number of qualifying dependents at the state level. See State
            Dependents Documentation for state specific info.
          format: int32
          example: 1
        numStateOtherDependents:
          type: integer
          description: >-
            The number of other qualifying dependents at the state level. See
            State Dependents Documentation for state specific info.
          format: int32
          example: 1
        alternativeMinimumTaxAdjustments:
          type: array
          description: >-
            Array of JSON objects, where each object represents one alternative
            minimum tax adjustment (Form 6251). You can also total many
            alternative minimum tax adjustments together into one object, if
            they have the same type.
          items:
            $ref: '#/components/schemas/AlternativeMinimumTaxAdjustmentParam'
        spouse:
          $ref: '#/components/schemas/SpouseParam'
      description: Parameters for the v5 calculateTax endpoint
      xml:
        name: ApiCalculateTaxParamV5
    USTaxEstimatesDTOV5ForTEESerialization:
      type: object
      properties:
        country:
          type: string
          description: The ISO 3166-1 alpha-3 country code
        state:
          type: string
          description: >-
            The two-character state (or Province) abbreviation for which tax
            needs to be calculated on
        year:
          type: integer
          description: Tax year for which tax needs to be calculated on
          format: int32
        federalFilingStatus:
          type: string
          description: The tax filing status code at the federal level
          example: S
          enum:
            - S
            - M
            - MS
            - H
            - QW
        stateFilingStatus:
          type: string
          description: The tax filing status code at the state level
          example: S
          enum:
            - S
            - M
            - MS
            - H
            - QW
        w2Income:
          type: number
          description: >-
            The year-to-date W2 income total for which tax needs to be
            calculated on
        businessIncome:
          type: number
          description: >-
            The year-to-date business income for which tax needs to be
            calculated on
        expenses:
          type: number
          description: >-
            The year-to-date deductible expense total for which tax needs to be
            calculated on
        businessExpenses:
          type: number
          description: >-
            The year-to-date business expenses total for which tax needs to be
            calculated on
        personalExpenses:
          type: number
          description: >-
            The year-to-date deductible personal expenses total for which tax
            needs to be calculated on
        deductibleExpenses:
          type: number
          description: >-
            The year-to-date deductible expenses total for which tax needs to be
            calculated on
        deductibleMileageExpenses:
          type: number
          description: The year-to-date deductible expense total originating from mileage
        deductibleNonMileageExpenses:
          type: number
          description: >-
            The year-to-date deductible expense total not originating from
            mileage
        homeOfficeDeduction:
          type: number
          description: Home office deduction
        selfEmploymentDeduction:
          type: number
          description: Self employment deduction
        adjustedGrossIncome:
          type: number
          description: Adjusted gross income
        overallTax:
          type: number
          description: Overall tax amount
        overallTaxSavings:
          type: number
          description: Overall amount saved by tracking expenses with Tight
        overallTaxUnpaid:
          type: number
          description: Remaining tax amount to be paid
        federalTaxUnpaid:
          type: number
          description: Remaining federal tax amount to be paid
        stateTaxUnpaid:
          type: number
          description: Remaining state tax amount to be paid
        annualPaymentDueDate:
          type: string
          description: Yearly due date for this year's tax season
          format: date-time
        afterTaxIncome:
          type: number
          description: Income remaining after tax collected
        otherIncome:
          type: number
          description: >-
            Total taxable income from sources other than wages, tips, and
            business
        federalTax:
          $ref: '#/components/schemas/FederalTaxDTOV5'
        stateTax:
          $ref: '#/components/schemas/StateTaxDTOV5'
        quarterlyEstimates:
          $ref: '#/components/schemas/QuarterlyTaxesDTOV3'
    PersonalExpenseParam:
      required:
        - amount
        - category
      type: object
      properties:
        category:
          type: string
          description: Personal expense category, as defined in Form 1040 Schedule A
          enum:
            - MEDICAL_AND_DENTAL
            - STATE_AND_LOCAL_INCOME_TAXES
            - STATE_AND_LOCAL_SALES_TAXES
            - STATE_AND_LOCAL_REAL_ESTATE_TAXES
            - STATE_AND_LOCAL_PERSONAL_PROPERTY_TAXES
            - OTHER_TAXES
            - MORTGAGE_INTEREST
            - INVESTMENT_INTEREST
            - CHARITY
            - CASUALTY_AND_THEFT
            - OTHER_ITEMIZED
            - MEDICAL_AND_DENTAL
            - STATE_AND_LOCAL_INCOME_TAXES
            - STATE_AND_LOCAL_SALES_TAXES
            - STATE_AND_LOCAL_REAL_ESTATE_TAXES
            - STATE_AND_LOCAL_PERSONAL_PROPERTY_TAXES
            - OTHER_TAXES
            - MORTGAGE_INTEREST
            - CHARITY
            - CASUALTY_AND_THEFT
            - OTHER_ITEMIZED
        amount:
          type: number
          description: Total amount, for the given category
          example: 1000
      description: Personal expense details
    TaxPaymentParam:
      required:
        - amount
        - date
        - period
        - region
      type: object
      properties:
        date:
          type: string
          description: 'Date when the tax payment was made '
          format: date
          example: '2019-09-14'
        region:
          type: string
          description: Region for which the tax payment was made
          enum:
            - FEDERAL
            - STATE
        period:
          type: string
          description: Period for which the tax payment was made
          enum:
            - Q1
            - Q2
            - Q3
            - Q4
        amount:
          type: number
          description: Total amount paid
          example: 1000.51
      description: An array of JSON objects, where each object represents a tax payment
      xml:
        name: ApiTaxPaymentParam
    InvestmentIncome:
      required:
        - amount
        - type
      type: object
      properties:
        type:
          type: string
          description: Income type, as defined in the /incomeTypeDefinitions endpoint
          enum:
            - FEDERAL_OR_TERRITORIES_INTEREST
            - LONG_TERM_CAPITAL_GAIN
            - LONG_TERM_CAPITAL_GAIN_AMT
            - NON_QUALIFIED_DIVIDEND
            - OTHER_INTEREST
            - OTHER_INVESTMENT_INCOME
            - OTHER_NON_INVESTMENT_INCOME
            - QUALIFIED_DIVIDEND
            - SOCIAL_SECURITY_BENEFIT
            - SHORT_TERM_CAPITAL_GAIN
            - SHORT_TERM_CAPITAL_GAIN_AMT
            - TAX_FREE_INTEREST_IN_STATE
            - TAX_FREE_INTEREST_OTHER_STATE
            - TEN_NINETY_NINE
        amount:
          type: number
          description: Total gain/loss, for the given investment
          example: 3000
      description: Investment income details
      xml:
        name: InvestmentIncomeParam
    AlternativeMinimumTaxAdjustmentParam:
      required:
        - amount
        - type
      type: object
      properties:
        type:
          type: string
          description: Adjustment type, as defined in Form 6251
          enum:
            - TAXABLE_REFUNDS
            - INVESTMENT_INTEREST_EXPENSE
            - DEPLETION
            - NET_OPERATING_LOSS
            - ALTERNATIVE_TAX_NET_OPERATING_LOSS
            - SPECIFIED_PRIVATE_ACTIVITY_BONDS_INTEREST
            - QUALIFIED_SMALL_BUSINESS_STOCK
            - EXERCISE_INCENTIVE_STOCK_OPTIONS
            - ESTATES_AND_TRUSTS
            - DISPOSITION_OF_PROPERTY
            - DEPRECIATION
            - PASSIVE_ACTIVITIES
            - LOSS_LIMITATIONS
            - CIRCULATION_COSTS
            - LONG_TERM_CONTRACTS
            - MINING_COSTS
            - RESEARCH_AND_EXPERIMENTAL_COSTS
            - INSTALLMENT_SALES_INCOME
            - INTANGIBLE_DRILLING_COSTS
            - OTHER_ADJUSTMENTS
        amount:
          type: number
          description: Total amount, for the given adjustment type
          example: 1000
      description: >-
        Array of JSON objects, where each object represents one spouse
        alternative minimum tax adjustment (Form 6251). You can also total many
        spouse alternative minimum tax adjustments together into one object, if
        they have the same type.
    SpouseParam:
      type: object
      properties:
        businessIncome:
          type: number
          description: >-
            The spouse year-to-date business income for which tax needs to be
            calculated on
          example: 100000
        businessExpenses:
          type: number
          description: >-
            The spouse year-to-date deductible expense total for which tax needs
            to be calculated on
          example: 5000
        personalExpenses:
          type: array
          description: >-
            Array of JSON objects, where each object represents a spouse
            personal expense for itemized deductions (Form 1040 Schedule A). You
            can also total many spouse personal expenses together into one
            object, if they have the same category.
          items:
            $ref: '#/components/schemas/PersonalExpenseParam'
        mileage:
          type: number
          description: >-
            The spouse year-to-date deductible mileage total (specified in
            miles, not dollars) for which tax needs to be calculated on
          example: 500
        w2Income:
          type: number
          description: >-
            The spouse year-to-date W2 income total for which tax needs to be
            calculated on
          example: 10000
        otherIncomes:
          type: array
          description: >-
            Array of JSON objects, where each object represents one spouse
            income. You can also total many spouse income together into one
            object, if they have the same incomeType
          items:
            $ref: '#/components/schemas/InvestmentIncome'
        entityType:
          type: string
          description: >-
            Type of entity belonging to the spouse of the tax filer, defaults to
            SOLE_PROPRIETORSHIP
          enum:
            - SOLE_PROPRIETORSHIP
            - LLP
            - LLC
            - S_CORP
            - C_CORP
        alternativeMinimumTaxAdjustments:
          type: array
          description: >-
            Array of JSON objects, where each object represents one spouse
            alternative minimum tax adjustment (Form 6251). You can also total
            many spouse alternative minimum tax adjustments together into one
            object, if they have the same type.
          items:
            $ref: '#/components/schemas/AlternativeMinimumTaxAdjustmentParam'
        numDependents:
          type: integer
          description: >-
            The number of qualifying children under age 17 with a social
            security number that the spouse is claiming
          format: int32
          example: 1
        numOtherDependents:
          type: integer
          description: >-
            The number of other dependents, including qualifying children 17 or
            older or who do not have a social security number, that the spouse
            is claiming
          format: int32
          example: 1
        numStateDependents:
          type: integer
          description: >-
            The number of qualifying dependents claimed by the spouse at the
            state level. See State Dependents Documentation for state specific
            info.
          format: int32
          example: 1
        numStateOtherDependents:
          type: integer
          description: >-
            The number of other qualifying dependents claimed by the spouse at
            the state level. See State Dependents Documentation for state
            specific info.
          format: int32
          example: 1
      description: >-
        JSON object representing spouse-specific input fields. Used when the tax
        filing status code is M or MS
    FederalTaxDTOV5:
      type: object
      properties:
        w2MarginalTaxRate:
          type: number
          description: Marginal tax rate for W-2 income
        businessMarginalTaxRate:
          type: number
          description: Marginal tax rate for self-employed income
        adjustedGrossIncome:
          type: number
          description: Adjusted gross income
        businessIncomeDeduction:
          type: number
          description: Deduction amount applied to business income
        businessIncomeDeductionEffectiveRate:
          type: number
          description: Effective rate of deduction applied to business income
        federalDeduction:
          type: number
          description: Deduction amount applied to federal taxes
        qualifiedTipDeduction:
          type: number
          description: Qualified tip deduction
        qualifiedOvertimeDeduction:
          type: number
          description: Qualified overtime deduction
        taxableIncome:
          type: number
          description: Federal taxable income
        federalEffectiveTaxRate:
          type: number
          description: Effective tax rate on federal taxable income
        federalTaxAmount:
          type: number
          description: Tax on federal taxable income
        medicareSurtax:
          $ref: '#/components/schemas/MedicareSurtaxDTOV5'
        selfEmploymentTax:
          $ref: '#/components/schemas/SelfEmploymentTaxDTOV5'
        tentativeMinimumTax:
          type: number
          description: Tentative minimum tax
        alternativeMinimumTax:
          type: number
          description: Alternative minimum tax
        taxAmountWithoutTaxCredit:
          type: number
          description: Federal tax amount prior to any tax credits being applied
        dependentTaxCredit:
          type: number
          description: >-
            Total amount of federal dependent tax credits that the user
            qualifies for
        totalTaxCredit:
          type: number
          description: Total of all federal tax credits that the user qualifies for
        totalTaxCreditAppliedToTax:
          type: number
          description: Total of all federal tax credits applied
        taxBeforeWithholding:
          type: number
          description: Total taxes due federally before withholding is applied
        effectiveTaxRateBeforeWithholding:
          type: number
          description: >-
            Effective tax rate from all taxes due federally before withholding
            is applied including medicare and social security
        withholdingAppliedToTax:
          type: number
          description: Amount of withholding applied to taxes
        taxAmount:
          type: number
          description: Total taxes due federally
        effectiveTaxRate:
          type: number
          description: >-
            Effective tax rate from all taxes due federally including medicare
            and social security
        employmentTax:
          $ref: '#/components/schemas/EmploymentTaxDTOV5'
    StateTaxDTOV5:
      type: object
      properties:
        w2MarginalTaxRate:
          type: number
          description: Marginal tax rate for W-2 income
        businessMarginalTaxRate:
          type: number
          description: Marginal tax rate for self-employed income
        adjustedGrossIncome:
          type: number
          description: Adjusted gross income
        stateDeduction:
          type: number
          description: Deduction amount applied to state taxes
        taxableIncome:
          type: number
          description: State taxable income
        preCreditEffectiveTaxRate:
          type: number
          description: Effective tax rate before any credits are applied
        taxAmountWithoutTaxCredit:
          type: number
          description: State tax amount prior to any tax credits being applied
        totalTaxCredit:
          type: number
          description: Total of all state tax credits that the user qualifies for
        totalTaxCreditAppliedToTax:
          type: number
          description: Total of all state tax credits applied
        taxBeforeWithholding:
          type: number
          description: Taxes due to the state before withholding
        effectiveTaxRateBeforeWithholding:
          type: number
          description: Effective tax rate of taxes due to the state before withholding
        withholdingAppliedToTax:
          type: number
          description: Amount of withholding applied to taxes
        taxAmount:
          type: number
          description: Total taxes due to the state
        effectiveTaxRate:
          type: number
          description: Effective tax rate of taxes due to the state
    QuarterlyTaxesDTOV3:
      type: object
      properties:
        q1:
          $ref: '#/components/schemas/QuarterlyTax'
        q2:
          $ref: '#/components/schemas/QuarterlyTax'
        q3:
          $ref: '#/components/schemas/QuarterlyTax'
        q4:
          $ref: '#/components/schemas/QuarterlyTax'
    MedicareSurtaxDTOV5:
      type: object
      properties:
        investmentIncomeMedicareSurtax:
          type: number
          description: Additional medicare tax owed on investment income
        earnedIncomeMedicareSurtax:
          type: number
          description: Additional medicare tax owed on earned income
    SelfEmploymentTaxDTOV5:
      type: object
      properties:
        socialSecurityTaxableIncome:
          type: number
          description: Taxable income for social security
        socialSecurityEffectiveTaxRate:
          type: number
          description: Social security effective tax rate
        socialSecurityTax:
          type: number
          description: Social security tax amount due on self-employment income
        medicareTaxableIncome:
          type: number
          description: Taxable income for medicare
        medicareEffectiveTaxRate:
          type: number
          description: Medicare effective tax rate
        medicareTax:
          type: number
          description: Medicare tax amount due on self-employment income
        taxAmount:
          type: number
          description: Overall self-employment tax amount
    EmploymentTaxDTOV5:
      type: object
      properties:
        socialSecurityTaxableIncome:
          type: number
          description: Taxable income for social security
        socialSecurityEffectiveTaxRate:
          type: number
          description: Social security effective tax rate
        socialSecurityTax:
          type: number
          description: Social security tax estimate paid by employer
        medicareTaxableIncome:
          type: number
          description: Taxable income for medicare
        medicareEffectiveTaxRate:
          type: number
          description: Medicare effective tax rate
        medicareTax:
          type: number
          description: Medicare tax estimate paid by employer
        taxAmount:
          type: number
          description: Overall employment tax amount
    QuarterlyTax:
      type: object
      properties:
        dueDate:
          type: string
          description: Due date for this quarter's payment
          format: date
        federalTax:
          $ref: '#/components/schemas/TaxDetail'
        stateTax:
          $ref: '#/components/schemas/TaxDetail'
    TaxDetail:
      type: object
      properties:
        taxOwed:
          type: number
          description: Tax amount owed before considering payments
        taxPaid:
          type: number
          description: Tax amount paid
        paymentsAllocatedFromPast:
          type: number
          description: Amount of payment rolled over from past quarters
        paymentsRolledOverToFuture:
          type: boolean
          description: >-
            Whether payments from this quarter are rolled over to future
            quarters
        paymentsBalance:
          type: number
          description: Remaining tax amount owed
  securitySchemes:
    accessTokenSecurity:
      type: oauth2
      flows:
        implicit:
          authorizationUrl: /auth/account
          scopes:
            write: ''

````