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

# Process batch calculator requests with PDF report generation

> POST's multiple calculator calculations to the STE for async queue processing and generates a PDF report for all calculations. Returns base64-encoded PDF reports. The calculator property must be in all caps.



## OpenAPI

````yaml /cbs/api-reference/cbs-api.yaml post /data/batch/print
openapi: 3.1.0
info:
  contact:
    name: Symmetry Software
    url: https://www.symmetry.com
  description: CBS API Documentation for Calculators by Symmetry
  license:
    name: Terms of service
    url: https://www.symmetry.com/terms
  title: CBS API
  version: 1.201.1
servers:
  - url: https://calculators.symmetry.com/api
security: []
tags:
  - description: List of available paycheck calculators
    name: Calculators
  - description: Salary-based paycheck calculations
    name: Salary Calculator
  - description: Hourly-based paycheck calculations
    name: Hourly Calculator
  - description: Reverse paycheck calculations
    name: Grossup Calculator
  - description: 401k retirement contribution calculations
    name: 401k Calculator
  - description: 403b retirement contribution calculations
    name: 403b Calculator
  - description: Final paycheck calculations
    name: Final Pay Calculator
  - description: Stock option exercise income calculations
    name: Stock Option Calculator
  - description: Tuition reimbursement calculations
    name: Tuition Calculator
  - description: Hourly with tips calculations
    name: Tax Tip Calculator
  - description: Flat bonus calculations
    name: Flat Bonus Calculator
  - description: Aggregate bonus calculations
    name: Aggregate Bonus Calculator
  - description: Batch processing and API data objects
    name: Data
  - description: Deduction configuration
    name: Deductions
  - description: PDF report generation
    name: Print
  - description: State-specific tax parameters
    name: State Parameters
  - description: API documentation
    name: Documentation
  - description: Postman collection and environment
    name: Postman
