# Core Charge — New Workflow & Operations Guide

**Audience:** Operations team
**Applies to:** Central admin → **Orders** (the order Items row)
**Last updated:** June 2, 2026

---

## 1. Why we changed this

Core charges never had a real process. Until now, everything about a core charge lived in
**order notes** — when the supplier waived it, when we refunded the customer, what the return
label cost, the tracking number. That created real problems:

- **Information gets lost.** Notes are free text. They get buried, overwritten, or never written
  at all. There was no reliable record of what happened with a core.
- **Costs were confusing.** The **return label cost for the part** and the **return label cost for
  the core** are two different things, and they were easy to mix up. There was no clean place to
  separate them.
- **No single source of truth.** To answer "did the supplier charge us? did we refund the
  customer? what did the core return cost?" you had to read through the whole notes thread.

This is a **broader issue** than just adding a button — we never had a structured way to track
anything related to core charges.

---

## 2. What's new

A dedicated **Core Charge** workflow with its **own badge/button** on each item that carries a
core charge. It records the **entire core-charge story in one structured record per item**:

- **Waived core charge** — the supplier does **not** charge us the core, and we give the customer
  a refund.
- **Returned & Refunded** — the customer **returns the core**, we refund them, and we record the
  **return label cost** and **tracking #** for the future.
- **Supplier credits** for a core return are **recorded automatically, as usual** — no manual
  entry needed.

---

## 3. The benefits

- **One source of truth.** Everything about a core charge lives in one place on the item — no
  more digging through notes.
- **Nothing gets lost.** Structured fields instead of free-text notes; the record shows who
  updated it and when.
- **Clear cost separation.** The **core's** return label cost is recorded separately from the
  **part's** costs, so the two never get confused again.
- **Clean numbers for reporting.** Amounts are validated as positive values, so core-charge money
  flows correctly into reporting.
- **Faster and consistent.** Ops follows the same simple steps every time.

---

## 4. Where to find it

On the **Orders** list, open the order and look at the item. The **Core Charge** button sits
right next to **Return Entries**, and only appears on items that actually carry a core charge.

![Core Charge button on the order item](images/list-button.png)

*(Example: order **229640567** — note the `Core Refund $70.00` badge and the orange `Core Charge`
button. The notes on the right are the old way of tracking this; going forward it lives in the
Core Charge record instead.)*

Click **Core Charge** to open the recording window. There is **one record per item** — re-opening
it edits the same record, so there are never duplicates.

---

## 5. The two cases — pick the one that matches what happened

| Case (Status) | When to use it | What you record |
|---------------|----------------|-----------------|
| **Waived** | The **supplier waived the core** — we were **not** charged. We refund the customer immediately, with no return. | Customer Refund Amount only |
| **Refunded** | The **customer returns the core**. We refund the customer and send the core back to the supplier. | Customer Refund Amount, Return Label Cost, Return Tracking # for Core |

The window shows or hides fields automatically based on the case you choose.

---

## 6. Case A — Waived (supplier waived the core)

Use this when the supplier did **not** charge us for the core, so there is nothing to return —
we simply refund the customer.

![Core Charge — Waived view](images/modal-waived.png)

**Steps:**

1. Open **Core Charge** on the item and set **Status = Waived (supplier waived core)**.
2. Enter the **Customer Refund Amount** — the core refund given to the customer (required).
3. **Comment** (optional) — e.g. "Supplier waived core charge".
4. Click **Save Core Charge**.

No return label, tracking, or label cost is needed — those fields are hidden for a waived core.

> **Real example — order 229640567:** The supplier (PAM's) waived the core
> ("*I was able to waive the core so we did not charge you a core*") and the customer was
> refunded **$70.00**. That is recorded as **Status = Waived, Customer Refund Amount = $70.00**,
> as shown above.

---

## 7. Case B — Returned & Refunded (customer returns the core)

Use this when the customer is sending the old core back and we return it to the supplier.

![Core Charge — Refunded view](images/modal-refunded.png)

**Steps:**

1. Open **Core Charge** on the item and set **Status = Refunded (customer returns part)**.
2. Create the return label for the customer as usual.
3. Fill in:
   - **Customer Refund Amount** — what the customer gets back for the core.
   - **Return Label Cost** — what the **core** return label cost us (this is the core's label,
     kept separate from the part's label cost).
   - **Return Tracking # for Core** — the tracking number for the core going back to the supplier.
4. **Comment** (optional) — RMA #, etc.
5. Click **Save Core Charge**.

> **You can save in stages.** Record the tracking # and label cost when you create the label, then
> re-open the same record later and add the **Customer Refund Amount** once the core is back with
> the supplier and the refund is issued.

---

## 8. Supplier credit — handled automatically

When the **supplier credits us back** for the returned core, that **supplier credit is recorded
automatically, as usual** — you do **not** enter it in the Core Charge window. The Core Charge
record is about the **customer refund and the core return label/tracking**; the supplier-side
credit continues to flow through the normal Supplier Credit process on its own.

---

## 9. Where each charge goes (this is the part that used to be confusing)

| Money | Where it goes |
|-------|---------------|
| Core refund **to the customer** | **Core Charge** window |
| **Core's** return label cost | **Core Charge** window (Return Label Cost) |
| The **part's** return label cost | Its normal place — **not** the Core Charge window |
| Credit **from the supplier** for the core | **Supplier Credit** — recorded **automatically** |
| Anything not core-related | Additional Cost / Supplier Credit as appropriate |

- 🚫 **Do NOT put core charges in "Additional Cost."** Keeping core charges out of Additional Cost
  is exactly what makes core tracking and reporting accurate.
- ✅ All **core**-related money (customer core refund + the **core's** return label cost) goes in
  the **Core Charge** window.

---

## 10. Field reference

| Field | Shown for | Notes |
|-------|-----------|-------|
| **Status** | Always | Waived or Refunded |
| **Customer Refund Amount** | Always | Must be a **positive** number. Required for **Waived**. |
| **Return Label Cost** | Refunded only | Cost of the **core's** return label. |
| **Return Tracking # for Core** | Refunded only | Tracking # for the core going back to the supplier. |
| **Comment** | Always | Optional free text. |

**Notes**
- Amounts must be **positive** — the system blocks negatives/zero (they break reporting math).
- There is **one record per item**; re-opening **Core Charge** edits that same record.
- Use **Remove** (bottom-left, appears once a record exists) to delete the record entirely.
- The button updates to show the saved status/amount, e.g. `Core Charge $70.00 - Waived`.

---

## 11. Quick decision guide

```
Did the supplier charge us a core?
│
├─ NO  → Supplier waived it → Status = WAIVED
│         • Refund the customer
│         • Record: Customer Refund Amount
│
└─ YES → Customer returns the old core → Status = REFUNDED
          • Create the return label
          • Record: Return Label Cost (core) + Return Tracking # for Core
          • Once the core is back with the supplier → record Customer Refund Amount
          • Supplier credit for the core → recorded automatically (no action needed)
```

---

## 12. Next steps

This documentation covers the new Core Charge workflow. **Uday will share the SOP** for this
shortly. If the team would like a **walkthrough/training session**, let us know and we'll arrange
one.
