Workday Payroll · JSON Structure

Workday Payroll Payslip Structure

A payslip represents a worker's pay statement for a specific pay period, detailing earnings, deductions, taxes, and net pay amounts along with year-to-date totals.

Type: object Properties: 16 Required: 4
CompensationEnterpriseHuman ResourcesPayrollSaaSTax

Workday Payroll Payslip is a JSON Structure definition published by Workday Payroll, describing 16 properties, of which 4 are required. It conforms to the https://json-structure.org/meta/core/v0/# meta-schema.

Properties

id worker payPeriod paymentDate grossPay netPay totalEarnings totalDeductions totalTaxes currency earnings deductions taxes yearToDateGross yearToDateNet yearToDateTaxes

Meta-schema: https://json-structure.org/meta/core/v0/#

JSON Structure

Raw ↑
{
  "$schema": "https://json-structure.org/meta/core/v0/#",
  "$id": "https://raw.githubusercontent.com/api-evangelist/workday-payroll/refs/heads/main/json-structure/workday-payroll-payslip-structure.json",
  "name": "Workday Payroll Payslip",
  "description": "A payslip represents a worker's pay statement for a specific pay period, detailing earnings, deductions, taxes, and net pay amounts along with year-to-date totals.",
  "type": "object",
  "required": [
    "worker",
    "payPeriod",
    "grossPay",
    "netPay"
  ],
  "properties": {
    "id": {
      "type": "string",
      "description": "Unique identifier for the payslip"
    },
    "worker": {
      "$ref": "#/$defs/WorkerRef"
    },
    "payPeriod": {
      "$ref": "#/$defs/PayPeriod"
    },
    "paymentDate": {
      "type": "date",
      "description": "Date of payment"
    },
    "grossPay": {
      "type": "double",
      "minimum": 0,
      "description": "Total gross pay for the period"
    },
    "netPay": {
      "type": "double",
      "minimum": 0,
      "description": "Total net pay after all deductions and taxes"
    },
    "totalEarnings": {
      "type": "double",
      "minimum": 0,
      "description": "Sum of all earnings for the period"
    },
    "totalDeductions": {
      "type": "double",
      "minimum": 0,
      "description": "Sum of all deductions for the period"
    },
    "totalTaxes": {
      "type": "double",
      "minimum": 0,
      "description": "Sum of all tax withholdings for the period"
    },
    "currency": {
      "type": "string",
      "pattern": "^[A-Z]{3}$",
      "description": "ISO 4217 currency code"
    },
    "earnings": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/EarningLine"
      },
      "description": "Itemized earnings breakdown"
    },
    "deductions": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/DeductionLine"
      },
      "description": "Itemized deductions breakdown"
    },
    "taxes": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/TaxLine"
      },
      "description": "Itemized tax withholdings breakdown"
    },
    "yearToDateGross": {
      "type": "double",
      "minimum": 0,
      "description": "Year-to-date gross pay"
    },
    "yearToDateNet": {
      "type": "double",
      "minimum": 0,
      "description": "Year-to-date net pay"
    },
    "yearToDateTaxes": {
      "type": "double",
      "minimum": 0,
      "description": "Year-to-date tax withholdings"
    }
  },
  "definitions": {
    "WorkerRef": {
      "name": "WorkerRef",
      "type": "object",
      "description": "Reference to a worker in the Workday system",
      "properties": {
        "id": {
          "type": "string",
          "description": "Worker unique identifier"
        },
        "descriptor": {
          "type": "string",
          "description": "Worker display name"
        }
      }
    },
    "PayPeriod": {
      "name": "PayPeriod",
      "type": "object",
      "description": "Date range defining the pay period",
      "required": [
        "startDate",
        "endDate"
      ],
      "properties": {
        "startDate": {
          "type": "date",
          "description": "Start date of the pay period"
        },
        "endDate": {
          "type": "date",
          "description": "End date of the pay period"
        }
      }
    },
    "EarningLine": {
      "name": "EarningLine",
      "type": "object",
      "description": "A single line item for an earning on the payslip",
      "properties": {
        "earningCode": {
          "type": "string",
          "description": "Earning code descriptor"
        },
        "currentAmount": {
          "type": "double",
          "description": "Current period amount"
        },
        "currentHours": {
          "type": "double",
          "description": "Current period hours worked"
        },
        "rate": {
          "type": "double",
          "description": "Pay rate applied"
        },
        "yearToDateAmount": {
          "type": "double",
          "description": "Year-to-date total for this earning"
        }
      }
    },
    "DeductionLine": {
      "name": "DeductionLine",
      "type": "object",
      "description": "A single line item for a deduction on the payslip",
      "properties": {
        "deductionCode": {
          "type": "string",
          "description": "Deduction code descriptor"
        },
        "employeeAmount": {
          "type": "double",
          "description": "Employee contribution amount"
        },
        "employerAmount": {
          "type": "double",
          "description": "Employer contribution amount"
        },
        "preTax": {
          "type": "boolean",
          "description": "Whether the deduction is pre-tax"
        },
        "yearToDateEmployee": {
          "type": "double",
          "description": "Year-to-date employee amount"
        },
        "yearToDateEmployer": {
          "type": "double",
          "description": "Year-to-date employer amount"
        }
      }
    },
    "TaxLine": {
      "name": "TaxLine",
      "type": "object",
      "description": "A single line item for a tax withholding on the payslip",
      "properties": {
        "taxAuthority": {
          "type": "string",
          "description": "Tax authority name"
        },
        "taxType": {
          "type": "string",
          "description": "Type of tax"
        },
        "currentAmount": {
          "type": "double",
          "description": "Current period tax amount"
        },
        "yearToDateAmount": {
          "type": "double",
          "description": "Year-to-date tax amount"
        }
      }
    }
  }
}