User manual · September 2026

CrystalHaul Manual

How to plan a show, log what you buy at the booth, and know who sells what for how much. Written for a crew on the floor with a phone in one hand and a flat of stones in the other.

crystalhaul.com/app · free for everyone right now · works best as an app on your phone's home screen

Show-day card

The whole app in one minute, for whoever is holding the phone.

Before you walk in

  • Sign in on your own phone. Ask the account owner for your login if you don't have one.
  • Open Buy List, tap the show chip. That's the plan.
  • Tap Shows once to check the venues are listed. Booths save as Venue - Booth.

At a booth

  • On the list: tap ✓ Found it. The form is prefilled. Type the price, watch the cap meter, save.
  • Several things from one vendor: + Save & Add Another From This Booth keeps the booth, clears the item.
  • Not on the list: New Booth Order, type the stone. If you've bought it before, the vendors you used appear under the vendor field.
  • Box stays behind: tick Pick up later with a time.

Walking out

  • Check the Purchases tab for the pickups strip. Call, WhatsApp, or add it to your calendar from there.
  • Closed the app mid-order? Pick back up at the top of Purchases reopens it.
  • Something broken? 💬 Feedback in the top bar. It reaches the team within hours.

01Getting in

Go to crystalhaul.com/signup, enter your name, email, and a password, and you're in. There is no card and no trial clock: CrystalHaul is free for everyone right now, and any change to that will be announced well in advance.

If you are joining someone else's team, don't sign up. The account owner adds you from their Team screen and hands you a temporary password. Sign in at crystalhaul.com/app with your email and that password. See Teams.

02The four tabs

TabWhat it's for
PurchasesLog what you buy. New booth orders, resume an order, pickups, totals, and the list of everything logged. Opens on the show that's happening now.
Buy ListThe plan for each show: what to look for, how many, the most to pay. Check lines off as you find them.
ShowsThe events you buy at, with dates, venues, spend, and a shortcut to each show's buy list.
VendorsYour suppliers: contact details, booth history, what they supply, and a "Who sells…" lookup by stone.

The top bar has 💬 Feedback, 👥 Team, your name, and Sign Out. The green + button at the bottom right of Purchases also starts a new purchase.

03Logging a purchase

Tap 🛒 New Booth Order at the top of Purchases, or the + button. One form, top to bottom:

  • Photo. Tap to use the camera. The photo stays with the purchase.
  • Show. Defaults to the current show. The last option, + Add a new show…, creates one without losing what you've typed.
  • Vendor and Booth #. Vendors you've used autocomplete, and the booth fills itself in if you've bought from them at this show before. When a show has several venues, a venue picker appears next to the booth number and the booth saves as Western Complex - L111.
  • Stone type, item form, specimen quality. All three remember what you've typed before and offer it back, so spellings stay consistent. Lines from the buy list teach them too.
  • Cost, Qty, Unit. Per piece, kg, lb, lot, or carat.
  • Sales price. Optional. Enter it and the value calculator shows profit per unit and in total.
  • Pieces per Kg. Appears when you buy by weight or lot and sell by the piece. Fill it in and you see the cost per piece and the number of sellable pieces before you've decided.
  • Notes and Pick up later, then Save Purchase.

Several items from one vendor

Use + Save & Add Another From This Booth. It saves the item and keeps the show, vendor, booth, and pickup settings, clearing only the item fields. A running banner shows the items and total for that visit. Save Purchase finishes the order. In the list, a multi-item order shows under one header with its total.

If you close the app in the middle of an order, the Pick back up strip at the top of Purchases brings it back with everything intact. It shows orders from the last twelve hours.

To edit or delete a purchase, tap its card.

04Pickups

When a box stays at the booth, tick 📦 Pick up later on the purchase and add a time and a note ("back of tent, ask for Maria"). The Purchases tab then shows a To pick up strip grouped by vendor and booth, with Call and WhatsApp links when the vendor has a number, Add to calendar, which sets a reminder half an hour before with the vendor's contact attached, and a Picked up button for each item.

05The Buy List

