FOXFIELD

ORDERFLOW

Ordering + operations platform
ENES
A white-label-ready ordering platform built on top of the existing perennial demo flow, expanded to reflect common wholesale grower workflows: availability intake, SKU crosswalk, multi-location allocation, manager review, vendor packet, QR-ready intake, and receiving exceptions.
Availability → Crosswalk → Allocation → Receiving 3 retail locations SKU translation backbone Exception-ready receiving White-label · single-file
Built to show what the next layer looks like without replacing the current system of record. It keeps the practical, sheet-driven perennial workflow buyers already understand, then wraps it in a cleaner operating model — normalized status, location splits, vendor-packet output, QR-ready intake, and a future-facing schema that can grow into real farm SKU crosswalks.
Requested lines
0
rows with requested qty above zero
Requested units
0
buyer draft demand
Approved units
0
manager approved total
Mapped rows
0
crosswalk progress
Allocated units
0
split across 3 stores
Receiving watchlist
0
exceptions + short ships

Availability intake

This is the digital intake queue for requested plant lines. It keeps the sheet-style workflow familiar, but already carries the extra fields needed for scale: vendor SKU, retail SKU, internal display name, active state, and location eligibility.
GroupPlantSizeFarm availReqStatusConfidenceVendor SKUNotes

SKU crosswalk

This is the core translation layer: vendor SKU to retail SKU to internal display name, plus size, color, active state, and location eligibility. This is the backbone that lets the ordering module eventually feed the public finder and kiosk.
PlantVendor SKURetail SKUInternal display nameSizeColorActiveEligible locations

Multi-location allocation

Every approved line can split across Overland Park, Martin City, and Lenexa. This makes the ordering layer relevant to a three-location nursery group instead of a single-store buyer tool.
PlantApproved
OPMCLenexa
AllocatedRemainingEligibility

Manager review

This is where requested quantity becomes approved quantity, exceptions are flagged, and rows with weak mapping or allocation issues are caught before they go to the vendor packet.
PlantRequestedApprovedDecisionMappingAllocationBuyer notes

Vendor packet preview

Only approved lines appear here. The packet is structured to be realistic: vendor-facing quantities, store allocation notes, substitution guidance, and summary counts.
PlantApprovedSizeVendor SKURetail SKUStore split
QR share + export
QR code preview
Use this for a phone-friendly handoff. The QR points to the current live page when available, or falls back to a compact order summary.
Status normalization
A = Available · L = Limited · S = To Size / No Color · T = Tight Buds · C = Color Showing · B = Blooming
Why this matters
The same line can now carry buyer intent, crosswalk logic, store allocation, and receiving history — all without losing the familiarity of the original sheet-based workflow.

Receiving + exceptions

This is where the operational value becomes obvious. Short ships, substitutions, damage, wrong size, wrong color, and partial fills are tied back to each order line instead of living in markup or memory.
PlantApprovedReceivedVarianceExceptionConditionReceiving notes

Schema + market-standard model

This demo is shaped to match the common pattern used by wholesale nursery availability and ordering systems: catalog master, availability snapshot, SKU crosswalk, order lines, and receiving exceptions.
A
Available
Orderable now
L
Limited
Watch quantity
S
To size / no color
Growing on
T
Tight buds
Not fully open
C
Color showing
Retail ready soon
B
Blooming
Peak presentation

Vendor catalog item

{
  vendor_name,
  vendor_sku,
  vendor_item_name,
  botanical_name,
  common_name,
  product_class,
  sellable_form,
  default_tray_or_pot_size,
  active
}

Availability snapshot

{
  snapshot_date,
  vendor_name,
  vendor_sku,
  available_qty,
  availability_status_vendor,
  availability_status_internal,
  ship_window,
  minimum_qty
}

SKU crosswalk

{
  vendor_sku,
  retail_sku,
  internal_display_name,
  size,
  color,
  vendor,
  active,
  location_eligibility
}

Order + receiving

{
  order_id,
  requested_qty,
  approved_qty,
  store_allocations,
  received_qty,
  exception_type,
  replacement_sku,
  receiving_notes
}