# Placing a PSH order & dropshipping

Source: https://handboek.snelparts.com/en/placing-a-psh-order.md

> How to size, compose, and place a weekly PSH purchase order, plus how to handle dropshipping orders.

Place PSH orders through their website [psh.eu](https://psh.eu). Log in with the
username **ricardo@snelparts.com** and the shared password from 1Password.

## When to order from PSH

We order from PSH every week, most often on **Mondays**. That usually lets the
shipment arrive on Wednesday, or Thursday at the latest, so any backorders from
that week are cleared. Because the lead time is so short (2–3 days), we keep
stock as lean as possible and aim to hold roughly **14 days** of stock at a time.

> [!NOTE]
> **Always keep at least one of each starter motor and alternator in stock**. Also be very careful with SKUs — some are
>   deceptively similar, for example `SKU-120009` vs. `SKU-129009`.

## Composing the purchase order with an LLM (Gemini)

We use a preset prompt template for purchase orders. The PSH template has
built-in dropshipping advice and is already saved in Gemini as a **GEM**, linked
to the **info@shop4trac.com** account.

> [!NOTE]
> **Always pick the strongest model** for this task — on Gemini that is **Pro**.

The GEM needs four core data files:

1. A comprehensive list of PSH SKUs
2. Current stock
3. Incoming stock
4. Recent sales data (currently set to the last 3 months)

### How to generate the core data files

**Comprehensive list of PSH SKUs** — already made; find it in the GEM on the
info@shop4trac.com account. If a new one is needed, use the supplier-specific
export function (_magazijn posities_) in Exact.

**Current stock (Picqer)**

1. Fetch data: **Products > Import/Export > Export Stock**
2. Clean data: open in Excel or Sheets and remove all columns except
   _Productcode_ and _Vrije voorraad_
3. Rename the file: `CurrentStock_[DATE]`

**Incoming stock (Picqer)**

1. Fetch data: **Purchasing > Tools > Expected Products > Export**
2. Clean data: open in Excel or Sheets and remove all columns except
   _Productcode_ and _Te ontvangen_
3. Rename the file: `IncomingStock_[DATE]`

**Sales data (Picqer)**

1. Fetch data: **Reports > Warehouse Sales > set the interval to the last 3
   months > Update**
2. Clean data: open in Excel or Sheets and remove all columns except
   _Productcode_ and _Aantal_
3. Rename the file: `SalesData_[DATE]`

### Final step

Feed the four data files into the prompt with the instruction:

> Do as you were instructed

## Reviewing the LLM output

Always double-check the LLM output before placing the order:

- Spot-check a few products and confirm the predicted purchase quantity is
  reasonable based on common sense.
- Make sure there is at least 1 item in stock for each item on the list — if not,
  order one.
- Note which products can be dropshipped.

## Placing a normal order on PSH's website

1. Log in with the username **ricardo@snelparts.com** and the password from
   1Password.
2. Use the search function and copy-paste one SKU at a time. All of our SKUs are
   already linked to the correct supplier product code.
3. Choose the right quantity and add it to the cart.
4. Repeat for each SKU on your purchase list.
5. When the list is complete, double-check that the total quantity in your cart
   matches the total on your purchase list.
6. On the next page, choose the correct delivery address: **Wenckebachweg 6v3**.
7. On the same page, add your Exact reference number and confirm all details are
   correct. (To get this number, open an Exact purchase first so it reserves the
   reference.)
8. On the shipping page, make sure you are getting **free shipping** (it can look
   confusing) and pick **FedEx Priority** (from the NL warehouse) or
   **International Priority** (from the PL warehouse).

Don't forget to add the purchase into Exact afterwards — see the
[Importing into Exact](https://handboek.snelparts.com/en/importing-into-exact.md) entry.

**Extra step:** add the estimated arrival time to the Exact purchase order; it
will then also flow into Picqer.

### Special cases

**Out of stock** — If an item is out of stock at the Dutch warehouse (our default
warehouse), consider ordering it from the **Polish warehouse** instead. To do
this, open the product page and order it from Poland. Always make sure you reach
the free-shipping limit (usually somewhere around €250–350).

> [!NOTE]
> **Never order from the Spanish or French warehouse** — they do not offer free
>   shipping.

**Low stock** — Sometimes PSH stock is running low. If that is the case for
high-selling items, consider ordering a few extra to avoid running out. Order for
a maximum of 3 weeks.

## Placing a dropshipping order

Follow the same steps as a normal order through building the cart (step 5), then:

1. Do **not** choose Wenckebachweg 6v3 as the delivery address. Instead, choose
   **Different delivery address** and fill in the relevant fields.
2. Use the **check address** function to confirm the address is valid. Sometimes
   small changes are needed — some smart thinking may be required here.
3. Fill in the reference field with the order's reference number, e.g. `#204102`.
4. Enable **"do not include packing slip"** (see the warning below).
5. On the following pages, confirm shipping is a reasonable amount and match the
   shipping method to the customer's needs. If they paid for Express, send it
   with Priority and immediately email the customer that their package is on its
   way, including the tracking code.

> [!NOTE]
> **Always enable "do not include packing slip" for dropshipping orders.** The
>   packing slip contains information the customer should preferably not receive.

Don't forget to add the purchase into Exact afterwards — see the
[Importing into Exact](https://handboek.snelparts.com/en/importing-into-exact.md) entry.

## Tracking shipments

To find the tracking code for an order: **Main account page > My Orders > open the
order's drop-down menu > View Packing Slip**.
