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

# Variable Payments

<Check>
  Variable payments are not directly written to the employees payslip. Instead, they are submitted to the payroll
  administrator for approval.

  This is also why you can't instantly see the variable payments in the GET endpoint. Once the variable payments have
  been approved, they will be included in the response.
</Check>


## OpenAPI

````yaml POST /api/v1/payrollContract/{contractId}/variable-payments
openapi: 3.1.0
info:
  title: VEDA API
  description: >-
    The VEDA API is a unified API that provides access to various components of
    the VEDA HR Cloud. It simplifies the integration process by offering a
    single entry point for all API requests.
  contact:
    name: Tim Augustin
    email: tim.augustin@veda.net
  version: v1
servers: []
security: []
paths:
  /api/v1/payrollContract/{contractId}/variable-payments:
    post:
      tags:
        - payroll-controller
      operationId: postVariablePayment
      parameters:
        - name: contractId
          in: path
          required: true
          schema:
            type: string
        - name: billingPeriod
          in: query
          required: true
          schema:
            type: string
            format: year-month
            description: Targeted billing period for this variable payment.
            examples:
              - 2026-05
            pattern: ^\d{4}-\d{2}$
      requestBody:
        description: >-
          New variable payments are automatically allocated to the employee's
          master cost center.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/VariablePaymentPost'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VariablePayment'
components:
  schemas:
    VariablePaymentPost:
      type: object
      properties:
        correctionPeriod:
          type: string
          format: year-month
          description: Month this payment affects. Defaults to the billingPeriod
          examples:
            - 2026-04
          pattern: ^\d{4}-\d{2}$
        compensationComponentId:
          type: string
          description: Compensation component that this payment is
        amount:
          type: number
          format: double
          description: Fixed amount to be taken into account
        hours:
          type: number
          format: double
        days:
          type: number
          format: double
        hourlyFactor:
          type: number
          format: double
        percentage:
          type: number
          format: double
    VariablePayment:
      type: object
      properties:
        payrollContractId:
          type: string
          description: Identifier of the payroll contract this payment belongs to
        billingPeriod:
          type: string
          format: year-month
          description: Billing period of this variable payment
          examples:
            - 2026-05
          pattern: ^\d{4}-\d{2}$
        correctionPeriod:
          type: string
          format: year-month
          description: Month this payment affects. Defaults to the billingPeriod
          examples:
            - 2026-04
          pattern: ^\d{4}-\d{2}$
        compensationComponentId:
          type: string
          description: Compensation component that this payment is
        amount:
          type: number
          format: double
          description: Fixed amount to be taken into account
        hours:
          type: number
          format: double
        days:
          type: number
          format: double
        hourlyFactor:
          type: number
          format: double
        percentage:
          type: number
          format: double

````