# PipeStock Pro sample data package

PipeStock Pro has 2 buyer-ready CSV template(s), 3 mapped source group(s), and 10 checks for moving from seeded demo data to a first tenant dry import.

Product: PipeStock Pro
Tenant: Riverbend Plumbing Supply
Production domain: plumbing-supply.ideas-realized.com
Canonical page: /demo-library/plumbing-supply
Preview screen: Branch ops board (ops) - branch command center and counter inventory control
Preview URL: https://plumbing-supply.ideas-realized.com?screen=ops
JSON manifest: /demo-library/plumbing-supply/sample-data-package.json

## Counts
- CSV templates: 2
- Sample rows: 4
- Source groups: 3
- Mapped fields: 10
- Required fields: 8
- Validation gates: 3
- Acceptance checks: 10

## Cutover
Run a read-only SKU import, validate bin and on-hand values with counter staff, then enable receiving and will-call status updates for the pilot category.

## Privacy Note
Customer-specific pricing and margin fields should stay out of the first import unless role permissions and audit history are approved.

## Source Maps

### 1. SKU master
System: ERP item export or branch inventory spreadsheet
Owner: Branch operations manager
Cadence: Nightly CSV during pilot
Status: ready
Records: 250 to 1,500 SKU records

| Source field | Target field | Required | Validation |
| --- | --- | --- | --- |
| sku | Product.sku | Yes | SKU must be unique inside branch and category. |
| description | Product.description | Yes | Description required for counter search. |
| bin_location | InventoryLocation.bin | Yes | Missing bin imports as counter-blocking exception. |
| on_hand | InventoryBalance.onHand | Yes | Negative quantities require branch manager review. |

### 2. Supplier and reorder file
System: ERP purchasing export
Owner: Purchasing lead
Cadence: Weekly refresh
Status: template
Records: 100 to 800 supplier/SKU rows

| Source field | Target field | Required | Validation |
| --- | --- | --- | --- |
| supplier_name | Supplier.name | Yes | Unknown suppliers import as needs-review. |
| reorder_point | Product.reorderPoint | No | Blank values trigger low-stock rule review. |
| lead_time_days | Supplier.leadTimeDays | No | Lead times above threshold require buyer confirmation. |

### 3. Will-call queue
System: Counter order export or inside sales spreadsheet
Owner: Inside sales lead
Cadence: Daily during branch pilot
Status: needs-client
Records: 20 to 90 open will-call orders

| Source field | Target field | Required | Validation |
| --- | --- | --- | --- |
| order_number | WillCall.orderNumber | Yes | Order number must be unique per branch. |
| sku | WillCallLine.productId | Yes | SKU must exist in current pilot category. |
| status | WillCall.status | Yes | Missing status imports as hold. |

## CSV Templates

### 1. SKU catalog import
Download: /demo-library/plumbing-supply/import-templates/sku-catalog
File: plumbing-supply-sku-catalog.csv
Source system: ERP item export or branch inventory spreadsheet
Owner: Branch operations lead
Cadence: Initial branch load, then nightly export during pilot

Loads searchable products, stock thresholds, pick locations, supplier labels, and counter pricing.

| Column | Required | Example | Description |
| --- | --- | --- | --- |
| sku | Yes | PEX-ELB-075 | Primary SKU or item number. |
| item_name | Yes | 3/4 in PEX elbow | Counter-facing item name. |
| category | Yes | PEX fittings | Product category for filtering. |
| supplier | Yes | AquaLine Supply | Primary supplier name. |
| bin_location | Yes | B-08-04 | Primary warehouse or counter slot. |
| on_hand | Yes | 42 | Current available quantity. |
| reorder_point | Yes | 24 | Low-stock threshold. |
| unit_price | No | 3.48 | Counter sale price. |

