📋 Overview
This SOP covers the manual process for updating the Walmart CPFR file on a weekly basis. Under normal conditions, Apps Script automations handle these updates automatically. Use this guide when:
- The automation is not running or has errors
- You need to update outside of the scheduled run
- You want to verify that all data has been updated correctly
Note: This is a manual backup process. Once automations are confirmed working, most of these steps run automatically each week.
🗂️ Tab Color Guide
Tabs in the CPFR file are color-coded by source file:
| Color | Source |
|---|---|
| White | RJW Transfer Sheet |
| Orange | Pipeline Supply Report |
| Dark Blue | PSI Report (Eufy team) |
| Light Blue / Teal | Weekly Received Email from Walmart (Chad) |
| Green | Root Cause File / QTD Data |
🔄 Step-by-Step Update Process
Work left to right through the tabs. Do not start with the CPFR tab — it is updated last.
Step 1 — RJW Summary
Source: RJW Transfer Sheet → Summary tab
- Open the RJW Transfer Sheet and go to the Summary tab
- Select all (
Cmd+A), copy (Cmd+C) - Go to the RJW Summary tab in the CPFR file, click cell A1
- Paste values only: Shift+Cmd+V
This tab shows supply pipeline info for all SKUs — what's at RJW, the weekly forecast, and any units on order/in transit from RFI to RJW.
Step 2 — Pipeline Overview (Orange Tabs)
Source: Pipeline Supply Report
2a. Pipeline Overview
- Open the Pipeline Supply Report → Pipeline Overview tab
- Select columns A through J
- Copy and paste values only (Shift+Cmd+V) into the CPFR Pipeline Overview tab
⚠️ This report updates once per week — it reflects a snapshot of supply as of Monday morning. Keep this in mind when referencing BOH data mid-week.
2b. Daily Chicago On Hand
- In the Pipeline Supply Report, go to the WMS Daily tab
- Select columns A through I
- Copy and paste values only into the Daily Chicago On Hand tab in CPFR
2c. Daily In Transit
- In the Pipeline Supply Report, go to In Transit Detail Daily
- Select starting from column A, shift-select all columns to the right
- In CPFR, paste starting at cell A3 (not A1 — data starts at the SKU level)
- Use Shift+Cmd+V (values only)
⚠️ Column J is locked — it contains formulas used by other tabs. Do not select the entire sheet when copying from the pipeline report, or you will overwrite these formulas. Only select through column I (or the last data column before J).
Step 3 — In-Stock, Store Counts & Sellout History (Dark Blue Tabs)
Source: PSI Report (updated by the Eufy team)
These tabs only need updating once per week. The Eufy team typically updates them on Tuesday, sometimes Monday or Wednesday. If not updated, you can pull the data manually from Alloy.
3a. In-Stock Report
- Open the PSI Report → In-Stock tab
- Navigate to the far right (weeks run left to right from 2019)
- Confirm the latest week shown matches last week's week number
- If updated: select from the SKU column through the latest week, all rows, copy and paste values into the CPFR In-Stock Report tab
3b. Historical Store Count
- In the PSI Report → Traded Store tab
- Same process — navigate far right to confirm update, then copy/paste values into CPFR
3c. Sellout History
- In the PSI Report → Sellout tab (look for the tab starting with "2019")
- Start selection at the SKU column, Shift+Cmd+Right to select all columns
- Then Shift+Cmd+Down to select all rows (go all the way to the bottom to catch any lingering data)
- Copy and paste values into the CPFR Sellout History tab, starting at the SKU cell
✅ Sometimes one of these three tabs gets updated before the others — always check all three individually.
Step 4 — Weekly Received Email (Light Blue / Teal Tabs)
Source: Weekly email from Walmart (sent by Chad, typically Tuesday morning)
This email contains Walmart's ladder plan — ~268 columns of data including sales forecast, in-stock rates, sales history, and order history. Data reflects through the end of last Saturday (end of prior week). The email itself is typically as-of the night before it's sent.
4a. Paste the Data Dump
- Open the email from Chad and go to the data dump attachment/tab
- Start selection at the first column header ("Old Number")
- Shift+Cmd+Right to select all columns (repeat if selection stops due to missing headers)
- Shift+Cmd+Down to select all rows
- Copy (
Cmd+C) - In CPFR, go to the Weekly Received Email tab, click the header row cell at column M (do not start at A — columns A–L are formula columns, highlighted orange)
- Paste values: Shift+Cmd+V
- Include headers when pasting — this helps confirm column order hasn't changed and ensures the "Last Updated By" column (far right) is captured, which signals the supply team that data is current
⚠️ Do not overwrite columns A–L — these are formula columns. Use Ctrl+~ (tilde) to show formula coverage and confirm nothing was accidentally overwritten.
4b. Sort the Data
After pasting, the data includes both Walmart Stores and Walmart.com rows. Because VLOOKUP/XLOOKUP grabs the first match, Walmart.com rows must be sorted below store rows.
- Select all data (Cmd+A)
- Go to Data → Sort Range → Advanced
- Check "Data has header row"
- Set sort criteria:
- Sort 1: Channel Type → A to Z (puts Stores above .com)
- Sort 2: Last Week POS → Z to A (orders by top sellers)
- Click Sort
4c. Extend Formulas if Needed
If new SKUs were added (e.g., from a new department), pasted data may extend below the formula rows in columns A–L.
- Select the last formula row in columns A through L
- Copy (
Cmd+C) - Shift+Cmd+Down to select remaining rows
- Paste (
Cmd+V) — this pastes formulas (not values) - Verify with Ctrl+~
Step 5 — Actual Orders
Source: Sell-In Data Report → Walmart Pivot tab
- Open the Sell-In Data Report → Walmart Pivot tab
- Select all data starting at the SKU and Week columns, shift-select right and down
- Copy and paste values into the CPFR Actual Orders tab
Step 6 — Current Week Forecast → Last Week Forecast
⚠️ Do this before making any forecast changes. This hard-codes last week's forecast so week-over-week comparisons are accurate.
- Go to the Current Week Forecast tab
- Select all (
Cmd+A), copy- Go to the Last Week Forecast tab, click A1
- Paste values only: Shift+Cmd+V
Step 7 — Last Week Root Cause Summary
Source: Charging Root Cause File → QTD Forecast Raw Data tab
- Open the Charging Root Cause File → QTD Forecast Raw Data tab
- Remove any existing filters (Data → Remove Filter)
- Select all, then re-apply as a Filter View (Data → Create Filter View) — this ensures only your view is affected
- Filter by:
- Week: Current Week
- Customer ID: 657 (Walmart) — reduces ~123K rows to ~14K rows
- Select the highlighted yellow columns: Selling Price, Customer ID, Customer SKU, Revenue, Season, Quantity, QTD Season, Open Forecast
- Copy and paste values into the CPFR Last Week Root Cause Summary tab
Step 8 — Current Week QTD → Last Week QTD
⚠️ Do this before updating forecasts, same reason as Step 6.
- Go to the Current Week QTD tab
- Select all, copy
- Go to Last Week QTD, click A1, paste values only (Shift+Cmd+V)
Step 9 — Process PO
Source: Walmart Retail Link → Nova app
Frequency: Update on Wednesdays and Thursdays. If Thursday data isn't available until late, re-run on Friday morning.
Nova data typically updates around 11 AM Central (9 AM Pacific). If pulling in the morning, confirm orders are current for today before using the data.
Pull Data from Nova
- Log in to Walmart Retail Link
- Go to Apps → Nova
- Click Advanced Search
- Enter your Supplier ID (9-digit number — find it in the Walmart weekly email file, column P; it's the only column where all rows have the same value)
- Set Order Create Date → Current Week
- Click Search, then Refresh after a few seconds
- To confirm today's orders are included: re-run Advanced Search with Order Create Date = Current Date — if it returns results, today's orders are in the system
- Once confirmed: go back to the week-level results, select Line Results (not Header)
- Download the file and save it to your desktop
Import and Pivot
- In the CPFR file, go to File → Import → Upload and import the downloaded Nova file as a new sheet
- From the imported data, select the three columns: Vendor Stock Number, Each Is, and a third identifier column
- Insert a Pivot Table on a new sheet:
- Rows: Vendor Stock Number (= SKU)
- Values: Each Is (= units ordered) → Sum
- This gives you total POs placed to date this week, by SKU
Paste into Process PO Tab
- Go to the Process PO tab in CPFR
- Select all and clear columns A and B first (so old order data doesn't inflate totals)
- Paste the pivot results as values into columns A and B
- Delete the two temporary imported sheets when done
The Total Projected Quantity formula will then extrapolate the full-week order total based on how many days of the week have elapsed. For example, if it's Wednesday (4 of 6 ordering days complete), it scales accordingly.
Step 10 — CPFR Tab (Final Step)
10a. Update the Week Date
- Go to the CPFR tab
- Find the date input cell (yellow, at the top)
- Enter the Monday of the current week (e.g., 04/27 for week of 4/27–5/3)
- ⚠️ Do not enter a Sunday date — formulas will misread the week
- Any day Monday or later works; Monday is the convention
- Confirm the week number shown above the cell updates correctly (e.g., "Year 26, Week 17")
10b. Shift the Sell-In Forecast
When the date is updated, all formula columns shift left by one week — but the hard-coded forecast values do not shift automatically.
- Filter column D to row type 24 (Sell-In Forecast rows)
- Starting from the next week's column (column AP or equivalent), select all forecast values across all SKUs to the right
- Shift+Cmd+Down to select all SKU rows
- Copy (
Cmd+C) - Move one column to the left (current week column), click the first cell
- Paste values: Shift+Cmd+V
✅ Sanity check: After shifting, the week-over-week delta column should show $0 for most SKUs. Any non-zero delta indicates a forecast change was intentionally made (e.g., NPI SKU adjustments).
🔁 Update Frequency Summary
| Tab / Data Source | Frequency | Timing |
|---|---|---|
| RJW Summary | Weekly | When RJW Transfer Sheet is updated |
| Pipeline Overview | Weekly | Monday morning snapshot |
| Daily Chicago On Hand | Daily | Each business day |
| Daily In Transit | Daily | Each business day |
| In-Stock / Store Count / Sellout | Weekly | Tue (sometimes Mon or Wed) — Eufy team |
| Weekly Received Email | Weekly | Tuesday morning from Walmart (Chad) |
| Actual Orders | Weekly | After Walmart email received |
| Process PO (Nova) | 2–3x/week | Wednesday, Thursday, Friday morning |
| CPFR Tab Date + Forecast Shift | Weekly | Start of each new week |
⚠️ Key Reminders
- Always paste values (Shift+Cmd+V) unless explicitly copying formulas
- Never overwrite formula columns — use Ctrl+~ to view formula coverage
- Column J on Daily In Transit is locked — do not select the full sheet when copying from the pipeline report
- Columns A–L on the Weekly Received Email tab are formula columns — start pasting at column M
- Copy Current Week Forecast → Last Week Forecast before making any forecast edits
- Copy Current Week QTD → Last Week QTD before making any forecast edits
- Enter Monday's date (not Sunday) when updating the CPFR tab week
- CPFR tab is always updated last