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

# Get p32 



## OpenAPI

````yaml /api-reference/specs/hmrc-p-forms.yaml get /p32/{year}/{month}
openapi: 3.0.1
info:
  title: HmrcPForms Service
  description: HMRC P Forms API for FlowPayroll (P45, P60, P32)
  contact:
    name: FlowPayroll
    email: support@flowpayroll.com
  version: v1
servers:
  - url: https://api.sandbox.flowpayroll.ai/v1/hmrc-p-forms
security:
  - X-Auth-Token: []
    X-Org-Id: []
paths:
  /p32/{year}/{month}:
    get:
      tags:
        - P32
      operationId: GetP32
      parameters:
        - name: year
          in: path
          required: true
          schema:
            maxLength: 4
            minLength: 4
            type: integer
            format: int32
        - name: month
          in: path
          required: true
          schema:
            maximum: 12
            minimum: 1
            type: integer
            format: int32
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/P32FormResponseBody'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ObjectResponseBody'
components:
  schemas:
    P32FormResponseBody:
      type: object
      properties:
        message:
          $ref: '#/components/schemas/MessageWithTokenResponse'
        content:
          $ref: '#/components/schemas/P32FormContentResponse'
        validationIssues:
          type: array
          items:
            $ref: '#/components/schemas/ValidationIssue'
          nullable: true
      additionalProperties: false
    ObjectResponseBody:
      type: object
      properties:
        message:
          $ref: '#/components/schemas/MessageWithTokenResponse'
        content:
          $ref: '#/components/schemas/ObjectContentResponse'
        validationIssues:
          type: array
          items:
            $ref: '#/components/schemas/ValidationIssue'
          nullable: true
      additionalProperties: false
    MessageWithTokenResponse:
      type: object
      properties:
        text:
          type: string
          nullable: true
        token:
          type: string
          nullable: true
        tokenArguments:
          type: array
          items:
            $ref: '#/components/schemas/ValidationIssueArgument'
          nullable: true
      additionalProperties: false
    P32FormContentResponse:
      type: object
      properties:
        data:
          $ref: '#/components/schemas/P32Form'
        metadata:
          $ref: '#/components/schemas/ContentMetadataResponse'
      additionalProperties: false
    ValidationIssue:
      type: object
      properties:
        field:
          type: string
          nullable: true
        reason:
          type: string
          nullable: true
        reasonToken:
          type: string
          nullable: true
        reasonTokenArguments:
          type: array
          items:
            $ref: '#/components/schemas/ValidationIssueArgument'
          nullable: true
      additionalProperties: false
    ObjectContentResponse:
      type: object
      properties:
        data:
          nullable: true
        metadata:
          $ref: '#/components/schemas/ContentMetadataResponse'
      additionalProperties: false
    ValidationIssueArgument:
      type: object
      properties:
        name:
          type: string
          nullable: true
        value:
          nullable: true
      additionalProperties: false
    P32Form:
      type: object
      properties:
        details:
          $ref: '#/components/schemas/P32Details'
        incomeTax:
          $ref: '#/components/schemas/P32IncomeTax'
        nationalInsurance:
          $ref: '#/components/schemas/P32NationalInsurance'
        statutoryPaymentsRecovery:
          $ref: '#/components/schemas/P32StatutoryPaymentsRecovery'
        apprenticeshipLevy:
          $ref: '#/components/schemas/P32ApprenticeshipLevy'
        cisDeductionsThisPeriod:
          type: number
          format: double
          nullable: true
        totals:
          $ref: '#/components/schemas/P32Totals'
        carriedForward:
          $ref: '#/components/schemas/P32CarriedForward'
        explained:
          $ref: '#/components/schemas/P32Explained'
      additionalProperties: false
    ContentMetadataResponse:
      type: object
      properties:
        dateFormat:
          type: string
          nullable: true
        dateTimeFormat:
          type: string
          nullable: true
        paginationToken:
          type: string
          nullable: true
      additionalProperties: false
    P32Details:
      type: object
      properties:
        taxPeriod:
          type: string
          nullable: true
        taxMonthNumber:
          type: integer
          format: int32
          nullable: true
        taxYearStart:
          type: integer
          format: int32
          nullable: true
        taxYearLabel:
          type: string
          nullable: true
        dateFrom:
          type: string
          format: date
          nullable: true
        dateTo:
          type: string
          format: date
          nullable: true
        paymentDueDate:
          type: string
          format: date
          nullable: true
        paymentDueDateNominal:
          type: string
          format: date
          nullable: true
        paymentDueDateShifted:
          type: boolean
        paymentDueDateBasis:
          enum:
            - Electronic
            - Postal
          type: string
        grossPay:
          type: number
          format: double
          nullable: true
        grossPayForNationalInsurance:
          type: number
          format: double
          nullable: true
      additionalProperties: false
    P32IncomeTax:
      type: object
      properties:
        incomeTax:
          type: number
          format: double
        studentLoan:
          type: number
          format: double
        postgraduateLoan:
          type: number
          format: double
        totalTax:
          type: number
          format: double
      additionalProperties: false
    P32NationalInsurance:
      type: object
      properties:
        employeeContribution:
          type: number
          format: double
        employerContribution:
          type: number
          format: double
        employmentAllowanceUsed:
          type: number
          format: double
        totalContribution:
          type: number
          format: double
      additionalProperties: false
    P32StatutoryPaymentsRecovery:
      type: object
      properties:
        maternityPayRecovered:
          type: number
          format: double
        maternityPayNationalInsuranceCompensation:
          type: number
          format: double
        paternityPayRecovered:
          type: number
          format: double
        paternityPayNationalInsuranceCompensation:
          type: number
          format: double
        adoptionPayRecovered:
          type: number
          format: double
        adoptionPayNationalInsuranceCompensation:
          type: number
          format: double
        sharedParentalPayRecovered:
          type: number
          format: double
        sharedParentalPayNationalInsuranceCompensation:
          type: number
          format: double
        parentalBereavementPayRecovered:
          type: number
          format: double
        parentalBereavementPayNationalInsuranceCompensation:
          type: number
          format: double
        neonatalCarePayRecovered:
          type: number
          format: double
        neonatalCarePayNationalInsuranceCompensation:
          type: number
          format: double
        totalForRecovered:
          type: number
          format: double
        totalForNationalInsuranceCompensation:
          type: number
          format: double
        totalRecovery:
          type: number
          format: double
      additionalProperties: false
    P32ApprenticeshipLevy:
      type: object
      properties:
        apprenticeshipLevy:
          type: number
          format: double
        apprenticeshipLevyToDate:
          type: number
          format: double
        apprenticeshipLevyDue:
          type: number
          format: double
      additionalProperties: false
    P32Totals:
      type: object
      properties:
        totalTaxDue:
          type: number
          format: double
        netNationalInsuranceDue:
          type: number
          format: double
        amountDueToHmrc:
          type: number
          format: double
      additionalProperties: false
    P32CarriedForward:
      type: object
      properties:
        nationalInsuranceEmploymentAllowanceRemaining:
          type: number
          format: double
      additionalProperties: false
    P32Explained:
      type: object
      properties:
        totalTaxExplained:
          type: string
          nullable: true
        totalNationalInsuranceExplained:
          type: string
          nullable: true
        totalStatutoryPaymentsRecoveredExplained:
          type: string
          nullable: true
        totalStatutoryPaymentsNationalInsuranceCompensationExplained:
          type: string
          nullable: true
        totalStatutoryPaymentsExplained:
          type: string
          nullable: true
        totalTaxDueExplained:
          type: string
          nullable: true
        netNationalInsuranceDueExplained:
          type: string
          nullable: true
        amountDueToHmrcExplained:
          type: string
          nullable: true
      additionalProperties: false
  securitySchemes:
    X-Auth-Token:
      type: apiKey
      description: Authentication token for API access
      name: X-Auth-Token
      in: header
    X-Org-Id:
      type: apiKey
      description: >-
        Organisation to scope the request to. Required when the principal can
        access more than one organisation; optional for single-organisation
        principals (the authorizer resolves it automatically).
      name: X-Org-Id
      in: header

````