Generate payrolls

Add MCP server to your AI tool

Allow AI tools and LLMs to interact with the API documentation portal through MCP.

MCP server URL

https://restapi.wyzio.com/mcp

Standard setup for AI tools providing an mcp.json file

mcp.json
{
  "Wyzio MCP server": {
    "url": "https://restapi.wyzio.com/mcp"
  }
}

Close
POST /api-v1/payroll/generate

Generates payrolls for the authenticated user's organization based on the provided information and returns the generated payrolls.

Headers

  • WEAL-TOKEN Required

    API token (can be retrieved from account settings)

  • TARGET-ORGANIZATION-ID

    ID of organization, for which the operation must be performed

application/json

Body Required

  • id integer

    Entity ID. If negative value, a new entity will be created

  • calendarYear integer(int32) Required

    Calendar year

  • monthType string Required

    Payroll month

    Values are JANUARY, FEBRUARY, MARCH, APRIL, MAY, JUNE, JULY, AUGUST, SEPTEMBER, OCTOBER, NOVEMBER, or DECEMBER.

  • monthStartDate string(date-time)

    Start date of the month period

  • monthEndDate string(date-time)

    End date of the month period

  • date string Required

    Generation date (format dd/MM/yyyy). Must not fall within a locked accounting period

  • employees array[object]

    Employee to generate a payroll entry for

    Hide employees attributes Show employees attributes object

    Employee to generate a payroll entry for

    • id integer

      Entity ID. If negative value, a new entity will be created

    • staffId integer Required

      Staff (employee) ID

    • currencyId integer

      Payroll currency ID

    • staffAccountId integer

      Staff payment chart of accounts ID

    • staffPayslipId integer

      Staff payslip configuration ID

    • organizationAccountId integer

      Organization payment chart of accounts ID

    • genderType string

      Employee gender

      Values are MALE, FEMALE, or OTHER.

    • salaryType string

      Salary type

      Values are MONTHLY or HOURLY.

    • birthday string

      Employee birthday (format dd/MM/yyyy)

    • payableToBankId integer

      Bank ID to pay the salary to

Responses

  • 200 application/json

    OK

    Hide response attributes Show response attributes object
    • id integer(int64)
    • organizationId integer(int64)
    • createdOn string(date-time) Required

      Date in ISO 8601 format (yyyy-MM-dd'T'HH:mm:ss.SSS'Z')

      Minimum length is 1.

    • paymentDate string(date-time) Required

      Date in ISO 8601 format (yyyy-MM-dd'T'HH:mm:ss.SSS'Z')

      Minimum length is 1.

    • calendarYear integer(int32)
    • monthType string

      Values are JANUARY, FEBRUARY, MARCH, APRIL, MAY, JUNE, JULY, AUGUST, SEPTEMBER, OCTOBER, NOVEMBER, or DECEMBER.

    • monthStartDate string(date-time)
    • monthEndDate string(date-time)
    • staffEntityId integer(int64)
    • contactEntityId integer(int64)
    • currencyId integer(int64)
    • employeeInfoId integer(int64)
    • address object
      Hide address attributes Show address attributes object
      • id integer(int64)
      • name string Required

        Minimum length is 1.

      • line1 string
      • line2 string
      • city string
      • region object
        Hide region attributes Show region attributes object
        • id integer(int64)
        • name string
        • code string
        • taxMode string

          Values are ANNUALLY or MONTHLY.

      • countryCode2 string
      • postCode string
      • toTheAttentionOf string
      • position integer(int32)
      • houseNumber string
      • countryId integer(int64) Required
      • service string
      • readOnly boolean
    • grossSalary string
    • netSalary string
    • payable string
    • description string
    • status string

      Values are UNPAID, PAID, PARTIALLY_PAID, or WIRED.

    • warnings string
    • isDeleted boolean
    • payrollLines array[object]
      Hide payrollLines attributes Show payrollLines attributes object
      • id integer(int64)
      • payrollEntityId integer(int64)
      • payslipLineEntityId integer(int64)
      • number integer(int64)
      • localizations object
        Hide localizations attributes Show localizations attributes object
        • id integer(int64)
        • en string
        • fr string
        • de string
        • it string
      • payslipValueType string

        Values are VALUE or PERCENTAGE.

      • isAutomaticallyAdded boolean
      • payslipLineType string

        Values are EMPLOYEE_LINE, COMPANY_LINE, BOTH, CALCULATION, or SYSTEM.

      • description string
      • baseAmount string

        Numeric value represented as string

      • employeeRate string

        Numeric value represented as string

      • employerRate string

        Numeric value represented as string

      • employeeAmount string

        Numeric value represented as string

      • employerAmount string

        Numeric value represented as string

      • specialAttributionType string

        Values are BASE_SALARY, GROSS_SALARY, NET_SALARY, PAYABLE, CHARGES, EMPLOYEE_ALLOCATION, or SYSTEM_LINE_ADJUSTMENT.

      • isChanged boolean
      • isShownOnSalarySlip boolean
      • orgEmployeeGroupId integer(int64)
    • payrollPayments array[object]
      Hide payrollPayments attributes Show payrollPayments attributes object
      • id integer(int64)
      • payrollEntityId integer(int64)
      • requestedDate string(date-time) Required

        Date in ISO 8601 format (yyyy-MM-dd'T'HH:mm:ss.SSS'Z')

        Minimum length is 1.

      • plannedDate string(date-time)

        Date in ISO 8601 format (yyyy-MM-dd'T'HH:mm:ss.SSS'Z')

      • sentDate string(date-time)

        Date in ISO 8601 format (yyyy-MM-dd'T'HH:mm:ss.SSS'Z')

      • valueDate string(date-time)

        Date in ISO 8601 format (yyyy-MM-dd'T'HH:mm:ss.SSS'Z')

      • requestedAmount string

        Numeric value represented as string

      • paidAmount string

        Numeric value represented as string

      • bankCharges string

        Numeric value represented as string

      • payableByAccountId integer(int64) Required
      • payableToBankId integer(int64)
      • isFromLockedAccountingPeriod boolean
    • journalEntryId integer(int64)
    • staffPayslipId integer(int64)
    • removedPayrollLineNumbers array[integer(int64)]
    • isFromLockedAccountingPeriod boolean
    • isDocSent boolean
  • 400

    400 Bad Request

  • 401

    401 Unauthorized

  • 403

    403 Access Denied

  • 404

    404 Not Found

  • 500

    500 Internal Server Error