paths:
  /data/batch/print:
    post:
      tags:
        - Data
      summary: Process batch calculator requests with PDF report generation
      description: >-
        POST's multiple calculator calculations to the STE for async queue
        processing and generates a PDF report for all calculations. Returns
        base64-encoded PDF reports. The calculator property must be in all caps.
      operationId: createBatchReports
      parameters:
        - description: Type of PDF report to generate
          example: checktop
          in: query
          name: report
          required: true
          schema:
            enum:
              - all
              - checkbottom
              - checkmiddle
              - checktop
              - deluxe_b100
              - deluxe_b211
              - deluxe_m102
              - deluxe_m145
              - deluxe_t104
              - deluxe_t111
              - earnings
              - paystub
              - quickbooks_top
            type: string
      requestBody:
        content:
          application/json:
            examples:
              Batch Print Request:
                description: Batch Print Request
                summary: Calculator responses with print information for PDF generation
                value:
                  - calculator: SALARY
                    print:
                      checkDate: 1464291711938
                      checkNumber: ''
                      checkNumberOnCheck: 'false'
                      companyAddressLine1: ''
                      companyAddressLine2: ''
                      companyAddressLine3: ''
                      companyName: ''
                      companyNameOnCheck: 'false'
                      emailReports: 'false'
                      employeeAddressLine1: ''
                      employeeAddressLine2: ''
                      employeeAddressLine3: ''
                      employeeName: ''
                      id: ''
                      remarks: ''
                    profileHash: ''
                    response:
                      calculator:
                        additionalFederalWithholding: 0
                        checkDate: 1464291711938
                        deductions2020: 0
                        dependents2020: 0
                        exemptFederal: false
                        exemptFica: false
                        exemptMedicare: false
                        federalAllowances: 0
                        federalFilingStatusType: SINGLE
                        federalFilingStatusType2020: SINGLE
                        grossPay: 52000
                        grossPayType: ANNUALLY
                        grossPayYTD: 0
                        otherIncome2020: 0
                        payFrequency: WEEKLY
                        print: null
                        roundFederalWithholding: false
                        state: AZ
                        stateInfo:
                          parms:
                            - name: additionalStateWithholding
                              value: '0'
                            - name: PERCENTSTATE
                              value: '2.7'
                            - name: stateExemption
                              value: false
                        twoJobs2020: false
                        voluntaryDeductions:
                          - benefitType: _HSA
                            deductionAmount: 200
                            deductionMethodType: FIXED_AMOUNT
                            deductionName: HSA
                            exemptFederal: false
                            exemptFica: false
                            exemptLocal: false
                            exemptState: false
                          - benefitType: _401k
                            deductionAmount: 2
                            deductionMethodType: PERCENT_OF_GROSS
                            deductionName: 401k
                            exemptFederal: true
                            exemptFica: true
                            exemptLocal: true
                            exemptState: true
                          - benefitType: _Custom
                            deductionAmount: 10
                            deductionMethodType: PERCENT_OF_GROSS
                            deductionName: Custom
                            exemptFederal: false
                            exemptFica: false
                            exemptLocal: false
                            exemptState: false
                        w42020: false
                      eic: 0
                      federal: 102.86
                      fica: 49.6
                      grossPay: 1000
                      localeTaxes: []
                      locationServiceError: ''
                      medicare: 11.6
                      netPay: 494.88
                      reporting: null
                      state: 21.06
                      stateTaxTypes: []
                      timeStamp: 1464291711938
                      voluntaryDeductions:
                        - name: HSA
                          value: '200.00'
                        - name: Custom
                          value: '100.00'
                        - name: 401k
                          value: '20.00'
                  - calculator: HOURLY
                    print:
                      checkDate: 1464291711938
                      checkNumber: ''
                      checkNumberOnCheck: 'false'
                      companyAddressLine1: ''
                      companyAddressLine2: ''
                      companyAddressLine3: ''
                      companyName: ''
                      companyNameOnCheck: 'false'
                      emailReports: 'false'
                      employeeAddressLine1: ''
                      employeeAddressLine2: ''
                      employeeAddressLine3: ''
                      employeeName: ''
                      id: ''
                      remarks: ''
                    profileHash: ''
                    response:
                      calculator:
                        additionalFederalWithholding: 0
                        checkDate: 1579813694317
                        deductions2020: 0
                        dependents2020: 0
                        exemptFederal: false
                        exemptFica: false
                        exemptMedicare: false
                        federalAllowances: 0
                        federalFilingStatusType: SINGLE
                        federalFilingStatusType2020: SINGLE
                        grossPayType: PAY_PER_PERIOD
                        grossPayYTD: 0
                        otherIncome: null
                        otherIncome2020: 0
                        payFrequency: WEEKLY
                        presetDeductions: null
                        presetImputed: null
                        print: null
                        rates:
                          - hours: 70
                            payRate: 30
                        roundFederalWithholding: false
                        state: AZ
                        stateInfo:
                          parms:
                            - name: PERCENTSTATE
                              value: '2.7'
                            - name: stateExemption
                              value: false
                            - name: additionalStateWithholding
                              value: '0'
                        twoJobs2020: false
                        voluntaryDeductions:
                          - benefitType: _HSA
                            deductionAmount: 200
                            deductionMethodType: FIXED_AMOUNT
                            deductionName: HSA
                            exemptFederal: false
                            exemptFica: false
                            exemptLocal: false
                            exemptState: false
                          - benefitType: _401k
                            deductionAmount: 2
                            deductionMethodType: PERCENT_OF_GROSS
                            deductionName: 401k
                            exemptFederal: true
                            exemptFica: true
                            exemptLocal: true
                            exemptState: true
                          - benefitType: _Custom
                            deductionAmount: 10
                            deductionMethodType: PERCENT_OF_GROSS
                            deductionName: Custom
                            exemptFederal: false
                            exemptFica: false
                            exemptLocal: false
                            exemptState: false
                        w42020: false
                      eic: 0
                      federal: 314.53
                      fica: 117.8
                      grossPay: 2100
                      localeTaxes: []
                      locationServiceError: ''
                      medicare: 27.55
                      netPay: 1137.95
                      reporting: null
                      state: 50.17
                      stateTaxTypes: []
                      timeStamp: 1464291711938
                      voluntaryDeductions:
                        - name: HSA
                          value: '200.00'
                        - name: Custom
                          value: '210.00'
                        - name: 401k
                          value: '42.00'
            schema:
              items:
                $ref: '#/components/schemas/PrintWrapper'
              type: array
        description: >-
          Array of batch print request objects with calculator (UPPERCASE),
          response, and print fields
        required: true
      responses:
        '200':
          content:
            application/json:
              examples:
                Batch Print Response:
                  description: Batch Print Response
                  summary: Base64-encoded PDF reports
                  value:
                    _links:
                      self:
                        href: >-
                          https://calculators.symmetry.com/api/data/batch/print?report=checktop
                    content:
                      reports:
                        Check on top: JVBERi0xLjQKJfbk/N8KMSAwIG9iago...
          description: PDF reports generated successfully (returns base64-encoded PDFs)
        '400':
          content:
            application/json:
              example:
                content: Error occurred generating document
          description: Error generating document
        '401':
          content:
            application/json:
              example:
                message: No api key found
          description: No API key provided
        '403':
          content:
            application/json:
              example:
                message: Invalid api key
          description: Invalid API key
        '404':
          content:
            application/json:
              example:
                error: Not Found
                path: /api/data/batch/print/badpath
                status: 404
                timestamp: 1641573466465
          description: Invalid endpoint path
        '405':
          content:
            application/json:
              example:
                error: Method Not Allowed
                path: /api/data/batch/print
                status: 405
                timestamp: 1641572607838
          description: Method not allowed
        '413':
          content:
            application/json:
              example:
                error: Payload Too Large
                status: 413
                timestamp: 1641573466465
          description: Payload Too Large
        '422':
          description: Unprocessable Entity
        '500':
          description: Internal Server Error
      security:
        - pcc-api-key: []
