# Expectations of Product Management

How new products are documented, priced, listed, and handed off to marketing.

# Adding a New Product (The Full Pipeline)

# Adding a New Product (The Full Pipeline)

Every new product the Tavern sells travels the same road, in this order. No images anywhere in this process — the Tavern Keeper adds those afterwards, by hand.

## The Order of Operations

1. **BookStack wiki page** — the write-up (this becomes the website copy)
2. **SKU assignment + Baserow row** — the pricing and inventory record
3. **WooCommerce product on tea-tavern.com** — the storefront entry
4. **Marketing handoff** — the product's task in Plane gets the wiki link

## Step 1 — BookStack Wiki Page

Product pages live in their category books: Oolong (4), Chinese Red / American Black (5), White (6), Yellow (7), Pu-erh & HeiCha (8), Green (9), Herbals / Tisane (11), Water (20), Combination-Products (21), Tea Hardware and Accessories (16, chapter "Tea Accessories" for teaware).

The write-up template: **Overview** paragraph, **Key Features** bullets (include capacity/size), **Material**, **Functionality**, **How to Use** (always defer to the manufacturer's instructions for setup/care), **Why You'll Love It**. The website description mirrors this copy one-to-one, so write it once here.

**SKU-above-divider rule:** the page opens with the SKU line, then a horizontal rule, then the write-up. Everything *below* the divider is what gets pasted into WordPress; the SKU stays out of the storefront copy. Pages selling several sizes list all SKUs on one line (e.g. `T-00017-10 (10g) / T-00017-30 (30g) / ...`).

## Step 2 — SKU + Baserow Row

The SKU format spec lives in the Fulfillment book ("SKUs (Stock Keeping Units)"); the registry itself lives in Baserow, namespace "Tavern Finances", database "pricing", table **Product Pricing** — the single source of truth for product data (see "Product Info Storage" in Fulfillment).

Conventions that keep the books honest:

- **Accessories pretend to be 1 gram.** Baserow's base unit is grams; non-gram products book "Purchase quantity in grams" as the *unit count* (24 brewers = 24) and "Grams in Product" = 1. Those columns hold unit counts, never physical weights.
- **"Price per Unit" holds the batch total** for the purchase, delivery included. The formulas derive landed unit cost, Price of Product, and margins from it.
- **Link "Non-tea Costs" to "None"** (the standard packaging allowance) unless the product genuinely needs something else.
- **Link "Base Marketing"** to the standard set (ship-away photos, return shipping, photo costs, product description, website, stickers) plus the matching receive row: Receive Chinese product (9), Receive UK product (10, e.g. Mei Leaf), Receive American product (6), Receive Indian product (11).
- **Read the row back after writing it.** A saved row shows its computed cost, margin, and earnings — confirm they landed before moving on.

## Step 3 — WooCommerce Product

Created in wp-admin (Products → Add New) or via the store's REST API:

- **SKU** — the same one Baserow holds
- **Regular price** — the Customer Price from Baserow
- **Categories** — teas go in their tea category; teaware goes in **Tea Accessories + Teaware**
- **Inventory** — manage stock on, quantity = the purchase quantity
- **Short description** — left empty (store convention)
- **Long description** — the wiki copy from *below the divider*, as HTML
- **Images** — none; added later by the Tavern Keeper

## Step 4 — Marketing Handoff

Paste the BookStack page link into the product's task in the Marketing project on Plane. That closes the loop.

## A Note on Automation

Much of this pipeline is automated by the Tavern's assistant (wiki page, Baserow row, and WooCommerce product can all be done in one pass; see also the newsletter pipeline documented in Marketing). Whatever tool does the work, the conventions on this page are the contract — if a step can't follow them, stop and ask the Tavern Keeper.

# Product Identity Verification

# Product Identity Verification

Before a product is created, renamed, or listed anywhere, its identity is verified against **supplier correspondence** — the actual order and invoice emails — not against listing names, older pages, or memory.

## Why This Is Policy

The Da Dian Hao bing (2026): the wiki and the storefront both called it "2010 Da Dian Hao Yiwu '302 Collection' Sheng Pu-erh". The supplier thread in supplies@ (INBOX.Suppliers.TeaCurious, "Okay, back to wholesaling...!") told the real story: the order read "4 bings of 2011 Mangfei", the quote was "4 bings Mangfei = $85 / ea = $340", and the PayPal invoice was confirmed against it. The tea was the **2011 Da Dian Hao Mangfei "5 Year Anniversary" Old Tree** bing all along — the "Yiwu" name leaked in because the same supplier also stocks a Da Dian Hao *Yiwu* offering, and sibling names travel well.

The identification flipped twice before the invoice settled it. Invoices don't flip.

## The Rule

1. **Order emails and invoices are ground truth** for what a product is and what it cost. For supplier mail, check `supplies@` first — vendors have their own folders under `INBOX.Suppliers.<Vendor>`.
2. **Price anchors verify identity.** A row's recorded batch price should match the invoiced price to the dollar (the Mangfei row's $85.00 matched "each 357g bing is $85" exactly). If it doesn't, stop and reconcile.
3. **When two names disagree** (wiki vs storefront vs registry), find the correspondence before picking a winner. Rename nothing on guesswork.
4. **Sibling product names leak.** Vendors carry product *lines* (Da Dian Hao makes Mangfei *and* Yiwu bings); a name from the same line is not the same tea.

## Geography Notes Worth Keeping

- **Yiwu** (易武) is the famous pu'erh mountain region in Mengla, Xishuangbanna, Yunnan.
- **Mangfei** (忙肺) is a village in Yongde County, **Lincang** Prefecture, Yunnan — a different region entirely. Da Dian Hao presses bings from both.
- **Yiwu Qiaomu** refers to old-arbor (qiaomu) trees of Yiwu — as in the Tavern's 2001 "Qiao Keli" brick (T-00023).

When in doubt, ask the supplier and save the answer. The thread *is* the documentation.