One list per show, chosen with the show chips at the top of the tab. Each line is one thing to look for: stone, form, how many to buy, the most to pay per unit, the target retail price, what to look for (size, color, polish), an optional preferred vendor, notes, a priority (Core, A, B, C), and a store allocation.

The header shows lines found out of the total, and money spent against the plan's total (every line's quantity times its cap). Filters: Open, Found, Skipped, All, plus a chip per priority, and a search box. Half-bought lines sort to the top.

Checking a line off

Tap ✓ Found it. The purchase form opens already filled in: show, stone, form, the quantity still needed, the target retail, and the preferred vendor with its booth when known. Type the cost and save. Saving links the purchase to the line, so the line's state comes from real purchases, never from a tick box:

  • Found when the bought quantity reaches the plan quantity.
  • Partial below that, showing how many so far and the average cost.
  • Open with nothing bought yet, Skipped when you say so.

Found and partial lines show what was bought, the average cost, whether that was under or over the cap, who logged it, and the vendor. + Found more logs against a found line again. Skip takes a reason that goes in the report; Reopen undoes it.

The cap meter

While a line is linked, a meter sits under the cost field. It shows how far under or over the line's cap the price you've typed is, the line's total against the plan's cash for that line, and the plan's own notes when you're over. Buying by the kilo compares per piece through the pieces-per-kg field.

The plan finds you

You don't have to start from the list. Type a stone in the purchase form and that show's open lines for it appear under the field with a tap to link them. In the middle of a booth order, 📋 Pick from buy list under the stone field fills the next item from an open line while keeping the vendor, booth, and running order. Bought something that wasn't planned? + Add this item to the buy list turns it into a tracked line on the spot.

Lines with a preferred vendor show that vendor's booth once it's known. Lines show Bought before with the last price and vendor when the stone has history, or Catalog price when the only history is an inventory upload.

Building the list

  • By hand: + Add Line. Next to Max $ per unit, suggest fills the cap from the retail price at your saved margin assumptions.
  • Import plan: a CSV with one row per line. Download the template from the import screen; spreadsheet column names such as "Stone", "Form", "Buy qty", "Max vendor / unit", "Target retail", "Priority", "ID", "Vendor", "Specification" and "Notes" are recognized as they are. Tick Replace the show's current list to start clean; purchases stay, their links clear.
  • From another show: start a show's list from a previous one, either only the lines that weren't found, or everything as a restock list. Lines bought last time carry the quantity, average price, and vendor in their notes.
  • Build from inventory: see below.
  • Report CSV: plan versus actual for the show: each line's state, plan and bought quantities, cap, average cost, over-cap flag, spend, vendors, who logged it, and skip reasons.

Build from inventory

