Parts Catalog

Manage your inventory with {{ number_format($parts->total()) }} total parts

Record Movement Add New Part

Filter & Search

Clear All
Search Parts
Category @foreach($categories as $category) @endforeach
Stock Status
Supplier @foreach($suppliers as $supplier) @endforeach
Sort By
@if($search) Search: "{{ $search }}" @endif @if($categoryFilter) Category: {{ ucfirst(str_replace('_', ' ', $categoryFilter)) }} @endif @if($stockFilter) Stock: {{ ucfirst(str_replace('_', ' ', $stockFilter)) }} @endif @if($supplierFilter) Supplier: {{ $suppliers->firstWhere('id', $supplierFilter)?->name ?? 'Unknown' }} @endif
Showing {{ $parts->firstItem() ?? 0 }} to {{ $parts->lastItem() ?? 0 }} of {{ number_format($parts->total()) }} parts
Per page:
@forelse($parts as $part) @empty @endforelse
Part # @if($sortBy === 'part_number') @endif
Part Details @if($sortBy === 'name') @endif
Supplier
Stock Level @if($sortBy === 'quantity_on_hand') @endif
Pricing @if($sortBy === 'cost_price') @endif
Status Actions
{{ $part->part_number }}
@if($part->barcode)
{{ $part->barcode }}
@endif
{{ $part->name }}
@if($part->description)
{{ Str::limit($part->description, 100) }}
@endif
@if($part->category) {{ ucfirst(str_replace('_', ' ', $part->category)) }} @endif @if($part->manufacturer) by {{ $part->manufacturer }} @endif
@if($part->supplier)
{{ $part->supplier->name }}
@if($part->supplier->contact_email)
{{ $part->supplier->contact_email }}
@endif @else No supplier @endif
{{ number_format($part->quantity_on_hand) }} @if($part->minimum_stock_level) Min: {{ $part->minimum_stock_level }} @endif @if($part->unit_of_measurement) {{ $part->unit_of_measurement }} @endif
${{ number_format($part->sell_price, 2) }}
Cost: ${{ number_format($part->cost_price, 2) }}
@if($part->sell_price > $part->cost_price)
{{ number_format((($part->sell_price - $part->cost_price) / $part->cost_price) * 100, 1) }}% margin
@endif
@if($part->quantity_on_hand <= 0) Out of Stock @elseif($part->quantity_on_hand <= $part->minimum_stock_level) Low Stock @elseif($part->quantity_on_hand > ($part->maximum_stock_level ?? 1000)) Overstock @else In Stock @endif
View Edit
@if($part->category) {{ ucfirst($part->category) }} @endif {{ $part->supplier?->full_name ?? 'No Supplier' }}
{{ number_format($part->quantity_on_hand) }} {{ ucfirst(str_replace('_', ' ', $part->stock_status)) }}
Min: {{ $part->minimum_stock_level }}

No parts found

@if($search || $categoryFilter || $stockFilter || $supplierFilter) No parts match your current filters. Try adjusting your search criteria. @else Get started by adding your first part to the catalog. @endif

@if($search || $categoryFilter || $stockFilter || $supplierFilter) Clear Filters @endif Add First Part
@if($parts->hasPages())
Showing {{ $parts->firstItem() }} to {{ $parts->lastItem() }} of {{ number_format($parts->total()) }} results
{{ $parts->links() }}
@endif