components:
  schemas:
    PrintWrapper:
      description: >-
        Wrapper for batch print request combining profile identifier, calculator
        type, results, and print information for PDF generation
      properties:
        calculator:
          description: Calculator type in UPPERCASE
          enum:
            - BONUSAGG
            - BONUSPER
            - FINALPAY
            - GROSSUP
            - HOURLY
            - SALARY
            - STOCKOPTION
            - TAXTIP
            - TUITION
            - _401K
            - _403B
          example: SALARY
          type: string
        print:
          $ref: '#/components/schemas/AbstractPrint'
          description: Print object containing calculator and print information
        profileHash:
          description: Profile identifier for tracking batch requests
          example: user123-salary-CA
          type: string
        response:
          $ref: '#/components/schemas/CalculatorResponse'
          description: Calculator calculation results
      type: object
    AbstractPrint:
      description: >-
        Base print object combining calculator results with print information
        for PDF report generation
      properties:
        calculator:
          $ref: '#/components/schemas/AbstractCalculator'
        checkDate:
          format: date-time
          type: string
        checkNumber:
          type: string
        checkNumberOnCheck:
          type: boolean
        companyAddressLine1:
          type: string
        companyAddressLine2:
          type: string
        companyAddressLine3:
          type: string
        companyName:
          type: string
        companyNameOnCheck:
          type: boolean
        eic:
          type: number
        employeeAddressLine1:
          type: string
        employeeAddressLine2:
          type: string
        employeeAddressLine3:
          type: string
        employeeName:
          type: string
        federal:
          type: number
        fica:
          type: number
        grossPay:
          type: number
        id:
          type: string
        localeTaxes:
          items:
            $ref: '#/components/schemas/NameValue'
          type: array
        medicare:
          type: number
        netPay:
          type: number
        remarks:
          type: string
        state:
          type: number
        stateTaxTypes:
          items:
            $ref: '#/components/schemas/NameValue'
          type: array
        voluntaryDeductions:
          items:
            $ref: '#/components/schemas/NameValue'
          type: array
      type: object
    CalculatorResponse:
      properties:
        calculator:
          $ref: '#/components/schemas/AbstractCalculator'
        eic:
          type: number
        federal:
          type: number
        fica:
          type: number
        grossPay:
          type: number
        localeTaxes:
          items:
            $ref: '#/components/schemas/NameValue'
          type: array
        locationServiceError:
          type: string
        medicare:
          type: number
        netPay:
          type: number
        reporting:
          $ref: '#/components/schemas/ReportWrapper'
        state:
          type: number
        stateTaxTypes:
          items:
            $ref: '#/components/schemas/NameValue'
          type: array
        taxPaidDetails:
          items:
            $ref: '#/components/schemas/STETaxDetails'
          type: array
        timeStamp:
          format: int64
          type: integer
        voluntaryDeductions:
          items:
            $ref: '#/components/schemas/NameValue'
          type: array
      type: object
    AbstractCalculator:
      description: >-
        Base calculator configuration with common fields for all calculator
        types
      properties:
        additionalFederalWithholding:
          description: Additional amount to withhold for federal taxes
          example: 100
          minimum: 0
          type: number
        checkDate:
          description: Date of the paycheck calculation
          example: '2024-03-15'
          format: date-time
          type: string
        deductions2020:
          description: Deductions amount from W-4 2020+ Step 4b
          example: 0
          minimum: 0
          type: number
        dependents2020:
          description: Dependent amount from W-4 2020+ Step 3
          example: 4000
          minimum: 0
          type: number
        exemptFederal:
          description: Whether the employee is exempt from federal tax withholding
          example: false
          type: boolean
        exemptFica:
          description: Whether the employee is exempt from FICA (Social Security) tax
          example: false
          type: boolean
        exemptMedicare:
          description: Whether the employee is exempt from Medicare tax
          example: false
          type: boolean
        federalAllowances:
          description: Number of federal tax allowances claimed
          example: 2
          format: int32
          minimum: 0
          type: integer
        federalFilingStatusType:
          description: Federal tax filing status
          enum:
            - HEAD_OF_HOUSEHOLD
            - MARRIED
            - SINGLE
          example: SINGLE
          type: string
        federalFilingStatusType2020:
          description: Federal filing status for W-4 2020+ form
          enum:
            - HEAD_OF_HOUSEHOLD
            - MARRIED_FILING_JOINTLY
            - SINGLE
          example: SINGLE
          type: string
        grossPay:
          description: Gross pay amount for the calculation period
          example: 52000
          minimum: 0
          type: number
        grossPayType:
          description: Method used to calculate gross pay
          enum:
            - ANNUAL
            - GROSS_PER_PAYPERIOD
            - HOURLY
            - PAY_PER_PERIOD
          example: ANNUAL
          type: string
        grossPayYTD:
          description: Year-to-date gross pay
          example: 10000
          minimum: 0
          type: number
        otherIncome:
          description: List of other income sources (imputed income)
          items:
            $ref: '#/components/schemas/OtherIncome'
          type: array
        otherIncome2020:
          description: Other income amount from W-4 2020+ Step 4a
          example: 0
          minimum: 0
          type: number
        payFrequency:
          description: Frequency of pay periods
          enum:
            - ANNUALLY
            - BI_WEEKLY
            - DAILY
            - MONTHLY
            - QUARTERLY
            - SEMI_ANNUALLY
            - SEMI_MONTHLY
            - WEEKLY
          example: BI_WEEKLY
          type: string
        presetDeductions:
          description: List of preset custom deductions
          items:
            $ref: '#/components/schemas/PresetDeduction'
          type: array
        presetImputed:
          description: List of preset imputed income
          items:
            $ref: '#/components/schemas/PresetDeduction'
          type: array
        print:
          $ref: '#/components/schemas/PrintInfo'
          description: Print object for PDF report generation
        roundFederalWithholding:
          description: Whether to round federal withholding amounts
          example: false
          type: boolean
        state:
          description: Two-letter state abbreviation where the employee works
          enum:
            - Alabama
            - Alaska
            - American Samoa
            - Arizona
            - Arkansas
            - California
            - Colorado
            - Connecticut
            - Delaware
            - Florida
            - Georgia
            - Guam
            - Hawaii
            - Idaho
            - Illinois
            - Indiana
            - Iowa
            - Kansas
            - Kentucky
            - Louisiana
            - Maine
            - Maryland
            - Massachusetts
            - Michigan
            - Minnesota
            - Mississippi
            - Missouri
            - Montana
            - N. Mariana Islands
            - Nebraska
            - Nevada
            - New Hampshire
            - New Jersey
            - New Mexico
            - New York
            - North Carolina
            - North Dakota
            - Ohio
            - Oklahoma
            - Oregon
            - Pennsylvania
            - Puerto Rico
            - Rhode Island
            - South Carolina
            - South Dakota
            - Tennessee
            - Texas
            - US Virgin Islands
            - Utah
            - Vermont
            - Virginia
            - Washington
            - Washington DC
            - West Virginia
            - Wisconsin
            - Wyoming
          example: CA
          type: string
        stateInfo:
          $ref: '#/components/schemas/Stateparms'
          description: State-specific parameters for the calculation
        twoJobs2020:
          description: Whether employee has two jobs (W-4 2020+ Step 2c)
          example: false
          type: boolean
        voluntaryDeductions:
          description: List of voluntary deductions (401k, HSA, custom deductions, etc.)
          items:
            $ref: '#/components/schemas/VoluntaryDeduction'
          type: array
        w42020:
          description: Whether using W-4 form from 2020 or later (vs. pre-2020 W-4)
          example: false
          type: boolean
      required:
        - additionalFederalWithholding
        - federalAllowances
        - grossPay
        - grossPayYTD
        - state
      type: object
    NameValue:
      description: >-
        Name-value pair for representing various data structures (state
        parameters, list values, tax types, etc.)
      properties:
        name:
          description: Name or label
          example: Federal
          type: string
        value:
          description: Value associated with the name
          example: 100.5
      type: object
    ReportWrapper:
      description: >-
        Wrapper for PDF report generation results containing base64-encoded PDFs
        or error messages
      properties:
        reportError:
          type: string
        reports:
          additionalProperties:
            format: byte
            type: string
          type: object
      type: object
    STETaxDetails:
      properties:
        amtPaid:
          type: number
        description:
          type: string
        getuTaxID:
          type: string
        grossSubjectWages:
          type: number
        grossWages:
          type: number
        locationCode:
          type: string
        payType:
          type: string
        subjectWages:
          type: number
      type: object
    OtherIncome:
      properties:
        exemptFederal:
          type: boolean
        exemptFica:
          type: boolean
        exemptLocal:
          type: boolean
        exemptState:
          type: boolean
        imputed:
          type: boolean
        incomeAmount:
          type: number
        incomeName:
          type: string
        incomeType:
          enum:
            - $ Fixed Amount
            - $ Hourly Rate
            - '% of Gross Pay'
            - '% of Net Pay'
          type: string
      type: object
    PresetDeduction:
      description: >-
        Preset deduction with name-value format for simple deduction
        configuration
      properties:
        amount:
          description: Deduction amount or percentage
          example: 5
          type: string
        name:
          description: Deduction name
          example: 401k
          type: string
        ytd:
          description: Year-to-date deduction amount
          example: 0
          type: string
      type: object
    PrintInfo:
      description: >-
        Print information interface for PDF report generation including
        employee/company details and check information
      properties:
        checkDate:
          format: date-time
          type: string
        checkNumber:
          type: string
        checkNumberOnCheck:
          type: boolean
        companyAddressLine1:
          type: string
        companyAddressLine2:
          type: string
        companyAddressLine3:
          type: string
        companyName:
          type: string
        companyNameOnCheck:
          type: boolean
        employeeAddressLine1:
          type: string
        employeeAddressLine2:
          type: string
        employeeAddressLine3:
          type: string
        employeeName:
          type: string
        id:
          type: string
        remarks:
          type: string
      type: object
    Stateparms:
      description: >-
        State-specific parameters including state tax configuration and
        local/county information
      properties:
        local:
          $ref: '#/components/schemas/Locale'
          description: Local/county tax location information
        parms:
          description: State-specific parameter name-value pairs
          items:
            $ref: '#/components/schemas/NameValue'
          type: array
      type: object
    VoluntaryDeduction:
      properties:
        benefitType:
          type: string
        deductionAmount:
          type: number
        deductionMethodType:
          enum:
            - $ Fixed Amount
            - $ Hourly Rate
            - '% of Gross Pay'
            - '% of Net Pay'
          type: string
        deductionName:
          type: string
        exemptFederal:
          type: boolean
        exemptFica:
          type: boolean
        exemptLocal:
          type: boolean
        exemptState:
          type: boolean
        ytdAmount:
          type: number
      type: object
    Locale:
      description: >-
        Locale/location information including address, city, state, zip, and
        resident/exempt flags for local tax calculations
      properties:
        address1:
          type: string
        address2:
          type: string
        city:
          type: string
        exempt:
          type: boolean
        resident:
          type: boolean
        state:
          type: string
        zip:
          type: string
        zip4:
          type: string
      type: object
  securitySchemes:
    pcc-api-key:
      description: API key for CBS API authentication
      in: header
      name: pcc-api-key
      type: apiKey

````