Product, Inventory, Location Objects

The Product, Inventory, and Location objects in the app form the foundation of the Pipe17 data model. Together, they manage catalog data, inventory tracking, and multi-location fulfillment across connected sales channels and systems.

This framework supports:

  • Complex product configurations such as bundles and variants

  • Real-time inventory tracking across physical and virtual locations

  • Channel-specific product publishing and routing logic

  • Automated synchronization with connected integrations


Product Object

Purpose

The Product object represents catalog items that can be ordered, fulfilled, and synchronized across integrations. Products are the anchor point for inventory, pricing, and sales channel configurations.

Key Fields

Identification

  • productId – Auto-generated unique product ID within Pipe17

  • sku – Primary product identifier across systems

  • extProductId – External product ID from the source system

  • extProductApiId – External API identifier; must be unique per organization when defined

  • upc – Universal Product Code

  • name – Product name for display

Classification

  • types – Defines product type(s):
    simple, bundle, bundleItem, parent, child

  • statusactive or inactive

  • vendor – Manufacturer or supplier

  • partId – Manufacturer part number

  • countryOfOrigin – For customs and compliance

  • harmonizedCode – Harmonized System (HS) code for international shipping

Physical Attributes

  • weight, weightUnit – e.g., lb, oz, kg, g

  • height, width, length, dimensionsUnit – e.g., cm, in, ft

  • description – Product description

  • hideInStore – Controls marketplace visibility

Pricing and Cost

  • cost, costCurrency – Cost and its currency

  • prices[] – Array of named price points with name, value, and currency

  • taxable – Whether the product is taxable

Bundles and Variants

  • bundleItems[] – Components of a bundle with sku and quantity

  • parentExtProductId – Parent product external ID for variants

  • variantOptions[] – Variant attributes, e.g., Color, Size

Channel Publishing

  • published[] – Channel-specific publication details:

    • integrationId, sku, extProductId, status (tobepublished, published, etc.)

    • bufferInventory – Reserved channel buffer

    • inventoryNotTracked – Channel-specific tracking flag

    • updatedAt, updatedBy

Inventory and Visibility

  • inventoryNotTracked – Product-level flag for tracking

  • mappedProduct – Cross-system mapping reference

Metadata

  • tags[] – Product tags

  • customFields[] – Custom attributes

  • sourceDoc – Vendor source document reference

  • internal – System metadata

  • createdAt, updatedAt – Pipe17 timestamps

  • extProductCreatedAt, extProductUpdatedAt – External system timestamps

Automation and Exceptions

  • autoEngUpdateStatus, autoEngUpdateStatusUpdatedAt – Automation tracking

  • exceptions[], exceptionCategories[] – Error and classification tracking

Product Relationships

  • Organization: Linked via orgKey

  • Integration: Tracks the creating integration

  • Inventory: Connected by SKU

  • Bundle Items: Bundles reference component SKUs

  • Variants: Child products reference their parent through parentExtProductId

  • Published Channels: Each entry corresponds to a connected channel

  • Exceptions: Captures validation or sync issues


Inventory Object

Purpose

The Inventory object tracks product quantities, statuses, and movements across multiple locations. It powers real-time availability, order routing, and fulfillment accuracy.

Key Fields

Identification

  • inventoryId – Unique record ID

  • sku – Product SKU

  • locationId – Associated location

  • vendorSKU – Vendor-specific SKU reference

Quantity Fields

  • onHand – Total stock at location

  • available – Sellable stock (onHand - committed)

  • availableToPromise – Future available quantity

  • committed – Allocated but unshipped stock

  • commitShip, commitXfer – Quantities reserved for shipping or transfer

  • committedFuture – Future pre-allocated stock

  • incoming, future – Inbound or pre-order quantities

  • unavailable, damaged, hold – Non-sellable stock

Inventory Configuration

  • inventoryNotTracked – Disables tracking

  • typevirtual or physical

    • Virtual = Aggregate or calculated stock

    • Physical = Actual warehouse stock

Event Tracking

  • event – Inventory event type (expanded to 19 events):
    ingest, adjust, touch, POSOrder, virtualCommit, ship,
    shipCancel, shipCancelRestock, fulfill, futureShip, release,
    futureShipCancel, xferout, xferfulfill, xferin, receive, return

  • entityId, entityType – Related source (e.g., order, shipment)

  • orderId, orderType – Related order reference

  • user – Internal user who made the change

Ledger and Audit

  • label, tags, internal

  • createdAt, updatedAt – Record history

Inventory Relationships

  • Organization: Linked via orgKey

  • Product: Associated by SKU

  • Location: Tracks storage origin via locationId

  • Integration: Source of data sync

  • Related Entities: References orders, shipments, or transfers triggering changes


Location Object

Purpose

Locations represent physical or virtual fulfillment and storage sites. They define where inventory resides and where orders are routed.

Key Fields

  • locationId – Unique location ID

  • name – Location name

  • address – Physical address (see Address structure)

  • statusactive, inactive, etc.

  • integration, fulfillmentIntegrationId – Linked integrations

  • inventoryNotTracked – Exclude location from stock tracking

  • excludeFromTotals – Omits from aggregated inventory

  • preserveBundles – Keeps bundles intact when fulfilling

Additional Configuration

  • routingPaused, routingPausedRanges – Manage order routing windows

  • typephysical or virtual


Key Relationships and Interactions

Product → Inventory

Products and inventory are linked by sku.
Each product can have multiple inventory records across different locations.

Product → Location

Locations store product stock, controlling routing and fulfillment decisions.

Bundle and Variant Management

  • Bundles affect inventory for each component product.

  • Variants inherit parent product attributes and inventory tracking.

Virtual vs. Physical Inventory

  • Physical: Real stock at a defined location.

  • Virtual: Aggregated or computed inventory, useful for multi-location fulfillment.


Practical Applications

Inventory Management

  • Track stock by SKU and location

  • Monitor on-hand, committed, and incoming inventory

  • Separate physical and virtual stock for accuracy

Order Routing

  • Use inventory availability to route orders

  • Manage split shipments across multiple locations

Bundle Management

  • Manage inventory for bundles and components

  • Configure bundle breakdown or preservation at fulfillment

Multi-Channel Selling

  • Publish products to multiple marketplaces

  • Maintain channel-specific SKUs and inventory buffers


Need Help?

If you need additional assistance:

We're here to help you succeed with your operations.

Was this article helpful?
0 out of 0 found this helpful

Comments

0 comments

Article is closed for comments.

Have more questions?
Submit a request
Share it, if you like it.