POST /api-v1/payroll/generate
curl \
 --request POST 'https://wyzio.app/api-v1/payroll/generate' \
 --header "Content-Type: application/json" \
 --data '{"id":12345678,"calendarYear":2026,"monthType":"JUNE","monthStartDate":"2026-06-01","monthEndDate":"2026-06-30","date":"01/06/2026","employees":[{"id":12345678,"staffId":12345678,"currencyId":12345678,"staffAccountId":12345678,"staffPayslipId":12345678,"organizationAccountId":12345678,"genderType":"MALE","salaryType":"MONTHLY","birthday":"15/03/1985","payableToBankId":12345678}]}'
Request examples
# Headers

# Payload
{
  "id": 12345678,
  "calendarYear": 2026,
  "monthType": "JUNE",
  "monthStartDate": "2026-06-01",
  "monthEndDate": "2026-06-30",
  "date": "01/06/2026",
  "employees": [
    {
      "id": 12345678,
      "staffId": 12345678,
      "currencyId": 12345678,
      "staffAccountId": 12345678,
      "staffPayslipId": 12345678,
      "organizationAccountId": 12345678,
      "genderType": "MALE",
      "salaryType": "MONTHLY",
      "birthday": "15/03/1985",
      "payableToBankId": 12345678
    }
  ]
}
Response examples (200)
[
  {
    "id": 42,
    "organizationId": 42,
    "createdOn": "2026-01-01T00:00:00.000Z",
    "paymentDate": "2026-01-01T00:00:00.000Z",
    "calendarYear": 42,
    "monthType": "JANUARY",
    "monthStartDate": "2026-05-04T09:42:00Z",
    "monthEndDate": "2026-05-04T09:42:00Z",
    "staffEntityId": 42,
    "contactEntityId": 42,
    "currencyId": 42,
    "employeeInfoId": 42,
    "address": {
      "id": 42,
      "name": "string",
      "line1": "string",
      "line2": "string",
      "city": "string",
      "region": {
        "id": 42,
        "name": "string",
        "code": "string",
        "taxMode": "ANNUALLY"
      },
      "countryCode2": "string",
      "postCode": "string",
      "toTheAttentionOf": "string",
      "position": 42,
      "houseNumber": "string",
      "countryId": 42,
      "service": "string",
      "readOnly": true
    },
    "grossSalary": "string",
    "netSalary": "string",
    "payable": "string",
    "description": "string",
    "status": "UNPAID",
    "warnings": "string",
    "isDeleted": true,
    "payrollLines": [
      {
        "id": 42,
        "payrollEntityId": 42,
        "payslipLineEntityId": 42,
        "number": 42,
        "localizations": {
          "id": 42,
          "en": "string",
          "fr": "string",
          "de": "string",
          "it": "string"
        },
        "payslipValueType": "VALUE",
        "isAutomaticallyAdded": true,
        "payslipLineType": "EMPLOYEE_LINE",
        "description": "string",
        "baseAmount": "100.55",
        "employeeRate": "100.55",
        "employerRate": "100.55",
        "employeeAmount": "100.55",
        "employerAmount": "100.55",
        "specialAttributionType": "BASE_SALARY",
        "isChanged": true,
        "isShownOnSalarySlip": true,
        "orgEmployeeGroupId": 42
      }
    ],
    "payrollPayments": [
      {
        "id": 42,
        "payrollEntityId": 42,
        "requestedDate": "2026-01-01T00:00:00.000Z",
        "plannedDate": "2026-01-01T00:00:00.000Z",
        "sentDate": "2026-01-01T00:00:00.000Z",
        "valueDate": "2026-01-01T00:00:00.000Z",
        "requestedAmount": "100.55",
        "paidAmount": "100.55",
        "bankCharges": "100.55",
        "payableByAccountId": 42,
        "payableToBankId": 42,
        "isFromLockedAccountingPeriod": true
      }
    ],
    "journalEntryId": 42,
    "staffPayslipId": 42,
    "removedPayrollLineNumbers": [
      42
    ],
    "isFromLockedAccountingPeriod": true,
    "isDocSent": true
  }
]