> ## 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.

# Generate T2125

> Generate a T2125 PDF



## OpenAPI

````yaml https://dev.hurdlr.com/rest/v1/devUtils/documentation?version=5&Authorization=dexfeE6aRK3zwXP4ku5aWm8w&env=sandbox post /v5/taxEngineExpress/pdfT2125
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/pdfT2125:
    post:
      tags:
        - Tax Engine Express
      summary: Generate T2125
      description: Generate a T2125 PDF
      operationId: pdfT2125
      requestBody:
        description: tax calculation parameters
        content:
          '*/*':
            schema:
              $ref: '#/components/schemas/T2125FieldsAPIParamV2'
        required: true
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UrlRetVal'
components:
  schemas:
    T2125FieldsAPIParamV2:
      required:
        - businessType
        - client_id
        - expenses
        - income
        - 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
        year:
          type: integer
          description: The T2125 form year
          format: int32
          example: 2018
        identificationSection:
          $ref: '#/components/schemas/T2125IdentificationField'
        t2125BusinessOrProfessionalIncomeField:
          $ref: '#/components/schemas/T2125BusinessOrProfessionalIncomeField'
        t2125COGSField:
          $ref: '#/components/schemas/T2125COGSField'
        businessType:
          type: string
          description: The business type of the user
          example: REAL_ESTATE_AGENT
          enum:
            - DRIVER
            - REAL_ESTATE_AGENT
            - CONSULTANT
            - SALES
            - FREELANCER
            - HOST
            - E_COMMERCE
            - INSURANCE_AGENT
            - RETAIL
            - OTHER
        income:
          type: array
          description: Income transaction array
          items:
            $ref: '#/components/schemas/T2125IncomeTransaction'
        expenses:
          type: array
          description: Expense transaction array
          items:
            $ref: '#/components/schemas/T2125ExpenseTransaction'
        t2125CCOGSField:
          $ref: '#/components/schemas/T2125COGSField'
      xml:
        name: T2125FieldsAPIParam
    UrlRetVal:
      type: object
      properties:
        url:
          type: string
          description: URL link location
          example: >-
            https://s3.amazonaws.com/Tight-Dev/Reports/Temp/c2cd0cf0-bd33-4fe7-844f-9e90df7575ec/ScheduleC_2018.pdf
        status:
          type: string
          description: Status of the link
          example: SUCCESS
          enum:
            - SUCCESS
            - NO_DATA
    T2125IdentificationField:
      type: object
      properties:
        name:
          type: string
          description: Name
          example: Henry Earnshaw
        businessName:
          type: string
          description: Business name
          example: Achme
        businessNumber:
          type: string
          description: Business Number
          example: xxxxxxxxxxxxxxx
        businessAddress:
          type: string
          description: Business address
          example: 4892 MacLaren Street
        city:
          type: string
          description: City
          example: Ottawa
        province:
          type: string
          description: Province
          example: 'ON'
        postalCode:
          type: string
          description: Postal code
          example: K1P5M7
        fiscalPeriodFrom:
          type: string
          description: Fiscal period from
          example: '20180101'
        fiscalPeriodTo:
          type: string
          description: Fiscal period to
          example: '20180430'
        mainProductOrService:
          type: string
          description: Main product or service
          example: Achme
        industryCode:
          type: string
          description: Industry code
          example: xxxxxx
      xml:
        name: T2125IdentificationField
    T2125BusinessOrProfessionalIncomeField:
      type: object
      properties:
        line8000:
          type: number
        line8290:
          type: number
        line8230:
          type: number
        line3P:
          type: number
        line8299:
          type: number
      xml:
        name: T2125BusinessOrProfessionalIncomeField
    T2125COGSField:
      type: object
      properties:
        line17:
          type: number
          description: Gross business income
          example: 150000
        line8300:
          type: number
          description: >-
            Opening inventory (include raw materials, goods in process, and
            finished goods)
          example: 0
        line8320:
          type: number
          description: >-
            Purchases during the year (net of returns, allowances, and
            discounts)
          example: 0
        line8340:
          type: number
          description: 'Direct wage costs '
          example: 0
        line8360:
          type: number
          description: Subcontracts
          example: 0
        line8450:
          type: number
          description: Other costs
          example: 0
        line18:
          type: number
          description: Subtotal
          example: 0
        line8500:
          type: number
          description: >-
            Closing inventory (include raw materials, goods in process, and
            finished goods)
          example: 0
        line8518:
          type: number
          description: Cost of goods sold
          example: 0
        line19:
          type: number
          description: Total
          example: 0
        line8519:
          type: number
          description: Gross profit (or loss)
          example: 150000
      xml:
        name: T2125COGSField
    T2125IncomeTransaction:
      required:
        - amount
      type: object
      properties:
        date:
          type: string
          description: The Income Date of the transaction.
          format: date
        amount:
          type: number
          description: The Income Amount of the transaction.
          example: 10000.01
        salesTax:
          type: number
          description: The Income Sales Tax Amount of the transaction.
          example: 100.01
      description: Income transaction array
    T2125ExpenseTransaction:
      required:
        - categoryId
        - vendorName
      type: object
      properties:
        id:
          type: string
          description: >-
            The Partner's internal ID of the expense transaction. This will be
            roundtripped in the response, so that the Partner can easily
            identify each transaction.
          example: '1'
        vendorName:
          type: string
          description: The vendor name of the expense transaction
          example: Acme
        categoryId:
          type: string
          description: Plaid's category_id for the expense transaction (e.g. '13005023')
          example: '13005023'
        amount:
          type: number
          description: The amount of the expense transaction
          example: 100.02
        hurdlrTaxCategory:
          type: string
          description: >-
            The Tight Tax Category for the expense transaction. The endpoint
            will populate this field for you if not populated.
          example: DEDUCTIBLE_MEALS_AND_ENTERTAINMENT
        lineNumber:
          type: string
      description: Expense transaction array
  securitySchemes:
    accessTokenSecurity:
      type: oauth2
      flows:
        implicit:
          authorizationUrl: /auth/account
          scopes:
            write: ''

````