Upload your shop's product export (Shopify's Export products works unchanged: title, price, on-hand quantity, cost) and, if you have one, a sales-by-product export for the last few months. For each product CrystalHaul works out how many to buy (sales rate times the days to cover, minus what's on hand, grossed up for breakage) and the most to pay per piece at your target margin (retail less discount, margin, loss, packing, labor, and freight). Product titles split into stone and form automatically.

The assumptions are editable and can be saved as your defaults: sales period, days to cover, season factor, margin, discount, loss, freight, packing, labor, and a minimum sales count (default three) so a single sale of an expensive piece doesn't become a restock line. A whole-shop export includes candles and books; use "Only products whose title or type contains…" and "Leave out products containing…" to keep it to stones. Proposals appear in a table with tick boxes and editable quantity and cap. Only ticked lines are added, and every line's notes explain its numbers, including the last price you paid and to whom when you've bought that stone before.

06Shows and venues

Create a show from the Shows tab with a name, location, and dates. For a show spread over several buildings, list its venues or sub-shows, one per line (Western Complex, Coliseum, Crowne Plaza). The purchase form then shows a venue picker next to the booth number and saves booths as Venue - Booth, so a booth number is never ambiguous, and that full form flows into pickups, vendor booth history, buy-list lines, and exports.

Each show card shows spend, purchase count, the number of buy-list lines, and any reference prices, with a 📋 Buy list button and CSV export. Tap a card to see its purchases; ✎ Edit changes the details.

07Vendors and who sells what

Saving a purchase creates the vendor automatically if it's new. A vendor's profile holds contact details with one-tap call, email, WhatsApp, and website chips; show history and booth locations, where you can type the booth for an upcoming show so it autofills at the booth; What they supply and what you've paid, every stone and form with how many times, total quantity, the last price per piece, the range, and the last show; recent purchases; and a CSV export.

Who sells…

At the top of the Vendors tab, type a stone. You get the vendors you've bought it from, ranked by how often, with the last price per piece, the price range, the last show, and the booth. Vendors known only from an inventory or catalog upload show "catalog" with the catalog cost. Tap one to open the vendor. The same history appears as tap-to-fill chips under the vendor field on the purchase form while the vendor is blank.

⬆ Import on the Vendors tab takes a CSV of vendors (template provided: name, contact, email, phone, WhatsApp, website, notes). Existing vendors are updated with any new details; new names are added.

08Import and export

  • Export purchases: ⬇ CSV on the Purchases tab exports the current view, with vendor, date, and logged-by filters. The file includes a Logged by column.
  • Import purchases: ⬆ Import on the Purchases tab. Required columns are stone_type and price; vendor, show, booth, quantity, unit, sales_price, item_form, specimen_quality, and notes are optional. New shows and vendors named in the file are created. Add a date column (2025-09-14 or 9/14/2025) and each row lands on that day, so past purchases build real history. Big files import 200 rows at a time with progress on the button.
  • Price references: tick These rows are price references when importing an inventory or catalog upload. Those rows feed "Who sells…", vendor profiles, buy-list history, and the plan builder, but never count toward Total Spent, the charts, vendor spend, or purchase counts. Select their show on the Purchases tab to see them in full.
  • Buy list files: plan import template, plan-versus-actual report, and inventory and sales templates for the builder, all from the Buy List tab.

09Teams

A team is one owner account plus the people the owner adds. Everyone signs in with their own email and password, on their own phone, and sees exactly what the owner sees: the same shows, purchases, vendors, pickups, and buy lists. Whatever a member logs lands in the owner's account right away, so two people at different booths log at the same time.

Setting it up (owner)

  1. Tap 👥 Team in the top bar.
  2. Enter the person's email and name, tap Add to team.
  3. A temporary password appears once, with a copy button. Send it to them privately.
  4. They sign in at crystalhaul.com/app with their email and that password, and can change their name from the Team screen.

Everyone on a team has the same access. There are no roles, no read-only members, and no way to hide costs or vendors from a member. The Team screen lists everyone with their purchase count and spend. If a member loses their password, the owner taps Reset password next to them for a fresh temporary one.

The owner removes a member from the Team screen; a member can tap Leave this team. Either takes effect immediately, and the person keeps their login. An existing CrystalHaul account can join a team as long as it's not already on another team; if it holds purchases of its own, those stay hidden while it's on the team and come back if it leaves. Billing, when it returns, sits with the owner.

10Your name and account

Your name shows in the top bar, on the purchases you log, and to your team. Change it by tapping your name in the top bar on a computer, or the pencil next to yourself on the Team screen. With no name set, the email shows instead.

Saving without signal is covered: see the note in Getting in. There is no password reset by email yet. A team member who is locked out asks their account owner for a new temporary password. An account owner who is locked out uses the Feedback button and the team resets it manually.

11Help and feedback

The 💬 bubble at the bottom right opens an assistant that answers questions about using the app. Ask it anything from this manual. If it can't answer, it passes your message to the team.

💬 Feedback in the top bar sends a report straight to the team, with the page and browser details attached, for bugs, ideas, or anything else. There's no phone line and no live human on chat, but reports are picked up automatically within hours: bugs get fixed and reviewed, ideas get read.

12For account owners

Owner accounts see an Admin link in the top bar. It opens the separate admin pages, which ask for an admin key: Users (every account, status, sign-up date, counts, with search), Analytics (traffic and sign-ups), and Feedback (reports and captured errors, with status and notes). No platform statistics appear inside the app itself, and team members never see the link.