Skip to content

Inventory & Vendor Supply

Inventory & Vendor Supply is the domain that turns vendor-facing supply data into the canonical inventory rows Pyle can actually sell, ship, and surface to customers.

This is the right next deep documentation pass because the framework clearly separates:

  • canonical sellable inventory
  • vendor feed staging records
  • vendor-to-product mapping and review workflows
  • location and pickup behavior that affects both admin operations and storefront selection

Status

  • [x] Domain overview written
  • [x] Subdomains reviewed
  • [x] Technical node pages linked
  • [x] End-user concept pages linked
  • [x] Task guides linked

Responsibility

This domain is responsible for:

  • storing canonical product inventory by product and inventory location
  • storing vendor, vendor location, vendor catalog, and staged inventory feed records
  • reviewing and approving how vendor items map to real products
  • synchronizing validated vendor supply into canonical inventory
  • exposing pickup-capable inventory locations to storefront and fulfillment flows

Subdomains

  • Inventory Network And Canonical Availability
    • ProductInventoryLocation
    • ProductInventoryItem
    • StockHistory
  • Vendor Supply Master And Feed Staging
    • ProductVendor
    • ProductVendorCatalogItem
    • ProductVendorCatalogInventoryItem
  • Vendor-To-Product Mapping And Review
    • ProductVendorMapping
    • ProductMappingAttempt
    • AlternateCode
  • Vendor Assignment Rules
    • ProductManufacturerProductVendor
    • ProductCategoryProductVendor
    • ProductTypeProductVendor
    • ProductAttributeProductVendor
    • ProductCollectionProductVendor
  • Folded Supporting Records
    • ProductVendorInventoryItem
    • ProductVendorItem

Classification Decisions

Standalone technical pages

Standalone end-user pages

Standalone task guides

Folded into parent pages for now

  • AlternateCode
    • folded into Product Mapping Attempt
  • ProductVendorInventoryItem
    • folded into Product Vendor as legacy raw inventory support
  • ProductVendorItem
    • folded into Product Vendor Mapping as a legacy alias over the mappings table
  • vendor assignment pivots such as ProductManufacturerProductVendor, ProductCategoryProductVendor, ProductTypeProductVendor, ProductAttributeProductVendor, ProductCollectionProductVendor
    • folded into Product Vendor

Explicitly not getting standalone end-user concept pages in this pass

  • ProductInventoryItem
  • ProductVendorCatalogInventoryItem

ProductInventoryItem remains mostly nested operational data, and ProductVendorCatalogInventoryItem remains embedded in catalog-item review rather than a stable standalone concept in the shipped UI.

Evidence Highlights

Framework ownership

  • packages/framework/src/Models/ProductInventoryLocation.php
  • packages/framework/src/Models/ProductInventoryItem.php
  • packages/framework/src/Models/ProductVendor.php
  • packages/framework/src/Models/ProductVendorCatalogItem.php
  • packages/framework/src/Models/ProductVendorCatalogInventoryItem.php
  • packages/framework/src/Models/ProductVendorMapping.php
  • packages/framework/src/Models/ProductMappingAttempt.php
  • packages/framework/src/Models/AlternateCode.php

Admin surfaces

  • packages/admin/routes/web.php
  • packages/admin/src/Livewire/Admin/Inventory
  • packages/admin/src/Livewire/Admin/ProductInventoryItem
  • packages/admin/src/Livewire/Admin/Settings/Locations
  • packages/admin/src/Livewire/Admin/Vendors
  • packages/admin/src/Livewire/Admin/Vendor
  • packages/admin/src/Livewire/Admin/Tools/Excel

Storefront surfaces

  • packages/storefront/src/StorefrontSession.php
  • packages/framework/src/Http/Controllers/Api/Storefront/InventoryLocationController.php
  • packages/framework/src/Http/Resources/Storefront/ProductInventoryLocationResource.php
  • packages/framework/src/Http/Resources/Storefront/ProductInventoryItemResource.php

Integration and bulk-data surfaces

  • packages/framework/src/Actions/ErpBridge/ProductInventoryLocation
  • packages/framework/src/Actions/ErpBridge/ProductInventoryItem
  • packages/framework/src/Actions/DataFeed/Runs/UpdateOrCreateProductVendorCatalogItem.php
  • packages/framework/src/Actions/DataFeed/Runs/UpdateOrCreateProductVendorCatalogInventoryItem.php
  • packages/framework/src/Exports/ProductVendorMapping/BulkEditor
  • packages/framework/src/Imports/ProductVendorMapping/BulkEditor
  • packages/erp-bridge/src/Requests/InventoryLocations/GetInventoryLocationsRequest.php
  • packages/erp-bridge/src/Requests/ProductInventoryItems/GetProductInventoryItemsRequest.php
  • ProductInventoryLocation is the model name, but the packaged UI also uses warehouse and pickup-location language. This batch uses Inventory Location as the primary business label and calls out the aliases where they matter.
  • ProductInventoryItem, ProductVendorInventoryItem, and ProductVendorCatalogInventoryItem are not interchangeable. The first is canonical sellable inventory, the second is a legacy raw vendor inventory abstraction, and the third is staged vendor stock by vendor catalog item and location.
  • ProductVendorMapping is a first-class workflow even without a generic CRUD controller. It has dedicated admin pages, mapping dialogs, review state, and Excel round-trip tooling.
  • Stock History remains linked as an existing example page, but the domain narrative now treats it as a supporting inventory-item audit record rather than a primary sprint target.

Priority Technical Pages

Priority End-User Pages

Priority Task Guides