@extends('layouts.mainlayout') @section('title', 'Payroll '.sprintf('%04d-%02d',$run->year,$run->month).' | Manpower Sweden') @section('fullwidth', true) @section('content')
PAYROLL RUN

{{ sprintf('%04d-%02d',$run->year,$run->month) }}

{{ $run->period_start }} – {{ $run->period_end }} · Tax table {{ $run->tax_table }}

Back to payroll runs
@if(session('success'))
{{ session('success') }}
@endif @if($errors->any())
{{ $errors->first() }}
@endif @if(session('import_errors'))
Import warnings
@endif
1CSV input
2Days & nights
3Costs & tax review
4Payout
5AGI XML
@foreach(['agreed_net'=>'Agreed NET','allowance'=>'Traktamente','costs'=>'Costs','taxable_net'=>'Taxable NET','advances'=>'Advances','payout'=>'Payout'] as $key=>$label)
{{ $label }}{{ number_format($totals[$key],2,'.',' ') }} SEK
@endforeach
Import and exports
@csrf
CSVXLSX
@csrf
Days and nights are initially derived from farm assignments and remain editable. Tax and gross must be reviewed manually until the exact Skattetabell calculation method is confirmed; AGI generation remains safely blocked.
Workers {{ str_replace('_',' ',ucfirst($run->status)) }}
@forelse($workers as $worker) @empty@endforelse
WorkerAgreed NETDaysNightsAllowanceCostsTaxable NETTax regimeTaxGrossAdvancesPayoutStatusAction
{{ $worker->worker_name }}{{ $worker->staff_id }} {{ number_format($worker->agreed_net,2,'.',' ') }} {{ number_format($worker->allowance,2,'.',' ') }} {{ number_format($worker->taxable_net,2,'.',' ') }} {{ number_format($worker->payout,2,'.',' ') }} {{ str_replace('_',' ',ucfirst($worker->status)) }}
@csrf @method('put')
Import a CSV to start this payroll run.
@endsection