TS-index version v2026.10.15-6 — rep pages you download are stamped with this version
👥 Rep Directory
Keep one row per rep in a Google Sheet (name, email, phone, their CSV URL(s), Order Submit URL, etc.), publish it to the web as CSV, and paste that link below. Pick a rep from the dropdown to load their info into all the fields further down — review it, then Save Settings and Download/Copy Code as usual.
🖼️ Header Banner
The banner at the top of the customer page. The built-in Plantaflor banner (logo, "Plantaflor USA, Inc.", "Wholesale Air Plants" and a budding plant) is part of this file and resizes to fit any screen. To use your own picture instead, pick "My own image" and paste its full web address (URL).
📋 Google Sheets CSV Source
Tip: your Category column can now hold more than one tag per plant — just separate them with a comma, e.g. "Weekly Special, Enhanced Color". The plant will then show up under every filter it's tagged with. Keep tag spelling/capitalization consistent so they merge into the same filter chip.
Tip: add an Active checkbox column to your sheet to control what shows up here — only rows with that box checked are loaded. Rows with it unchecked (or a sheet with no such column at all, which loads everything as before) are simply left out.
While a customer has the shop or catalogue page open, this re-checks the sheet in the background. If something they'd added gets removed from the sheet, it's automatically taken out of their cart and they'll see a heads-up — so no one can order something that's no longer available.
Loaded & saved 13 categories, 11 group(s), and 2 no-tag item(s) from the sheet ✓
📄 Load Categories From Sheet
Loads Filter Button Order, Cart Category Groups, and Items With No Tags Needed all from one sheet (published to web as CSV — see the note under Order Email Address below for what that means). Expected columns: A = category name (also sets Filter Button Order, top to bottom), B = fill color for that category's group in the pie chart, C = the group that category rolls up into, D = item numbers that need no tag (one per row). Loading applies and saves all three sections immediately — review them below afterward and adjust/re-save if needed.
🗂️ Filter Button Order
Load a sheet above, then use ▲▼ to arrange the category filter buttons the way you want customers to see them. This order is baked into every link you generate below.
Sale!
Bud
Natural Color
Moss
Enhanced
Infused
Natural
Big Plant
!
Rare
Clump
Hard Goods & More!
Fertilizer
🥧 Cart Category Groups
Roll your category tags up into a handful of bigger groups (e.g. "Sale", "Rare & Big Plants") — customers will see a $ breakdown and pie chart of their cart by these groups. Each group lists the exact tag(s) it should catch (comma-separated, must match your sheet's Category spelling). A plant counts toward the first group whose tags it matches, so list your groups in priority order. Leave a group's tags blank (or delete it) if you don't want it.
🚫 Items With No Tags Needed
List item numbers that should never need a tag (e.g. items you never tag, or that ship pre-tagged). Their quantity is left out of "Each Item Tagged" and out of the max for "Custom" tag counts, so they never get counted toward the tagging fee. Separate item numbers with commas, spaces, or new lines.
✉️ Order Email Address
Every submitted order gets a confirmation number made from these — e.g. initials TS + start 7200 gives TS7200, TS7201, TS7202… The customer sees it on screen right after submitting and in their email, and it's logged in the "TS #" column of the Orders Log. Each rep can have their own initials and starting number.
Shown only on the Picture Catalogue (top bar and the printed header) as "Fax No. …". Leave blank to hide it.
Paste a deployed Google Apps Script Web App URL here to turn on a real "Submit Order" button for customers — it logs each order to a Sheet and emails you automatically, instead of relying on customers to copy/paste or attach a file themselves. Leave blank to keep just Copy Order / Download Table.
Which Google Sheet this rep's orders get logged to — lets each rep have their own Orders sheet instead of sharing one. This must be the normal "edit" link to the sheet (the one you see in the address bar with the sheet open), NOT a "Publish to web" link — a publish link is read-only and can't be written to, so orders would silently fail to log if one's pasted here. Leave blank to log to whatever sheet the Apps Script itself is bound to.
Optional — appended to the end of the "Thanks for your order!" customer confirmation email, after the order details and category breakdown. Leave blank to skip it.
🔤 Header Text Style
Set the font and size for each piece of text in the header shown to customers. Email and phone share one line, so they're styled together.
📎 Customer Page Links (policies, etc.)
Add links to shipping policies, return policies, FAQs, or anything else you'd like customers to see. These appear as a small link bar on the customer page.
No links added yet.
🖋️ Footer Credit
Shown in small print at the bottom of the customer page footer, e.g. "Created by Tyler" — the name links wherever you'd like.
🦶 Footer Feature Text
Customize the four feature callouts shown in the footer (e.g. "High Quality", "Fresh from California").
Download this as a ready-to-upload HTML file (works standalone, no link/query string needed) — or copy the code to paste into a file yourself.
Just the name — ".html" is added automatically. Leave blank to save as "rep-index.html". The downloaded file is always the customer version of the page (no admin panel).
🧾 Text Pricelist Page
A plain text/price list for printing — item #, name & price grouped by category, no photos. Uses the same CSV source and category order as the shop above.
Just the name — ".html" is added automatically. Leave blank to save as "pricelist.html".
Prefer a shareable link instead? Generate one below (requires this admin page to already be hosted somewhere). Customers open the link and print it, or use their browser's "Save as PDF" option.
🖼️ Picture Catalogue Page
A photo-only catalogue — item #, name & price under each image, with favorites and category filters to choose what's shown/printed. No cart.
Controls how many tiles fit across the row — both while browsing on screen and when printing or saving as a PDF. Fewer columns = bigger tiles (and safer from getting cut off mid-row when printed).
Blank border around the edge of each printed/downloaded page.
Just the name — ".html" is added automatically. Leave blank to save as "catalog.html".
📊 Sheet Preview
Filter By:
Sale!
Bud
Natural Color
Moss
Enhanced
Infused
Natural
Big Plant
!
Rare
Clump
Hard Goods & More!
Fertilizer
Default Order
Name (A–Z)
Price (Low–High)
Price (High–Low)
Size (Small–Large)
Size (Large–Small)
⚡ Quick Order
Enter on each line: Item Name or Number & Quantity (leave quantity blank for minimums). You can also paste an order table from this site or upload a CSV file.
Spelling doesn't need to be perfect—we'll match what we can.
Loading pricelist…
🌵
No plants match your filter.
🛒 Your Order
🕘 Recent Orders
Order
📦 Archive
No archived orders yet.
Your cart is empty. Add some plants!
Your Order Details
Customer Details
Note: Tags have room enough for two other things other than the Item Name:
⚠️ You need to choose "Each Item Tagged" or "Custom" tagging to put a retail price on tags.
Automatic Retail Markup Calculator
(See Retail prices listed next to your items above)
Shipping (Lead times vary)
How to Order
Plantaflor USA, Inc. · Wholesale Tillandsia
1
Add desired items to your cart
2
Fill out your order detailsYour name, company name, email address, etc.
3
Select tagging and shipping options
4
Submit your orderYou'll receive a confirmation number on screen and by email.
$200 order minimum. We'll confirm availability before charging your card or sending an invoice.
How to Pay
Existing Customers
If you have worked with me already you are all set! I'll process your order and charge the card on file or issue an invoice.
New Customers or Unsure?
Submit your order, then call our sales office to arrange payment. (866) 458-1010Monday–Friday, 8:00 AM–2:00 PM Pacific