@extends('layouts.app') @section('title','Payroll & finance') @section('content')

Payroll runs

Financial requests
@php($uiRows1=\App\Support\ListView::rows($runs,'payroll_runs'))
@forelse($uiRows1 as $run)@empty@endforelse
MonthStatusGrossDeductionsNet
{{ $run->period }}{{ $run->status }}{{ \App\Domain\Payroll\Money::format($run->gross_cents) }}{{ \App\Domain\Payroll\Money::format($run->deduction_cents) }}{{ $run->currency }} {{ \App\Domain\Payroll\Money::format($run->net_cents) }}
Configure a payroll policy, compensation and roster before creating the first run.
@can('payroll.manage')
@csrf
@endcan
@can('payroll.manage')

Payroll configuration

Create a dated company payroll policy

Salary and recurring components use calendar-day proration, including mid-month changes. Configure the agreed monthly hours, overtime multiplier and jurisdiction rules. No statutory rate is preselected.

@csrf

Tax example structure: [{"threshold":"0.00","rate":0}]. Thresholds are monthly amounts; rates use basis points. Tax and pension apply to gross less unpaid absence. Validate applicability with qualified payroll reviewers.

@foreach($policies as $p){{ $p->name }} · {{ $p->effective_on->toDateString() }} · {{ $p->currency }}@endforeach
Add an allowance or deduction version
@csrf

Append a zero-amount version to stop a component. Use approved requests for one-off benefits, arrears or adjustments.

@endcan @include('payroll.configuration-registers')

Bank details & WPS validation

Bank details are encrypted in the database and require an independent approver. WPS export is disabled until scanned bank/agent format-validation evidence and an approved profile exist. The adapter follows the DIB published reference; it does not validate LRA/bank master data or submit payments.

@php($listpayees=\App\Support\ListView::rows($payees,'payroll_payees'))@foreach($listpayees as $payee)

{{ $payee->employee->employee_number }} · Account ending {{ substr($payee->details['account'],-4) }} · {{ $payee->status }}

@can('payroll.approve')@if($payee->status==='pending')
Review full submitted bank details

Employee WPS ID: {{ $payee->details['employee_wps_id'] }} · Agent: {{ $payee->details['routing_code'] }}

Account: {{ $payee->details['account'] }} · {{ $payee->details['account_kind'] }}

@csrf
@endif @endcan
@endforeach @can('payroll.manage')
Enter or replace encrypted bank details
@csrf
Submit a bank-validated WPS profile
@csrf
@endcan @php($listprofiles=\App\Support\ListView::rows($profiles,'wps_profiles'))@foreach($listprofiles as $profile)

{{ $profile->format_version }} · {{ $profile->status }}

{{ $profile->validation_reference }}

Review bank-validation evidence@can('payroll.approve')@if($profile->status==='pending')
@csrf
@endif @endcan
@endforeach
@include('payroll.settlements') @endsection