> ## Documentation Index
> Fetch the complete documentation index at: https://docs.comforthub.app/llms.txt
> Use this file to discover all available pages before exploring further.

# Order stock from a supplier

> Turn a stock list into one order per supplier, and have the supplier emailed the purchase order

export const Touches = ({systems}) => <p>
    <strong>Systems involved:</strong>{" "}
    {systems.split(",").map((s, i) => <span key={s}>
        {i > 0 ? " · " : ""}
        <a href={"/systems/" + s.trim()}>{s.trim().replace(/-/g, " ")}</a>
      </span>)}
  </p>;

<Touches systems="the-7am-app, supabase-backend, resend" />

You pick the materials you are short of on a stock list, the app builds a stocking order for one supplier, files the purchase order PDF, and the engine emails the PDF to the supplier with you as the reply-to. The order is stamped sent the moment the email leaves.

## Before you start

* You are signed in as a technician or higher. An apprentice can read stock lists but cannot start one.
* The supplier has an email address on its branch. A supplier with no address gets no order; the engine leaves a human-review flag instead.
* The supplier's address is on our allowlist or one of our alias domains. Anything else is redirected to the owner with "\[TEST → …]" in the subject, and the order is not stamped sent. See [Email safety](/handbook/running/email-safety).

## Steps

<Steps>
  <Step title="Build the stock list">
    Open **Stock lists**, add the materials you need and a quantity for each. The list is yours; share it if a colleague should see it.
  </Step>

  <Step title="Send the list">
    Swipe the list to the right and tap **Send**. If the list has more than one supplier, pick one; you make one order per supplier.
  </Step>

  <Step title="Check the order and send it">
    The order screen shows the lines for that supplier and its number. Lines that are crossed off or at zero are left out, and the screen says how many. Tap **Send to supplier**. The app draws the PDF, files it, and saves the order. The email is the engine's job.
  </Step>
</Steps>

## Working the list

Everything on a stock list is a swipe on the row, and the two edges do different kinds of thing.

**Swipe right** for the harmless ones. On a list: **Share** hands it to a colleague, **Send** turns it into an order. Send only appears once something on the list has a quantity. On a material inside a list: **Cross off**, which becomes **Bring back** if you swipe it again.

**Swipe left** for removal: **Delete** on your own list, **Leave** on one shared with you. Neither edge fires on a full swipe. You have to reach the button, so a gloved thumb cannot delete a list or send an order by carrying a swipe too far.

<Note>
  **A crossed-off line is not ordered.** Crossing off is how you say "got it, not needed" without losing the record of it. The line stays on the list with a line through it, and the order skips it. A line with no quantity is skipped the same way. Check what is crossed off before you send if the total looks light.
</Note>

## How you know it worked

* The order shows in **Stocking orders** with its purchase order number and a sent time.
* The supplier has an email titled "Purchase order PO… from Comfort Hub", from the orders address, with the PDF attached under the purchase order number and your login email as the reply-to.

## If it did not work

* No sent time after a minute: check [Resolve a human-review flag](/handbook/running/resolve-a-human-review-flag). A supplier with no email, or an address outside the allowlist, leaves a flag instead of a stamp.
* The order shows but the PDF is missing: the email waits for the PDF and is sent when it is filed. If it never comes, the app did not finish saving; send the order again.
* The supplier says the reply went nowhere: the reply-to is the login of whoever saved the order. An order saved by a login that has since been removed carries no reply-to.

## Related

* [How ordering parts works](/handbook/parts/how-ordering-parts-works)
* [How purchase order numbers work](/handbook/parts/how-purchase-order-numbers-work)
* [Emails we send](/reference/emails-we-send)
* [Resend](/systems/resend)