Sample rows:
| sku |item_name |category |supplier |bin_location |on_hand |reorder_point |unit_price |
| --- |--- |--- |--- |--- |--- |--- |--- |
| PEX-ELB-075 |3/4 in PEX elbow |PEX fittings |AquaLine Supply |B-08-04 |42 |24 |3.48 |
| VAL-BRS-100 |1 in brass ball valve |Valves |BrassWorks |A-14-02 |11 |18 |28.90 |

Acceptance checks:
- SKU values are unique after alias normalization.
- on_hand and reorder_point parse as non-negative numbers.
- Bin locations match the branch pick-slot format used in the pilot.

### 2. Open purchase orders import
Download: /demo-library/plumbing-supply/import-templates/receiving-open-pos
File: plumbing-supply-open-purchase-orders.csv
Source system: ERP purchasing export
Owner: Warehouse supervisor
Cadence: Daily during scanner acceptance testing

Seeds receiving sessions, expected lines, supplier ETAs, and variance review status.

| Column | Required | Example | Description |
| --- | --- | --- | --- |
| po_id | Yes | PO-77421 | Purchase order identifier. |
| supplier | Yes | AquaLine Supply | Supplier name. |
| sku | Yes | PEX-ELB-075 | Expected SKU from the catalog import. |
| expected_qty | Yes | 120 | Expected received quantity. |
| eta | No | 2026-07-01 | Expected arrival date. |
| dock | No | Dock 2 | Receiving dock or branch bay. |

Sample rows:
| po_id |supplier |sku |expected_qty |eta |dock |
| --- |--- |--- |--- |--- |--- |
| PO-77421 |AquaLine Supply |PEX-ELB-075 |120 |2026-07-01 |Dock 2 |
| PO-77422 |BrassWorks |VAL-BRS-100 |36 |2026-07-03 |Dock 1 |

Acceptance checks:
- Every PO line references an imported SKU.
- Expected quantities are available before scanner tests begin.
- Variance holds remain manager-review only until ERP posting is approved.

## Validation Gates
- SKU and bin acceptance (blocking): Counter users cannot trust lookup until high-volume SKU and bin records are verified. Resolution: Validate the first 50 SKUs with counter and warehouse staff.
- ERP ownership rule (blocking): The pilot must not overwrite ERP quantities without a signed integration rule. Resolution: Run read-only imports and export exceptions until sync ownership is approved.
- Customer pricing exclusion (warning): Price-specific data increases permissions and audit scope. Resolution: Keep customer price fields out of the first branch pilot.

## Acceptance Checklist
- SKU catalog import: SKU values are unique after alias normalization.
- SKU catalog import: on_hand and reorder_point parse as non-negative numbers.
- SKU catalog import: Bin locations match the branch pick-slot format used in the pilot.
- Open purchase orders import: Every PO line references an imported SKU.
- Open purchase orders import: Expected quantities are available before scanner tests begin.
- Open purchase orders import: Variance holds remain manager-review only until ERP posting is approved.
- SKU and bin acceptance: Validate the first 50 SKUs with counter and warehouse staff.
- ERP ownership rule: Run read-only imports and export exceptions until sync ownership is approved.
- Customer pricing exclusion: Keep customer price fields out of the first branch pilot.
- Open Branch ops board after dry import and verify branch command center and counter inventory control.

## Handoff Routes
- Sample data package: /demo-library/plumbing-supply/sample-data-package - Markdown handoff with CSV templates, seed rows, validation gates, and cutover notes.
- Sample data package JSON: /demo-library/plumbing-supply/sample-data-package.json - Machine-readable sample-data manifest for implementation automation.
- Production data contract JSON: /demo-library/plumbing-supply/data-contract.json - Entity, source, event, API-shaped route, and boundary contract for production planning.
- Implementation JSON: /demo-library/plumbing-supply/implementation.json - Full setup spec with routes, productization fields, tenant defaults, and security notes.
- Implementation intake: /implementation-intake/plumbing-supply-implementation-intake - Buyer source-system, domain, access, and asset collection workflow.
- Live app proof screen: https://plumbing-supply.ideas-realized.com?screen=ops - Branch ops board: branch command center and counter inventory control