Creates a new employer under your organisation.
The company number is validated against Companies House. If an employer with the same company number already exists in your organisation, a 409 is returned with the existing employer's external_reference.
Body
Required
-
Companies House registration number
-
Registered company name
-
Email address of the primary contact at the employer
-
Role of the primary contact at the employer
Values are
CompanyDirector,Finance, orHR. -
How often the employer runs payroll
-
Expected start date of the first pay period (YYYY-MM-DD)
-
Expected cadence for pay periods
-
Default employee contribution percentage
Minimum value is
0, maximum value is100. -
Default employer contribution percentage
Minimum value is
0, maximum value is100. -
Basis on which pension contributions are calculated
-
Whether the employer allows salary sacrifice arrangements
Default value is
false. -
How the employer will pay pension contributions
-
Approximate number of employees to be enrolled
Minimum value is
1.
curl \
--request POST 'https://payroll-api.getpenfold.dev/v4/employers' \
--header "Authorization: Bearer $ACCESS_TOKEN" \
--header "Content-Type: application/json" \
--data '{"company_number":"12345678","company_name":"Acme Ltd","primary_contact_email":"payroll@acme.com","primary_contact_role":"HR","payroll_frequencies":["Monthly"],"expected_first_pay_period_start_date":"2025-03-01","expected_pay_period_cadence":"TaxYear","default_employee_contributions_percent":5,"default_employer_contributions_percent":3,"contribution_basis":"QualifyingEarnings","allows_salary_sacrifice":false,"payment_method":"BankTransfer","number_of_employees":50}'
{
"company_number": "12345678",
"company_name": "Acme Ltd",
"primary_contact_email": "payroll@acme.com",
"primary_contact_role": "HR",
"payroll_frequencies": [
"Monthly"
],
"expected_first_pay_period_start_date": "2025-03-01",
"expected_pay_period_cadence": "TaxYear",
"default_employee_contributions_percent": 5,
"default_employer_contributions_percent": 3,
"contribution_basis": "QualifyingEarnings",
"allows_salary_sacrifice": false,
"payment_method": "BankTransfer",
"number_of_employees": 50
}
{
"id": "e1234-abcd-5678-efgh",
"created_at": "2023-03-01T12:00:00Z",
"updated_at": "2023-03-15T12:00:00Z",
"name": "Acme Corp.",
"contribution_basis": "QualifyingEarnings",
"allows_salary_sacrifice": false,
"external_reference": "ABC123",
"company_number": "12345678",
"payment_method": "DirectDebit",
"primary_contact_email": "john.doe@example.com",
"primary_contact_role": "HR",
"default_employee_contributions_percent": 5,
"default_employer_contributions_percent": 3,
"status": "Active"
}
{
"error": "Bad request: invalid data provided.",
"validation_errors": [
{
"field": "email",
"message": "Email address is invalid."
}
]
}
{
"error": "Bad request: invalid data provided."
}
{
"error": "Bad request: invalid data provided."
}
{
"error": "Bad request: invalid data provided."
}
{
"error": "Bad request: invalid data provided."
}
{
"error": "employer already exists",
"external_reference": "PEN12345678"
}
{
"error": "Bad request: invalid data provided."
}