{{ __('Expenses') }}

@include('accounting.partials.nav')
@if(($tab ?? 'main') === 'main')

Main Categories

@csrf

Main categories appear in the Expense form “Category” field.

@else

Subcategories

Choose a parent to manage its subcategories (similar to Product Subcategories).

@csrf

Subcategories appear after choosing a Category in the Expense form.

@endif
@if(($tab ?? 'main') === 'main') @if(($rootCategories ?? collect())->isEmpty()) @endif @foreach(($rootCategories ?? collect()) as $root) @php $isFeesRoot = strtolower(trim((string) ($root->name ?? ''))) === 'fees'; @endphp @endforeach @else @php $subs = ($all ?? collect())->whereNotNull('parent_id'); if (!empty($parentId)) { $subs = $subs->where('parent_id', (int) $parentId); } $subs = $subs->values(); $parentNames = ($rootCategories ?? collect())->keyBy('id'); @endphp @if($subs->isEmpty()) @endif @foreach($subs as $child) @php $parentName = $parentNames[(int) $child->parent_id]->name ?? ('#'.(int) $child->parent_id); @endphp @endforeach @endif
Name Level Status Actions
No expense categories yet.
{{ $root->name }} @if($isFeesRoot) (Permanent) @endif Category @if($root->is_active) Active @else Inactive @endif
@csrf
@if(!$isFeesRoot)
Edit
@csrf @method('PUT')
@else Edit locked @endif
No subcategories found.
{{ $child->name }} Subcategory ({{ $parentName }}) @if($child->is_active) Active @else Inactive @endif
@csrf
Edit
@csrf @method('PUT')