Important Files and Macros

Promotion Macro

The Promotion Macro turns a vendor’s Navy Deal Offer Form (DOF) into a ready-to-key START promotion template in one click. When you click Export Promotion it:

  1. Builds the START promotion template rows (item, zone, fixed price, retail, comments).
  2. Logs the promotion to the brand’s tab in the Buyer Promo Tracker and checks for overlapping promotions.
  3. Optionally loads the items into the Fact Tags workbook for sale signs.
  4. Saves the template to the shared promotions folder, split into one file per month for long promotions.
  5. Drafts the Outlook email to the right team with the file attached, ready for you to review and send.
Save both workbooks to a shared path your team can access. The macro opens the START template, the tracker and the Fact Tags workbook from the paths in its CONFIGURATION section, so update those paths to your team’s folders first (see Assign Tracker Path).

Before You Run It

Step 1: Fill In the Deal Offer Form

Paste or type the vendor’s DOF into the macro workbook. The yellow cells are inputs; the red boxes next to the arrows are the cells the macro reads for the brand, your ID and the buyer number.

Promotion Macro workbook: Navy Deal Offer Form with header fields, Export Promotion button, vendor name, submitted-by ID and buyer number boxes, and item rows
Field (cell)Required?What to enterWhere the macro uses it
Start Date (B14)YesFirst day of the promotionSTART template, tracker, Fact Tags, file name
End Date (D14)YesLast day of the promotionSame as above; promotions over 31 days are split by month
Input Vendor Name Here (C26)YesBrand name, spelled exactly like the tracker tab (e.g. MSI)Tracker tab, folder name, file name, email
Submitted By ID (D26)YesYour user IDTemplate “Submitted By ID” (K2)
Input Buyer Number Here (C27)YesBuyer numberTemplate “Buyer ID” (G2)

Item rows start on row 30 (one item per row, up to row 333):

DOF columnRequired?Goes to
Navy RIN# (D)YesTemplate/tracker Item ID (M) and Fact Tags item
Reg Sell (F)YesTemplate/tracker Current Retail (AB) and Fact Tags
Promo Sell (G)Yes, fixed priceTemplate/tracker Fixed Price (W) and Fact Tags
Model/Description (B)OptionalTemplate/tracker Comments (AA)
Scanback $ (I)OptionalTracker TC/IR (AC), used for trailing credit
UPC, Parent RIN, Reg Cost, Qty Sold, etc.OptionalNot used by the macro; kept for reference
Promo Sell must be a fixed price, not a percent or dollar amount off. Double-check the prices before exporting, especially .00 endings. Every row is keyed as Item level, Zone 3391, Fixed Price, applied to Both Regular and Clearance.

Step 2: Click Export Promotion and Answer the Two Questions

QuestionYesNo
Will you send promotion now?File saved to …\2026\[Brand]\[Month]\, tracker Sent to START? = Yes, and an email is drafted.File saved to …\2026\Send Later\[Month]\[Brand]\, tracker Sent to START? = No, and no email. Send it yourself later.
Do you want to generate sale tags?RINs, regular and promo prices, and dates are loaded into the Sale Master sheet of the Fact Tags workbook (see Sale Fact Tags).Fact Tags workbook is not touched.

The macro then runs on its own. Here’s what happens, in order:

  1. Builds the template. Opens the START promotion template and fills one row per item.
  2. Logs to the tracker. Opens the Buyer Promo Tracker, finds the tab named after the brand, adds the rows under the last entry with the promo dates, scanback $ and the Sent to START answer, then saves the tracker.
  3. Checks for overlaps. The tracker’s Overlap Check column (C) flags any item already on promotion for those dates. If any row says Overlap, you’ll see “Overlap Detected! Check Tracker.” and the macro stops: no file is saved and no email is drafted.
  4. Loads Fact Tags (if you said Yes).
  5. Saves the file(s). The file is named m.d.yy-m.d.yy Brand Month Promotion.xlsx, e.g. 3.1.26-3.31.26 MSI March Promotion.xlsx. Missing brand/month folders are created automatically.
  6. Drafts the email (if sending now) and shows “Process Complete.”
Long promotions are split by month. If the promotion runs longer than 31 days, the macro creates one file (and one email) per calendar month. Example: 3/15/26–5/10/26 produces 3.15.26-3.31.26 … March, 4.1.26-4.30.26 … April and 5.1.26-5.10.26 … May.
If an overlap is detected: the new rows have already been added to the tracker (that’s how the overlap was found). Look at the brand tab, fix the dates or items, delete the rows the macro just added, then run the macro again.

Step 3: Review and Send the Email

When you choose to send now, Outlook opens a draft for each file. The macro picks the recipient from how soon the promotion starts:

Promotion startsSent toSubject
Within 7 days of todayDMM (Name Redacted)URGENT Pricing - [file name]
More than 7 days outS.T.A.R.T. teamBP - [file name]
  1. Open the attached file and verify the START template: items, fixed prices, dates, buyer ID and submitted-by ID.
    *The template always applies “Both Regular and Clearance”.
  2. Click Send. The email is only drafted, never sent automatically.

Step 4: Check the Tracker

Each promotion is logged to the brand’s tab in the Buyer Promo Tracker, which the macro saves automatically:

Buyer Promo Tracker brand tab with promotion header fields, Generate RPC and Sales Units Update buttons, and promotion component columns
Tracker columnFilled with
Overlap Check (C)Calculated: shows Overlap if the item is already on promotion for those dates
DTL Start / End Date (G–H)Promotion start and end dates
Item Level (I), Location Type (P), Zone ID (R), Change Type (T), Apply To (Y)Item, Zone, 3391, Fixed Price, Both Regular and Clearance
Item ID (M)Navy RIN
Fixed Price (W)Promo Sell
Comments (AA)Model/Description
Current Retail (AB)Reg Sell
TC/IR (AC)Scanback $
Sent to START? (AF)Yes or No from the first question
Units Sold / Trailing Credit (AG–AH)Filled later with Sales Units Update; trailing credit = TC/IR × units sold
Sent it later? Promotions saved with “No” are in …\2026\Send Later\[Month]\[Brand]\. When you send one, email the file yourself and change Sent to START? to Yes on the tracker.

Troubleshooting

ProblemFix
“Overlap Detected! Check Tracker.”An item is already on promotion for those dates. Review column C on the brand tab, delete the rows just added, fix the DOF and run again.
Nothing was logged to the trackerThe brand name in C26 doesn’t match a tracker tab exactly (spaces and spelling count), or the tracker path is wrong.
Error opening the template, tracker or Fact Tags fileA path in the CONFIGURATION section is wrong or you don’t have access to that folder.
Wrong or missing itemsItem rows must start on row 30 with no blank rows in between; the macro stops at the last filled row in columns B–G.
Wrong dates or file namesEnter real dates in B14 and D14 (not text).
No email appearedYou answered No to “send now”, or Outlook isn’t open/signed in.
The master copy protects itself: after its first save, the Promotion Macro workbook locks itself so it can’t be saved over by accident. Use File → Save As if you need your own copy.

Promotion Macro w/ automatic tracking and filing

Buyer Promo Tracker

1. Save to path team can access

Buyer Promo Tracker workbook saved to a shared path
*Note If RINS are the same and dates overlap at all. Column will indicate an overlapping promo has been entered
Overlap Check Attribute 1 Page Attribute 2 Subm. Attribute 3 Buyer ID DTL Start Date DTL End Date Item Level Dept ID Class ID Subclass ID Item ID
Overlap 1/1/261/30/26 1234567
Overlap 1/20/262/10/26 1234567

Sales Update Button

*NOTE Sales Unit Update macro button
  • Highlight RIN/RINS with same start and end dates. Click button
  • Enter Start and end dates of promotion for those items. Start and end dates must be MM/DD/YYYY Format
Sales Start                                ✕
Sales End                                 ✕

Units Sold for specified period for all locations will populate into column AG. Trailing credit will auto calculate in column AH

Units Sold Trailing Credit $$$
16 $    80.00

Brand Tabbing

SQL Acer Amazfit Amazon Apple Asus Clinton CLX Epson Fitbit Garmin HP iBuyPower Lenovo Logitech LG Microsoft MSI Mobile Pixels Huawei Samsung Skytech SteelSeries Toshiba Turtle Beach Ultrahuman OTHER
  1. Duplicate Brand tab for each brand and rename the tab for each brand.

*if Brand Tab Name does not match Brand name input on Promotion Macro the macro will be unable to copy information over to Promo tracker. (Text just needs to match)

Input Vendor Name Here!!!
➔ username ➔
Submitted By ID
Input Buyer Number Here!!!
➔ 430

Assign Tracker Path to Promotion Macro

  1. Go to path Share Path where YOUR Tracker is located.
  2. Right click, select Copy as path
Cut
Copy
Rename
Share
Delete

Back onto Promotion Macro Workbook.

  1. Right click macro button
  2. Click "assign macro"
  3. Click "VendorDOF" and select Edit
    Assign Macro                                  ? ✕
    CopyData
    PERSONAL.XLSB!FFINSPECT
    VendorDOF
    Macros in:
    Description
  4. Under "Configuration" paste the path of your Buyer Promo Tracker into TrackerPath: in between the quotations.
  5. ' --- CONFIGURATION ---
    TemplatePath = "\\server\share\folder"
    TrackerPath = ""
    FactMasterPath = "X:\shared\folder"
  6. Under "Part 4: File Generation Loop" and "Revised Dynamic Paths" provide a path for START templates to save to. For Now location & Later location
  7. ' --- REVISED DYNAMIC PATHS ---
    If SendNowResponse = vbYes Then
    ' Save to: ...\2026\[Brand Name]\[Month]\
    SaveFolderString = "\\server\share\folder" & BrandName & "\" & PromoMonth & "\"
    Else
    ' Save to: ...\2026\Send Later\[Month]\[Brand Name]\
    SaveFolderString = "\\server\share\folder" & PromoMonth & "\" & BrandName & "\"
    End If
  8. Do Ctrl + S to save and close the window
  9. *You must reassign macro
  10. Right click macro button again and click assign macro.
  11. Click VendorDOF and click OK
  12. Save document and close.

*Now, when you run the promotion macro. The promotion information will be logged to YOUR teams Tracker file.

Fact Tags

The Fact Tags V4 workbook holds every fact tag the team has built (the shelf signs for out-of-box, on-display items) and creates the import files the sign team uses to print them. Each tab has a job:

TabWhat it’s for
Category tabs (Apple, Audio, Cameras, Computers, TV-Video, Video Games, Majors, Small Appliances, …)Where fact tags are built and kept: one row per item, starting on row 6. See Regular Fact Tags.
MasterA combined copy of the category tabs. The SALE MASTER looks every RIN up here. Refresh it with Update Master after adding or changing fact tags.
SALE MASTERBuilds sale signs for a promotion and sends them to the sign team (this section).
Clearance MasterThe same idea for clearance signs.
Examples / InstructionsThe sign team’s rules: character limits, // line breaks, required columns.

Regular Fact Tags (Category Tabs)

Regular fact tags are the everyday shelf signs for items on display. Each category (Apple, Audio, Cameras, Computers, TV-Video, etc.) has its own tab where its tags are kept, plus an Email Fact Tags button that sends that category’s tags to the sign team. The Master tab combines all the categories so the SALE MASTER can find any item by RIN.

The workflow is: add the tag on its category tab → click Email Fact Tags → click Update Master.

Regular Tags Step 1: Add the Tag to Its Category Tab

Go to the category tab, find the first empty row below the header (row 5; tags start on row 6) and fill in one row per item:

ColumnWhat to enterRules
Copies (A)1Required. The export finds the last row from this column, so every tag needs it.
Template (B)5X3FACT or 7X5FACTRequired. Sign size, chosen from the drop-down.
UserDefined4 (C)RegularRequired. Marks a regular-price tag. Case-sensitive.
SalePriceType (D)Protection PlanRequired. The sign header image the team uses for regular tags. Pick from the drop-down.
ItemID (E)Navy RINThe key the SALE MASTER uses to find the tag.
Model (F)Vendor part number (VPN)Case-sensitive; use capital letters as the vendor does.
UPC (G)Full UPCAll digits.
Name (H)Item name, e.g. Apple 11-Inch iPad Air M3 Wi-Fi 128GBRequired. Up to 105 characters (about 40 per printed line).
Description (I)Key features separated by //Up to 250 characters (about 60 per printed line). // starts a new line on the sign.
RegPrice (J)Regular NEX priceRequired.
SalePrice (K)Leave blankOnly used for sale tags.
StartDate (L)Today’s dateThe date you added the tag. The export uses the newest date to build the “New” file.
StopDate (M)Leave blankOnly used for sale tags.

Example (from the Apple tab):

Name (H)Description (I)RegPrice (J)StartDate (L)
Apple 11-Inch iPad Air M3 Wi-Fi 128GB11" 2360x1640 Liquid Retina Display//Apple M3 Chip 8-Core CPU 9-Core GPU//128GB Storage//Apple Pencil Pro Supported//Available Colors: Blue, Starlight, Purple, Space Gray58910/02/26
Sign team rules (from the workbook’s Instructions tab): no space at the start or end of any cell, or the import fails. Use sign-ready spelling and capitalization, and abbreviations only where appropriate. To remove a tag, delete the row rather than using Clear Contents, which leaves hidden data behind. Special characters: ° Alt+248, © Alt+0169, ™ Alt+0153, ® Alt+0174.
Use today’s date in StartDate for every tag you add. The export sends the sign team a “New” file with only the tags that have the newest date, so that date is how it knows which tags are new. To reprint an existing tag, change its StartDate to today.

Regular Tags Step 2: Click Email Fact Tags

On the category tab, click Email Fact Tags. The macro builds two files for the sign team and drafts the email:

StepWhat the macro does
1. Checks the tabStops with “[Category] tab has no data to export.” if there are no tags below row 5.
2. Prepares the folderUses the category’s folder in the shared Fact Tag Exports folder (e.g. …\Fact Tag Exports\Apple\) and creates it if it’s missing.
3. Saves the Master fileCopies the header (row 5) and every tag on the tab into a new workbook with one sheet named ItemImport, saved as [Category] Master Fact Tag_99999_Promotion_SIGNS_HQ Distributed_[YYYYMMDD].xlsx.
4. Saves the New fileFinds the newest StartDate in column L and saves only the tags with that date as [Category] New Fact Tag_99999_Promotion_SIGNS_HQ Distributed_[YYYYMMDD].xlsx. If no tag has a date, it skips this file and tells you.
5. Drafts the emailOpens an Outlook email to the sign team, copied to the fact tag team, with both files attached. It is not sent automatically.
6. ConfirmsShows “[Category] Fact Tags exported and email is ready to fly!”
  1. Open both attachments and check them: the New file should contain only the tags you just added.
  2. Click Send. The sign team prints from the New file and keeps the Master file as the category’s full, current list.

Every category tab works the same way; only the tab name, export folder and file names change (e.g. Audio Master Fact Tag…, TV-Video New Fact Tag…). Running it again on the same day replaces that day’s files.

Regular Tags Step 3: Click Update Master

After adding or changing tags, go to the Master tab and click Update Master (the same button is on Clearance Master). Do this before building sale signs, or new items will show #N/A on the SALE MASTER.

StepWhat Update Master does
1. Clears the Master tabRemoves everything below the header. Master is rebuilt from scratch each time, so never type on it.
2. Combines the category tabsCopies rows 6 down (columns A–M) from Apple, Audio, Computers, Cameras, Mobile Electronics, Smart Home, TV-Video, Video Games, Majors, ASOS and Small Appliances.
3. Stores RINs and UPCs as textForces ItemID (E) and UPC (G) to text so the SALE MASTER lookups match them exactly.
4. Sorts newest firstSorts by StartDate (L), newest on top.
5. Stamps the timeWrites “Last updated: yyyy-mm-dd hh:mm” in cell Z1.
6. Locks the tabRe-protects Master (sorting and filtering still allowed) and shows a dad joke to confirm it finished.
Floor Care and HomeGarden are not included. Those tabs have their own Email Fact Tags buttons, but Update Master doesn’t copy them to the Master tab, so their RINs show #N/A on the SALE MASTER. To include them, add those two tab names to the list of tabs in the Update Master macro (VBA editor, QuickConsolidateAndSort).

Regular Tags Troubleshooting

ProblemFix
“[Category] tab has no data to export.”There are no tags below row 5, or column A (Copies) is blank. Fill in Copies on every row.
“No rows matched the newest date…”No tag on the tab has a StartDate. Put today’s date in column L for the tags you added; only the Master file was attached.
The New file has the wrong itemsIt contains every tag with the newest StartDate. Make sure only today’s new tags have today’s date, and that no tag has a future date.
Tags missing from the Master fileThe bottom rows are missing Copies (A). The macro finds the last tag by looking up from the bottom of column A, so rows below the last filled Copies cell are left out.
“Error saving file…”The Fact Tag Exports folder can’t be reached, or a file with the same name is open. Close it and run again.
“Outlook is not available.”Open Outlook and run the button again; the files are already saved.
New tag shows #N/A on the SALE MASTERClick Update Master. Tags on Floor Care and HomeGarden are not included in Update Master, so add those tab names to its list if they need sale signs.
Update Master didn’t sortThe workbook is in shared mode, which can block sorting. The data is still updated.

Sale Fact Tags (SALE MASTER)

The SALE MASTER tab turns a list of RINs and sale prices into a sale-sign file for the sign team. You load the items, check that every item has a fact tag, then click EXPORT TO SIGN TEAM. The macro builds the sign-team file, removes items with no fact tag, names the file the way the sign team requires, and drafts the email.

SALE MASTER tab with Copies, Template, UPC, ItemID, Model, Name, Description, StartDate, StopDate, UserDefined4, SalePriceType, RegPrice and SalePrice columns, rows showing #N/A, and the Export to Sign Team button

Step 1: Load the Items

Automatically: run the Promotion Macro and answer Yes to “Do you want to generate sale tags?”. It writes the RINs, regular and promo prices, and dates into the SALE MASTER for you.

Manually: paste RINs into ItemID (D), starting on row 2 with no blank rows, then fill in the dates (H–I) and prices (L–M).

ColumnFilled byNotes
ItemID (D)You, or the Promotion MacroThe Navy RIN. Everything else is looked up from this.
UPC (C), Model (E), Name (F), Description (G)Formula (VLOOKUP on the Master tab)Shows #N/A when the RIN has no fact tag on Master.
StartDate / StopDate (H–I)You, or the Promotion MacroThe dates printed on the sign.
RegPrice / SalePrice (L–M)You, or the Promotion MacroRegular NEX price and the promo price.
Copies (A), Template (B)Pre-filled1 and 5X3FACT.
UserDefined4 (J), SalePriceType (K)Pre-filledSale and Sale (the sign header).
Clear the old promotion first. The export takes every row down to the last RIN in column D, and the Promotion Macro only overwrites as many rows as the new promotion has. Delete leftover rows from a previous promotion (columns D, H, I, L and M) before loading a new one.

Step 2: Check for #N/A

After the RINs are in, the lookup columns fill in automatically. A row showing #N/A means that item has no fact tag on the Master tab. For each one, either:

Items with #N/A are dropped from the file without a warning. Check the list before exporting so an item that needs a sign isn’t missed. The sign team will not accept templates with #N/A items.

Step 3: Click EXPORT TO SIGN TEAM and Answer the Prompts

Stay on the SALE MASTER tab (the macro reads whichever tab is active) and click EXPORT TO SIGN TEAM. Answer three prompts:

  1. Department/Brand, e.g. Apple. Used in the file name, subject and email.
    Department Name                       ✕
  2. Start and end date in MM/DD/YY format. These set the week number, file name and subject; the dates printed on the signs come from columns H–I.
    Start Date                                 ✕
    End Date                                   ✕

Then the macro runs on its own:

StepWhat the macro does
1. Reads your answersDepartment, start date and end date. Stops if any are blank or the dates aren’t valid.
2. Works out the fiscal weekThe fiscal year starts February 1. Week = days since Feb 1 ÷ 7, rounded down, + 1 (kept between 1 and 52). Example: start 03/01/26 → 28 days → Week 5.
3. Opens the sign team’s templateOpens the shared Fact Tags.xlsx template read-only, so the original is never changed.
4. Copies your rowsPastes columns A–M of the SALE MASTER, down to the last RIN in column D, as plain values into the template’s ItemImport tab.
5. Removes #N/A rowsDeletes every row whose UPC is #N/A (items with no fact tag), so the sign team never receives error rows.
6. Saves the fileSaves the ItemImport tab as its own workbook in your Windows temp folder, using the sign team’s file-name format.
7. Drafts the emailOpens an Outlook email to the sign team with the file attached. It is not sent automatically.

Step 4: Review and Hold the Email

Outlook opens a draft to the sign team with the file attached. The file name and subject follow the sign team’s format:

ItemFormatExample (Apple, 03/01/26–03/31/26)
File nameWeek [#] Unadvertised [Dept] Promotion Fact Tag_99999_Promotion_SIGNS_HQ Distributed_[YYYYMMDD]_[YYYYMMDD].xlsxWeek 5 Unadvertised Apple Promotion Fact Tag_99999_Promotion_SIGNS_HQ Distributed_20260301_20260331.xlsx
SubjectWeek [#] [Dept] Unadvertised Promotion Fact Tags [MM.DD.YYYY]-[MM.DD.YYYY]Week 5 Apple Unadvertised Promotion Fact Tags 03.01.2026-03.31.2026
ToSign team mailboxPLUS-SignTeam
  1. Open the attachment and verify the items, prices and dates.
  2. Hold the email until START has keyed/approved the promotion, then send it.
    *START DOES NOT WANT SIGNS SENT UNTIL THE PROMOTION HAS BEEN KEYED/APPROVED.
  3. The attachment lives in your Windows temp folder, so keep the draft open (or save the attachment) until you send it.

Troubleshooting

ProblemFix
Lots of #N/A rowsThose RINs have no fact tag on the Master tab. Build them on the category tab, refresh Master, or let the export drop them.
A fact tag exists but still shows #N/AThe Master tab hasn’t been refreshed since the tag was added, or the RIN has a leading/trailing space.
Old items appear in the exportLeftover rows from a previous promotion. Delete them from the SALE MASTER before loading new items.
Wrong dates on the signsThe signs use columns H–I, not the dates you type at the prompts. Fix the dates in H–I and export again.
“Target file not found.”The sign-team template path in the code is wrong, or you don’t have access to that folder.
“Invalid date format.”Type the dates as MM/DD/YY, e.g. 03/01/26.
Wrong week numberThe week comes from the start date you typed, counting from February 1.
Attachment missing laterThe file is saved in your Windows temp folder, which can be cleaned up. Keep the draft open or save the attachment until you send it.

Ad Planner & DB Uploader

The NEX Ad Planner workbook covers an ad from start to finish:

  1. Measure past ads. Import QuantaSense sales data and calculate how much each item’s sales rose (its lift) in the weeks it was advertised.
  2. Plan the next ad. Build the week’s item list, pull item details from RMS, and export the lineup to the marketing PowerPoint template.
  3. Upload to the Ad Database. The export also fills the Ad Database Import sheet, which you send to the Ad Database with the Update Ad Database form (Ctrl+A).

Before You Start

The Weekly Workflow at a Glance

#StepSheetButton / macro
1Log the ad weeks you want to measureAd Week CalendarType them in
2Pull 26 weeks of sales from QuantaSense and import themData ImportImport Data
3Calculate lift for the ad week(s)Data Import → Ad SummaryBuild Ad Summary
4Review results; roll up by vendor or productAd Summary, Lift QueryUpdate (Lift Query)
5Build the new ad week and pull item detailsAd Week PlannerImport SKU Data
6Export the slide, fill the database sheet and log the exportAd Week PlannerExport To PowerPoint
7Finish the database rows and upload themAd Database ImportCtrl+A → Update Ad Database
The workbook’s own Instructions tab is summarized below. Parts of it are from older versions (for example it says INCLUDE? is column S and mentions an HL holiday template); this guide follows the current code.

How the Ad Planner Works

The workbook links your QuantaSense sales data, RMS item data, the PowerPoint ad templates and the Ad Database. These are the tabs you work in:

TabWhat it’s for
Ad Week CalendarThe list of ad weeks and their QuantaSense week codes.
Data ImportThe QuantaSense sales data, loaded with the Import Data button (no pasting).
Ad SummaryLift results for each item in the ad week(s) you analyze.
Lift QueryRolls the Ad Summary up by week, description, Class or Sub-Class.
Ad Week PlannerWhere you build one ad week; drives the PowerPoint export.
Ad Database ImportThe rows that get uploaded to the Ad Database.

How lift is measured

Baseline = the item’s normal, un-promoted sales. For each item, the Baseline Avg/Wk is the average weekly units it sold over the last 26 weeks excluding ad weeks. That answers “what does this item sell when we don’t advertise it?”, which is the right comparison, rather than a calendar-year average.

When you’re quoting…Use
One itemIts Lift % on the Ad Summary.
A vendor, product line or whole adThe Weighted Lift % from the Lift Query. It counts every unit equally, so it matches the actual extra units the ad drove.
A simple average of several items’ Lift %Don’t. Small items with big percentages inflate it.

Ad Week Calendar

Ad Week Calendar tab with Ad Week, Vehicle, Ad Name / Theme, QS Week Code and Notes columns

A running list of every ad you run. Add a row each time:

ColumnExampleNotes
Ad Week #WK25
VehicleAE, SF, X
Ad Name / ThemeBack to School
QS Week Code2025:Wk25Required. Must match the Week column in the QuantaSense export exactly. The predecessor lookup uses this list to tell ad weeks from normal weeks.
Notes

Data Import (and Build Ad Summary)

Data Import tab with Group, Dept, Class, Sub-Class, SKU, Style NEW, Week, Metrics, Sales and LC26W columns

Holds the QuantaSense sales data the analysis runs on. You don’t paste into it; the Import Data button loads it for you.

1. Pull the data. In QuantaSense, export the Ad Planner V1 layout for your category group covering the trailing 26 complete weeks with the LC26W metrics selected. Include the ad week(s) you want to measure and the normal weeks around them. Save it as .xlsx.

2. Click Import Data and pick the file. The macro:

  1. Opens it read-only and checks the layout: row 3 must have Group in A, SKU in E, Week in G and Inv OH in M. Otherwise you’ll see “File does not match QuantaSense V1 layout.”
  2. Opens a temporary Select Group(s) to Import sheet with a checkbox for every group in the file (all ticked). Untick any you don’t need, then click Confirm Selection (or Cancel).
  3. Clears the old data and writes the selected rows from row 5, then tells you how many rows were imported and how long it took.
Every import wipes and replaces the data from row 5 down. To analyze two pulls together, combine them in QuantaSense first, then export once.

3. Click Build Ad Summary. A temporary Select Ad Week(s) to Analyze sheet lists every week in the data. Tick the ad week(s) you want to measure and click Confirm Selection. Results go to the Ad Summary tab.

ColumnsWhat they hold
Group, Dept, Class, Sub-Class (A–D)Product hierarchy. Sub-Class is often the brand.
SKU (E)Transaction RIN.
Style NEW (F)Parent RIN: Description. Rows containing UNSCANNED, DEMO or SPECIAL ORDER are ignored.
Week (G)Week code, e.g. 2025:Wk25.
Sales $ / Sales U (I–J)That week’s revenue and units.
Sales $ / Sales U LC26W, Inv OH U LC26W (K–M)Last-26-week figures used to build the normal (baseline) weekly sales.

Ad Summary

Ad Summary tab header with Ad Weeks, Count, Last Run and Predecessor fields and the elasticity table columns

One row per Transaction RIN per selected ad week, showing how much the ad lifted sales compared with a normal week. The header shows the weeks analyzed (E3), the item count (H3) and when it last ran (K3).

ColumnMeaning
Ad Wk Units / Ad Wk Rev ($)Units and revenue in the ad week.
Baseline Avg/WkAverage weekly units in the non-ad weeks (the normal run-rate).
Baseline WeeksHow many non-ad weeks the baseline is based on.
Unit LiftAd week units − baseline.
Lift %Unit lift ÷ baseline. The headline number.
Rev Lift ($)Ad week revenue − average non-ad week revenue.
VerdictSee below.
Average Selling PriceAd week revenue ÷ units.
Group, Dept, Class, Sub-ClassFor filtering by category.
VerdictRule
STRONG (green)Lift % of 50% or more.
MODERATE (yellow)Lift % from 20% to under 50%.
WEAK (red)Lift % under 20%.
LOW DATA (n wks)Fewer than 4 baseline weeks, so not reliable.
NEW LAUNCHNo baseline weeks: the item is new.
No DataNo baseline and no ad week sales.

Using it: filter Verdict to STRONG/MODERATE, sort Lift % from largest to smallest to rank the best performers, or filter Group/Dept/Class/Sub-Class to focus on a category.

Predecessor lookup: to see how an older, similar item did in every ad week in the data, type its Parent RIN in M3 and run View → Macros → LookupPredecessor. The results appear below the main table.

The Ad Summary only holds the week(s) you picked the last time you ran Build Ad Summary. To compare other weeks, run it again and select them.

Lift Query

Lift Query tab with Ad Week, Description, Class and Sub-Class inputs, results summary and detail table

Rolls up the Ad Summary for a vendor, product or category: the number to quote when discussing performance with buyers or marketing. Fill in any of the inputs (blank = no filter) and click Update:

InputWhat it filters
Ad Week(s) (B3)Exact week codes, comma-separated, e.g. 2025:Wk25, 2025:Wk31.
Description contains (B4)Text anywhere in the description, e.g. MacBook Air.
Class contains (B5)Text in the Class.
Sub-Class contains (B6)Text in the Sub-Class, often the brand, e.g. Apple.

Results: SKUs matched, total ad units and revenue, total unit and revenue lift, and the Weighted Lift % (total unit lift ÷ total baseline units), followed by the matching rows sorted by Lift %. The weighted figure counts every unit equally, so it isn’t skewed by small items the way a simple average of Lift % would be.

Ad Week Planner

Ad Week Planner left side: ad header fields, Export To PowerPoint and Import SKU Data buttons, and item columns Trans RIN to Call Out Ad Week Planner right side: Ad Info, Predecessor RIN, LY lift columns, GM %, Vendor Funded, Elasticity, INCLUDE? and Brand

Where you build the ad. The header fields come first:

CellEnterUsed for
Ad Week # (B3)e.g. 25 or WK25Required. File name, database Week, tracker.
Vehicle (E3)AE, FE, X/EMAIL, LE, …Picks the PowerPoint template (see below).
Theme / Anchor (B4)Ad themeCopied to THEME on the Ad Database Import sheet.
Ad Start / End Date (B5, E5)DatesReference.
LY Ad Week #, LY Theme, LY Pages RanLast year’s adReference.

Then one item per row from row 10 (up to row 89):

ColumnFilled byNotes
Trans RIN (A)YouUse TBD for a new item without a RIN yet; the slide marks it “TBD -- NEW ITEM” in red.
Parent RIN, VPN, UPC, Cost, Retail, Description (B–G)Import SKU Data (from RMS)Type over Retail or Description after importing to use your own text on the slide and in the database.
Promo Price (H)YouBecomes the ad price.
Savings (I)FormulaRetail − Promo Price.
Call Out (J)Youe.g. New, Special Pricing.
Ad Info (K)Import SKU Data (from the Ad Database)The newest ad copy previously used for that item.
Predecessor RIN (L)YouAn older, similar item; fills LY Ad Units, LY Units Lift % and LY Rev Lift from the Ad Summary.
Curr IOH, GM %, Vendor Funded? (P–R)YouPlanning notes.
Elasticity (LY) (S)FormulaSTRONG / MODERATE / WEAK from LY Units Lift %.
INCLUDE? (T)YouYES puts the item on the slide.
Brand (U)FormulaDetected from the description using the BrandList tab.

The formula columns (Savings, the LY columns, Elasticity and Brand) are locked so the formulas can’t be deleted; don’t type into them. If a brand isn’t detected, add it to the workbook’s BrandList tab.

Import SKU Data (the UpdateButton macro): select the Trans RIN cells to update in column A, or click any cell outside column A to update every row from 10 down, then click the button. For each RIN it reads the item’s details from RMS and the newest Ad Information from the Ad Database, then shows which rows were updated.

Export To PowerPoint

When the INCLUDE? column is set, click Export To PowerPoint on the Planner and confirm the prompt. The macro:

  1. Checks the setup. Ad Week # must be filled, U9 must say Brand, and at least one item must be marked YES.
  2. Picks the template from the Vehicle (below) and asks you for a layout if there’s a choice. If more items are marked YES than the layout has slots, it stops and tells you.
  3. Asks where to save the PowerPoint (suggested name e.g. 25_AE_FE_20261002.pptx). Cancel here and nothing else runs.
  4. Bulk loads the Ad Database Import sheet with every item row on the Planner (see Ad Database Import).
  5. Builds the slide. Each slot gets the description, VPN, RIN, retail, promo price, savings and call out, then the file is saved and PowerPoint closed.
  6. Logs the export to the Ad Tracker and shows a summary with the saved file’s location.
Vehicle (E3)TemplateLayouts
LE (large event)Large_Event_Template.pptxNo prompt. 7 items per slide, as many slides as needed (up to 210 items).
X or EMAIL (or an Ad Week containing X)Email_Templates.pptx1 = feature hero + 3 (4 slots), 2 = 2×2 grid (4), 3 = single column (3).
Anything else (AE, FE, …)AE_and_FE_Templates.pptx1 = hero + 6 (7 slots), 2 = 9-up grid (9), 3 = hero + 3 (4).
HL (holiday)AE_and_FE_Templates.pptxThe Instructions tab mentions an 8-grid holiday template, but the current code treats HL like AE/FE.

Ad Database Import (and the DB Uploader)

Ad Database Import tab with Week, Item Info, Marketing, Pricing, Image, Order Info and Coop column groups

The rows that go into the Ad Database. Export To PowerPoint adds one row per Planner item below any existing rows:

ColumnFilled with
Wk (A)Ad Week # and Vehicle combined, e.g. 25AE.
Supplier # / Supplier Name (B–C)From RMS.
RIN, Style # (VPN) (D–E)Trans RIN and VPN.
Item Description (F)The Planner’s Description if typed, otherwise RMS.
Ad Information (G)The Planner’s Call Out (J) if filled, otherwise the newest Ad Information in the Ad Database. (The macro looks for a Planner header named “Ad Information”; the Planner’s header is “Ad Info”, so it falls back to column J. Rename K9 to Ad Information if you want column K used instead.)
Priority (I)1, 2, 3… in Planner order.
NEX Price (P), Adv Price (Q)Planner Retail (or RMS retail) and Promo Price.
NEX Cost (U), Reg Cost (AQ)RMS cost.
IMAGE (AC)The newest Image Delivery note in the Ad Database.
DEPT, CLASS, THEME, PARENT (AM–AP)RMS dept and class, the Planner theme, Parent RIN.
New Item, Online Exclusive, Change Type, Pricing Strategy, YEARPre-filled defaults: N, N, FIXED, YFB, 2026.
Clear old rows before re-exporting. Every export adds rows below the existing ones and includes every Planner row with a Trans RIN, not just INCLUDE? = YES. Delete rows you don’t want uploaded before using the DB Uploader.

Fill in anything still blank that the ad needs (Page, MSRP, Call Outs, Grouping Info, Coop $, Order Frequency, etc.).

Upload to the Ad Database (Ctrl+A)

Red headers are required. Every row needs Page (H), the price change (fill whichever of % OFF, $ OFF, FIXED or NoChg (L–O) applies), NEX Price (P), Adv Price (Q) and IMAGE (AC). Check these before uploading.

The uploader finds each field by its header text in row 4, so columns can move but headers must keep their exact names. Don’t merge cells in rows 1 or 4.

  1. On the Ad Database Import sheet, select one cell in each row you want to upload, all from the same department (up to 500). Rows with no Wk and no RIN are skipped.
  2. Press Ctrl+A to open the Ad Items form (shown below). It copies the latest lookup list to C:\temp and fills in what it can; complete the rest.
  3. Click Update Ad Database. Each selected row becomes a new Ad Database record with the form’s week, event, department and ad dates plus the row’s values.
  4. When “Done!” appears, open the Ad Database and check the new records. You may still need to add imaging, Parent RIN, RPC dates or other details by hand.
Ad Items form opened with Ctrl+A: Week #, Version, Ad Date, FY, Event, Event/Promo, Dept #, Group #, Buyer, DMM, GMM, Submitted By, Phone Ext #, and Update Ad Database / Cancel buttons
Form fieldHow it’s filled
Week #You: two digits, no letter (e.g. 25). Leaving the box loads that week’s versions.
VersionYou: pick the letter from the list.
Ad Date (from – to), Event, Event/PromoAutomatic, from the Ad Database once Week # and Version are set.
FYAutomatic (e.g. FY2026).
Dept #You: the department for this batch. Leaving the box fills Group #, Buyer, DMM and GMM.
Group #, Buyer, DMM, GMMAutomatic from the Dept #. They show “...” until a valid Dept # is entered.
Submitted ByAutomatic: your network user name (greyed out).
Phone Ext #You: required.
Upload one department at a time. The form takes a single Dept #, and every selected row is saved with that department’s Dept, Group, Buyer, DMM and GMM. If your sheet has items from several departments:
  1. Sort or filter the sheet by DEPT (column AM).
  2. Select one cell in each row for the first department only, press Ctrl+A, enter that Dept # and upload.
  3. Repeat for each remaining department.
Sheet columnAd Database field
RINRIN or Item List (an R is added to numeric RINs) and Featured RIN (number only)
Supplier Name / Supplier #Vendor / DUNS
Style # (VPN)Vendor Style Number
Item Description / Ad InformationItem Description / Ad Information
PagePage (two digits, e.g. 04)
New Item Y/N, Online Exclusive Y/NSame fields (blank = N)
NEX Price / Adv Price / NEX Cost / Adv CostNEX Retail / Adv Retail / NEX Cost / Adv Cost
MSRP, % Off MSRP, Change Type, Pricing Strategy, Multi Buy, Billback, Call Outs, Grouping Info, Coop $Same names
IMAGEImage Delivery
Order FrequencySame (BAS becomes BAS (AR))

Troubleshooting

ProblemFix
“File does not match QuantaSense V1 layout.”Export the Ad Planner V1 layout from QuantaSense; headers must be on row 3 with Group, SKU, Week and Inv OH in A, E, G and M.
“No ad week data found for the selected week(s).”The week codes in the data don’t match. Check the Week column format (e.g. 2026:Wk14) and that the import covered those weeks.
Lots of LOW DATA or NEW LAUNCH verdictsPull a longer range (26 weeks) so there are enough normal weeks for a baseline.
Lift Query finds nothingRun Build Ad Summary for the weeks you’re querying first; the query only reads the Ad Summary.
Import SKU Data / export: database or Oracle errorNo access to RMS or the Ad Database share, or the Oracle ODBC / Access engine isn’t installed.
“Template not found”Put the three .pptx templates in the same folder as the workbook.
“Layout n has x slots but you have y items”Mark fewer items YES or choose a bigger layout.
“Column U row 9 must be labeled ‘Brand’”Restore the Brand header in U9 on the Planner.
Duplicate rows on Ad Database ImportEach export appends. Delete old rows before exporting again.
Ctrl+A form: “Could not find any Week Versions”That week has no versions set up in the Ad Database yet; check the week number and fiscal year.
Ctrl+A form: “Too Many Cells”Select just one cell per row (500 at most).
Ctrl+A form: “Error Posting”A value doesn’t fit its database field, e.g. text in a price, cost or date column. Remove stray notes from those cells and try again.
“Could not connect to database…” boxNetwork problem, a full network drive, or someone has the database open exclusively. Try again; if the database has moved, type its new path into the box.
Export cancelled at Save AsNothing changed. The export is all-or-nothing; the database sheet and tracker only update after the file is saved.
Average Selling Price overwrittenAd Summary column M is rebuilt on every Build Ad Summary run; don’t type into it.
A macro stops working after editing the codeClose and reopen Excel; VBA sometimes keeps stale state.

Ad Bible (Standalone)

The Ad Bible is a stand-alone copy of the Ad Planner’s Ad Database Import sheet and its DB Uploader. Use it to key items straight into the Ad Database without the planner: no QuantaSense data, lift analysis or PowerPoint export. It’s handy for vendor submissions, last-minute additions, or anyone who only needs to enter ad items.

  1. Type the RINs.
  2. Click Update Information to fill in item details from RMS and past ad copy from the Ad Database.
  3. Finish the ad details and upload the rows with Ctrl+A.

Ad Bible vs. Ad Planner

Ad Bible (standalone)Ad Planner
PurposeEnter and upload ad items onlyMeasure past ads, plan the week, build the PowerPoint, then upload
How rows get on the sheetYou type the RINs (and Wk) yourselfExport To PowerPoint bulk-loads them from the Planner
Item detailsUpdate Information button, on just the RINs you selectBulk load during the export
Header rowRow 5 (row 4 holds the group labels)Row 4
Parent RIN on uploadPARENT column → Ad Database Featured RINRIN column → Featured RIN
Long ad copyOver 255 characters is split into Ad Information + Ad Like ItemSingle field

Before You Start

The Ad Database Import Sheet

Ad Bible sheet left side: Update Information button, Week and Item Info columns, Marketing columns Ad Bible sheet right side: Pricing columns, Image, Year, Dept, Class, Theme, Parent, Reg Cost, Start and End Date

One row per ad item from row 6. The column headers are in row 5, grouped under Week, Item Info, Marketing, Pricing, Image, Order Info and Coop. New Item and Online Exclusive default to N, Change Type to FIXED, Pricing Strategy to YFB and Year to 2026.

Step 1: Enter the Items

For each item, type the Wk (A), e.g. 25AE, and the RIN (D), one per row, starting on row 6. RINs need at least 6 digits to be looked up.

Step 2: Click Update Information

  1. Select the RIN cells in column D that you want filled in. Only cells in the RIN column are processed, and the header row is skipped. If nothing in column D is selected you’ll see “Please select the cells containing the RIN numbers…”.
  2. Click Update Information. For each selected RIN the macro reads RMS and the Ad Database and fills the row:
ColumnFilled with
Supplier # / Supplier Name (B–C)From RMS
Style # (VPN) (E)From RMS
Item Description (F)RMS description
Ad Information (G)The newest ad copy for that item in the Ad Database (blank if none)
NEX Price (P)RMS retail
NEX Cost (U), Reg Cost (AQ)RMS cost
IMAGE (AC)The newest Image Delivery note in the Ad Database
DEPT, CLASS (AM–AN)From RMS
PARENT (AP)Parent RIN from RMS
Update Information overwrites these columns on the selected rows, including any description, price or ad copy you edited. Run it first, then make your edits, or select only the rows you want refreshed.

Step 3: Finish the Ad Details

Red headers are required. Every row needs Page (H), the price change (fill whichever of % OFF, $ OFF, FIXED or NoChg (L–O) applies), NEX Price (P), Adv Price (Q) and IMAGE (AC). Check these before uploading.
Column(s)What to enter
Page (H), Priority (I)Ad page and order. Page uploads as two digits (4 → 04).
New Item Y/N, Online Exclusive Y/N (J–K)Y or N (blank uploads as N).
% OFF, $ OFF, FIXED, NoChg (L–O)How the price changes.
Adv Price (Q)The ad price.
Change Type, MSRP, % Off MSRP (R–T)Pricing details.
Adv Cost, Pricing Strategy, Multi Buy, Billback (V–Y)Cost and deal details.
Call Outs, Grouping Info (Z–AA)Ad call outs and how items are grouped.
Order Frequency (AE)BAS uploads as BAS (AR).
Coop $ (AJ)Co-op dollars.
Item Description, Ad Information (F–G)Edit the text as it should appear in the ad. Ad Information over 255 characters is split automatically (see Step 4).

Step 4: Upload to the Ad Database (Ctrl+A)

Fix needed before uploading: the uploader (Copy2DB) reads its column headers from row 4, but in this workbook they’re in row 5; row 4 only has group labels. As shipped, the upload would miss almost every column. In the VBA editor (Alt+F11) open modMain and change For Each cell In Range("A4:BA4") to For Each cell In Range("A5:BA5"), then save.
  1. Select one cell in each row to upload, all from the same department (500 at most). Rows with no Wk and no RIN are skipped.
  2. Press Ctrl+A to open the Ad Items form (shown below) and fill it in.
  3. Click Update Ad Database. Each selected row becomes a new record.
  4. At “Done!”, open the Ad Database and check the new records; you may still need to add imaging, RPC dates or other details by hand.
Ad Items form opened with Ctrl+A: Week #, Version, Ad Date, FY, Event, Event/Promo, Dept #, Group #, Buyer, DMM, GMM, Submitted By, Phone Ext #, and Update Ad Database / Cancel buttons
Form fieldHow it’s filled
Week #You: two digits, no letter (e.g. 25). Leaving the box loads that week’s versions.
VersionYou: pick the letter from the list.
Ad Date (from – to), Event, Event/PromoAutomatic, from the Ad Database once Week # and Version are set.
FYAutomatic (e.g. FY2026).
Dept #You: the department for this batch. Leaving the box fills Group #, Buyer, DMM and GMM.
Group #, Buyer, DMM, GMMAutomatic from the Dept #. They show “...” until a valid Dept # is entered.
Submitted ByAutomatic: your network user name (greyed out).
Phone Ext #You: required.
Upload one department at a time. The form takes a single Dept #, and every selected row is saved with that department’s Dept, Group, Buyer, DMM and GMM. If your sheet has items from several departments:
  1. Sort or filter the sheet by DEPT (column AM).
  2. Select one cell in each row for the first department only, press Ctrl+A, enter that Dept # and upload.
  3. Repeat for each remaining department.
Sheet column (row 5)Ad Database field
RINRIN or Item List (numeric RINs get an R prefix, e.g. 12345678 → R12345678)
PARENTFeatured RIN (digits only; a leading R or L is removed)
Ad InformationAd Information. Over 255 characters: the first 255 go here and the rest go to Ad Like Item as “Rich Content Continued: …”. Blank uploads as empty.
Supplier Name / Supplier #Vendor / DUNS
Style # (VPN)Vendor Style Number
Item DescriptionItem Description
Page / PriorityPage (two digits) / Priority
New Item Y/N, Online Exclusive Y/NSame (blank = N)
NEX Price / Adv Price / NEX Cost / Adv CostNEX Retail / Adv Retail / NEX Cost / Adv Cost
MSRP, % Off MSRP, Change Type, Pricing Strategy, Multi Buy, Billback, Call Outs, Grouping Info, Coop $Same names
IMAGEImage Delivery
Order FrequencySame (BAS → BAS (AR))

Troubleshooting

ProblemFix
Uploaded records are missing most fieldsThe uploader is reading row 4. Apply the row 5 fix in Step 4.
“Could not find required header ‘RIN’ on Row 5”The RIN header in D5 was changed or moved. Restore it.
“Please select the cells containing the RIN numbers…”Select cells in the RIN column (D) before clicking Update Information.
A row didn’t fill inThe RIN is blank, not a number, or shorter than 6 digits (Ad Information and IMAGE are cleared), or RMS has no single match for it.
“Database Connectivity Error”No access to RMS or the Ad Database share, or the Oracle ODBC / Access engine isn’t installed.
Ctrl+A: “Could not find any Week Versions”That week has no versions in the Ad Database yet; check the week number and fiscal year.
Ctrl+A: “Error Posting”A value doesn’t fit its database field (e.g. text in a price or date column). Clean up the cells and try again.
Ctrl+A: “Too Many Cells”Select one cell per row, 500 at most.
“Could not connect to database…” boxNetwork problem or the database is open exclusively. Try again, or type the database’s new path if it moved.

Induction Checker (Item Validation Tool)

The Induction Checker is an Excel pre-check for RMS item induction workbooks, the templates used to create new item families, add GTINs and sizes, and attach suppliers in Oracle RMS. One run reviews every row on the Item tab and the Location tab, and catches the mistakes that would otherwise get an induction rejected or need fixing after it’s loaded:

Every problem cell is colour-highlighted, many get a comment explaining the exact fix, and a pass/fail stamp with your user name and the time is written to cells A2–A4, so a reviewer can see the file was checked before it was submitted.

Where It Fits in the Induction

  1. Build the induction workbook as usual: one row per item on the Item tab (headers on row 7, data from row 8), with the Action for each row, and the Location tab if the Action needs it.
  2. Run the Induction Checker on it.
  3. Fix everything highlighted and run it again. Repeat until cell A3 says Successful, No Errors were Found.
  4. Save and submit the workbook for RMS processing. The A2–A4 stamp shows who checked it and when.

The checker understands the four induction Actions and applies different rules to each:

ActionUsed toKey checks
Create Item FamilySet up a new item family (parent) with its first itemsAll red-header fields filled; Parent Item and Transaction Item left blank; Family ID 25 characters or fewer and not numbers only; dimensions for departments that need them; Family ID listed on the Location tab
Add Tran Item or GTINAdd a new size/colour or GTIN under an existing parentInitial Retail, Supplier Site, Unit Cost and Buyer filled; Dept/Class/Subclass match the parent in RMS; colour + size not already built; retail matches the parent’s other children
Add Item SupplierAttach another supplier site to an itemSupplier Site, Primary Supplier Ind, Unit Cost and Buyer filled; at least one of Family ID, Parent Item or Transaction Item; only one primary supplier; not a repeat of the Create Item Family supplier
Add Item Supp Country DimensionAdd dimensions for a supplier/countrySkips the Inner/Case/Ti/Hi and colour description requirements that apply to the other Actions

Before You Start

How to Run It

  1. Open the induction workbook you want to check.
  2. Open HighlightSizeColorDuplicates2.xlsm and enable macros. Its window hides itself; that’s expected. It stays open in the background so its macro can run on any workbook.
  3. Click into the induction workbook, ideally on the Item tab. If you’re on the Location tab, the checker finds the Item tab itself (the sheet with an Action header on row 7).
  4. Press Alt+F8, choose HighlightSizeColorDuplicates2 and click Run.
  5. Wait for the Check complete! box. It either says No errors found or lists each error type with how many were found.
  6. Review the highlighted cells, fix them, and run it again.
Tip: add the macro to the Quick Access Toolbar (File → Options → Quick Access Toolbar → Choose commands from: Macros) for a one-click button. The workbook also contains an older HighlightSizeColorDuplicates macro (version 1); use the one ending in 2, which is the version the user guide describes.

Reading the Results

WhereWhat it shows
A2Your network user name and the date and time of the check.
A3Successful, No Errors were Found or Errors were found, Please visually Review, Correct, and Save
A4The same error summary as the pop-up, e.g. GTIN Invalid Check Digit: 2. Blank when the check passes.
Cell commentsHover over a flagged cell. Comments name the missing headers, the value RMS has, the required UDA, the flagged word, the character count, or the Phase ID end date.

The highlight colour tells you what kind of problem it is:

Looks likeMeans
AbcRequired field missing, or a format or value problem. Most errors use this colour.
AbcThe RMS Size (Diff ID) doesn’t exist in RMS.
AbcThe item or GTIN already exists in RMS.
AbcDuplicate values inside the worksheet.
AbcDept/Class/Subclass doesn’t match RMS for the parent item (Add Tran Item or GTIN).
AbcParent Description doesn’t start with the brand.
AbcParent Description has proper-case, spelling, size, colour or unit-word problems.
AbcThe same Parent Description is used for more than one Family ID.
Red bold wordThat word in the description is misspelled, or is a size/colour/unit word that should come out.
Underlined wordThat word isn’t in proper case (brand words are exempt).

What It Checks

The checker reports about 60 error types. The full list, with what each means and how to fix it, is in the user guide; this is the overview:

AreaExamples of what’s checked
Required fieldsRed-header fields on Create Item Family; Inner Size, Case Size, Ti and Hi; Action-specific fields (see the Actions table above); Consignment Rate for consignment items.
Supplier & packagingSupplier Site is digits only and exists in RMS; only one primary supplier per item; Case Size is an exact multiple of Inner Size; only one Case, Each, Inner, Outer or Pallet row per Family ID + GTIN.
Description & brandBrand in capitals, on the approved brand list and at the start of the Parent Description; proper case and spelling; colour description not repeated in the Parent Description; 100-character limit; no ! @ & $ ™ ® © ? in the Parent, Transaction or Web Description.
Colour, UDA & e-commerceNRF Color Code is three digits (000–999) with a description unless it’s 000; e-commerce colour family, warranty and gender from the allowed lists; required UDAs for certain Dept/Class/Subclass; UDA ID + value pairs exist in RMS.
Department rulesDepartments that require Perishable, Consignment/Concession item type, or dimensions; e-commerce warranty only for eligible departments.
GTIN / UPCLength matches the Item Number Type (UCC12 = 12, EAN/UCC-13 = 13, EAN/UCC-14 = 14); valid GS1 check digit; not already in RMS; not duplicated for the same Action. GENERATE (capitals) is accepted as a placeholder.
RMS lookupsDept/Class/Subclass combination exists; size exists and is attached to the Size Group; colour + size not already built under the parent; retail matches the parent’s existing children.
Allowed values & seasonsDropdown fields (Status, Item Type, UOMs, Round Level, Ticket Type, Handling Temp, etc.) contain allowed values; Phase IDs aren’t for a season that has already ended; no $ typed in Initial Retail, MSRP or Unit Cost.
CountriesSource Country is USA; Manufacture Country is a valid three-letter code.
Location tabPresent when the Actions need it; every Create Item Family Family ID is listed; item and location numbers are digits only; every row has a Family ID or Item.
ConsistencyRows sharing a Family ID use the same Dept/Class/Subclass and Size Group ID.

Use Case Examples

You seeWhyFix
GTIN cell orange, comment “GTIN Invalid Check Digit”A digit was mistyped. The last digit of a GTIN is calculated from the others, so a single typo is caught.Re-copy the GTIN from the vendor’s file or the product label.
Supplier Site orange, “Supplier Site Not Numbers Only”, but it looks fineA hidden space was pasted in with the number.Retype the number in the cell.
Dept, Class and Subclass purple on an Add Tran Item or GTIN rowThe new size or colour was given a different hierarchy than its parent item has in RMS.Change them to match the parent (the comment shows RMS’s values), or check the parent item number.
Parent Description light blue with Blue in red boldThe colour is in the parent description. Colour belongs in the NRF Color Description and transaction description.Remove the colour word from the Parent Description.
RMS Size yellowThat size code doesn’t exist in RMS.Pick a valid size for the Size Group ID.
Phase ID orange with an end date in the commentThe Phase ID is for a season that has already ended.Choose a current or future season.
Several Case rows light yellowTwo rows for the same Family ID + GTIN both have Package Type Case.Keep one Case row for that GTIN.

Recommended Fix Order

  1. Start with the summary in A4 to see which error types are present.
  2. Fix orange required-field and format problems first; they often cause other errors.
  3. Read the comments for errors that give a specific RMS value, UDA, Phase ID end date or description detail.
  4. On Add Tran Item or GTIN rows, fix hierarchy mismatches (purple) before looking at RMS duplicate results on the same row.
  5. Resolve RMS existence (pink) and size (yellow) conflicts.
  6. Check duplicates across the whole sheet, including hidden or filtered rows.
  7. Run the checker again until A3 says Successful, then save.
Clear old highlights before re-running. The checker adds highlighting but doesn’t remove it from earlier runs, so a cell you’ve fixed stays coloured. Select the data rows and set Home → Fill Color → No Fill (and font colour back to Automatic) before running again, so only current problems are highlighted.
OK to submit after review: spelling and proper-case flags can be submitted when the vendor’s wording is confirmed correct (the spell check uses Microsoft’s dictionary and flags brand stylings). A Unit Retail mismatch vs RMS Parent can be submitted once you’ve confirmed the retail is right. A clean result means the workbook passed these checks; it doesn’t replace normal business review.

Built-in Exceptions

Keeping It Up to Date

Department lists, allowed values, season and Phase IDs, buyer exemptions and required UDAs are written into the VBA. When the business rules change, update the macro and the user guide together. In particular, each new season needs adding in two places: the allowed Phase ID list and the season end-date table (e.g. FAL26 ends 10/31/2026, WNT26 ends 01/31/2027), otherwise the new Phase ID passes without being checked for expiry.

Troubleshooting

ProblemFix
The macro isn’t in the Alt+F8 listOpen HighlightSizeColorDuplicates2.xlsm and enable macros. It’s hidden once open; check View → Unhide if you need to confirm it’s loaded.
“Item Tab Not Found”No sheet has an Action header on row 7. Click into the induction workbook (not the checker) and check its headers weren’t moved to another row.
“Problem connecting to network drive. Check your VPN/Access.”You’re off the network or VPN, or don’t have access to the share holding the RMS password file. Connect and run again.
“Failed to check: …”RMS couldn’t be reached, the Oracle ODBC driver isn’t installed, or a required header is missing or renamed. The message names the problem; the workbook is not marked as checked.
Brand errors never appearThe brand list on the shared drive couldn’t be opened, so that one check was skipped. Check your access to the induction folder.
A fixed cell is still highlightedHighlighting from earlier runs isn’t cleared. Set the cells to No Fill and run again.
A correct vendor word is flagged as a spelling errorThe spell check uses Microsoft’s dictionary. Confirm the wording with the vendor; it can be submitted after review.
A new season’s Phase ID is rejected, or an old one isn’tThe season lists in the VBA need updating (see Keeping It Up to Date).

Pack Item Induction Checker

The Pack Item Induction Checker validates the Pack Item Induction Template, the workbook used to set up packs in Oracle RMS: a sellable or orderable unit made of other items (components), such as a multi-pack, a gift set or a vendor case pack. A pack induction is spread across three linked tabs, so mistakes are easy to make and hard to spot by eye. One run of the checker:

The checker is built into the template (macro ValidatePackTemplate), so there’s nothing extra to install.

Pack Checker vs. Induction Checker

Pack Item Induction CheckerInduction Checker
TemplatePack Item Induction TemplateRegular item induction workbook
Where the macro livesInside the templateSeparate workbook, run on any induction file
Tabs checkedPack Item, Component Item, LocationItem tab and Location tab
HighlightsTwo colours: yellow = missing, red = errorSeveral colours by error type
Re-runningClears its own previous highlights and notes firstDoesn’t clear earlier highlights
If RMS is unavailableRuns every non-RMS check and says the RMS checks were skippedStops with a failure message
Changes your dataYes: component GTIN → TransactionRIN, Location pack numbers → textNo

The Template’s Tabs

TabHeaders onData fromWhat goes on it
Pack ItemRow 6Row 7One row per pack and Action: pack type, Pack Family ID or Pack Number, hierarchy, description, GTIN, supplier, cost, case pack, dimensions, UDAs, season and phase. Results are stamped in A2–A4.
Component ItemRow 3Row 4What’s inside each pack: Pack Family ID, Component Item and Component Quantity, one row per component.
LocationRow 2Row 3Where each pack is ranged: Pack Family ID (or Pack Number), a Location List or single Location, and the primary supplier for each.
Zone Retail / Zone DetailsRetail by zone, and the zone reference list. Not checked.

The checker finds columns by header name, so columns can be moved, but headers mustn’t be renamed. The template’s own Populate Template button is a separate step that builds the hidden upload tabs; run the checker first.

Actions and Required Fields

ActionUsed toRequired on that row
Create PackSet up a new packStatus, Pack Type, Order As, Sellable, Orderable, Pack Family ID, Dept, Class, Subclass, Parent/Transaction Item Description, Web Description, Primary Ref Ind, Item Number Type, GTIN, Merchandise, Plan-o-gram Required, SOH Inquiry at Pack Level, Supplier Site, Primary Supplier Ind, Drop Ship Ind, Source Country, Primary Source Country Ind, Manufacture Country, Primary Manufacture Country Ind, Unit Cost, Default UOP, Inner Size, Case Size, Ti, Hi, Round Level, Buyer
Add GTINAdd another GTIN to an existing packPack Number, Item Number Type, GTIN, Primary Ref Ind
Add Item SupplierAdd a supplier to an existing packPack Number, Supplier Site, Primary Supplier Ind, Drop Ship Ind, Source Country, Primary Source Country Ind, Manufacture Country, Primary Manufacture Country Ind, Unit Cost, Default UOP, Inner Size, Case Size, Ti, Hi, Round Level, Buyer
Add Item Supp Country DimensionAdd dimensions for a pack’s supplierPack Number, Supplier Site, Package Type, Depth, Width, Height, Gross Weight, Weight UOM, Presentation Method, Buyer
Add UDAs / Add Item CFAsAdd attributes to an existing packNo required-field list; dropdown, number and other checks still apply

Rows count as data only when Action, Pack Family ID, Pack Number, Description, GTIN or Supplier Site is filled, so the template’s pre-filled defaults on empty rows are ignored. Perishable is also required for perishable departments (e.g. 551, 590, 884, 991).

How to Run It

  1. Open the template and enable macros. If the window doesn’t appear, go to View → Unhide and pick the template; its open macro hides the window.
  2. Fill in the Pack Item, Component Item and Location tabs.
  3. Press Alt+F8, choose ValidatePackTemplate and click Run. The status bar shows progress (connecting to RMS, checking GTINs, checking rows).
  4. Read the Pack Template Check summary: the total number of issues and a count per category, any component GTINs that were replaced, and any notes such as RMS checks being skipped.
  5. Fix the yellow and red cells (hover to read each note), then run it again. Earlier highlights and notes are cleared automatically each run.
  6. When A3 shows Successful, No Errors were Found, save the file and continue with Populate Template and submission.
Before you start: RMS checks need network or VPN access. RMS is read with a read-only login whose password is read from a protected network file, using the Oracle Instant Client driver on 64-bit Excel or Microsoft ODBC for Oracle on 32-bit. The spelling check uses Excel’s own dictionary.

Reading the Results

MarkMeans
AbcMissing required input. The Action cell also gets a note listing every missing field on that row.
AbcError: invalid value, format, rule or RMS problem. The note explains what’s wrong.
Note, no colourInformation only, e.g. “GTIN 0123… replaced with TransactionRIN 4567…” on the Component Item tab.
Pack Item cellShows
A2Who ran the check and when.
A3One of:
  • Successful, No Errors were Found
  • Errors were found, Please visually Review, Correct, and Save
  • Checks were not completed, please see below and run again: nothing was flagged, but some checks couldn’t run (e.g. RMS was unavailable).
A4One line per category, e.g. 3 - Missing required field, plus any run notes.

Checker notes start with CHK:. Only those notes and their colours are cleared on the next run; your own comments are left alone.

What It Checks

AreaChecks
Required fieldsBy Action (see above); Action itself can’t be blank; Perishable for perishable departments; on the Location tab, the primary supplier when a Location List or Location is entered.
Dropdown valuesAction, Status, Pack Type, Order As, Item Number Type, Ticket Type, Default UOP, Round Level, Package Type, Presentation Method, Weight UOM, e-commerce warranty and gender, Package UOM, Retail Label Type, Handling Sensitivity and Temp, Wastage Type, and every Yes/No field.
Pack Family ID25 characters or fewer; letters and numbers; no spaces or special characters; can’t start with 0, be a date, be numbers only, or look like scientific notation (e.g. 12E45); the same description must always use the same Pack Family ID; must also be on the Component Item and Location tabs.
Description100 characters or fewer; no ©, ®, ™ or (c)/(r)/(tm); possible misspellings (words with digits are skipped).
GTINDigits only; length matches Item Number Type (UCC12 = 12, EAN/UCC-13 = 13, EAN/UCC-14 = 14); valid GS1 check digit; not already in RMS. MANL is skipped.
NumbersUnit Cost, Inner Size, Case Size, Ti, Hi, Depth, Width, Height and Gross Weight are numbers above zero; no $ in Unit Cost; Case Size is a multiple of Inner Size.
CountriesSource Country is USA; Manufacture Country is a 3-letter uppercase code (e.g. CHN, not China).
Season / PhaseOn the approved list, and not a past season. S## phases are valid through July 31, F## phases through January 31 of the next year, and BASIC never expires.
FormulasSellable and Orderable are formulas; flagged only if they return an error.
RMSSupplier Site and Location primary suppliers are active suppliers; Dept exists, Class is under that Dept, Subclass is under that Class; GTIN is new; each Component Item exists.

Automatic Fixes

Because of these fixes the checker changes the workbook. Keep a copy of the vendor’s original if you need it.

Use Case Examples

You seeWhyFix
Pack Family ID red: “Cannot be numbers only”The vendor used their 6-digit pack number as the ID.Add letters, e.g. GIFTSET123456.
Pack Family ID red: “Not found on the ‘Location’ tab”The pack was added to Pack Item but nobody ranged it.Add Location rows for that Pack Family ID.
Same ID flagged: “Same Parent/Transaction Item Description as row 12 but different Pack Family ID”Two rows describe the same pack but were given different IDs.Use one Pack Family ID for that pack.
Phase ID red: “…is a past season/phase as of today”3 - S26 MAR was copied from an old template; S26 ended July 31, 2026.Choose a current or future phase.
Component Item has a note, no colourYou entered a component’s GTIN.Nothing to do: it was replaced with the TransactionRIN.
Location primary supplier red: “not an active supplier in RMS”The supplier is inactive or mistyped.Use the pack’s active supplier site.
A3: Checks were not completedRMS couldn’t be reached, so the RMS checks didn’t run.Connect to the network or VPN and run again. If A4 says the account is locked (ORA-28000), wait about 5 minutes.

Keeping It Up to Date

The allowed values, season and phase lists, perishable departments, required fields and country codes are lists at the top of the macro, so they’re quick to edit in the VBA editor (Alt+F11, Module2). Add new Season and Phase IDs as they’re released. The Add GTIN required-field list is marked in the code as an assumption; confirm it with the induction team.

Troubleshooting

ProblemFix
The template opens but no window appearsView → Unhide and choose the template. Its open macro hides the window.
“Header check” box listing tabs or headersA tab was renamed or deleted, or a header was changed or moved off its row (Pack Item row 6, Component Item row 3, Location row 2). Restore it.
A4: “RMS checks skipped: could not read the RMS password file”No network or VPN access to the share. Connect and run again.
A4: “RMS account is locked (ORA-28000)”Too many failed logins on the shared read-only account. Wait about 5 minutes.
A4: “unable to connect to RMS”The Oracle driver isn’t installed for your Excel (64-bit needs the Oracle Instant Client driver).
“No data found below row 6”The Pack Item tab is empty, or the data starts on the wrong row.
A correct word is flagged as a misspellingBrand and product names often aren’t in Excel’s dictionary. Confirm the wording and continue.
A new season or phase is rejectedAdd it to the Season or Phase list in Module2.
“Macro error: …”An unexpected problem; the message names it. Check the tabs and headers, then run again.

Sort and Format BI Report

Reports exported from the BI tool arrive with five rows of title and filter information above the column headers, unsorted rows, and columns too narrow to read. Sort and Format BI Report cleans one up in a single click:

  1. Sorts the whole report by PARENT, then TRANSACTION, so every parent’s items sit together in order.
  2. Highlights the PARENT and TRANSACTION values in soft yellow so the item numbers stand out.
  3. Auto-fits every column and row so all the text is visible.
  4. Deletes rows 1–5 (the report title and filters), leaving the headers in row 1, ready to filter, pivot or paste into another workbook.

It works on whichever sheet you’re looking at, so it’s meant to live on a Quick Access Toolbar button and be used on any report you open.

Before and After

Before: the Item Induction Results Report w/UPC & VPN as exported. Rows 1–5 hold the report title and the selection criteria (buyer, user, department and create dates), the column headers are on row 6, and the columns are too narrow to read the vendor, parent and item names.

BI report before running the macro: report title and selection criteria in rows 1 to 5, headers on row 6, narrow columns with cut-off text

Click a screenshot to open it full size.

After: the title and criteria rows are gone, so the headers are on row 1. Rows are sorted by PARENT and then TRANSACTION, so each parent’s sizes run in order (6, 6.5, 7, 7.5…). The PARENT and TRANSACTION values are highlighted yellow and the columns are widened to fit, ready to check UPCs, VPNs and induction status.

BI report after running the macro: headers on row 1, rows sorted by PARENT then TRANSACTION, PARENT and TRANSACTION values highlighted light yellow, columns auto-fitted

One-Time Setup: Add the Button

  1. Save CustomSortandFormat.xlsm somewhere permanent, then open it and enable macros. Its window hides itself, which is expected: it stays open in the background so the macro can run on other workbooks.
  2. In Excel go to File → Options → Quick Access Toolbar.
  3. Under Choose commands from, pick Macros, select CustomSortandFormat.xlsm!CustomSortAndFormat and click Add >>.
  4. Click Modify… to choose an icon and a display name such as Sort BI Report, then OK.
Tip: to have the macro ready every time Excel starts, put the workbook in your Excel startup folder: type %APPDATA%\Microsoft\Excel\XLSTART into the File Explorer address bar and save it there. It opens hidden with Excel.

How to Use It

  1. Export the report from BI and open it in Excel.
  2. Make sure you’re on the report’s sheet and the headers are on row 6, with columns named PARENT and TRANSACTION (any position, any capitalisation).
  3. Click the Sort BI Report button.
  4. When “Sort, targeted highlight, autofit, and row cleanup completed!” appears, the report is ready. Save it.
Run it once per report. The macro deletes rows 1–5 and Excel can’t undo a macro, so a second run on the same sheet would look for headers on row 6 again and stop (or delete data rows). If you might need the original layout, save a copy before running it.

How It Works

StepWhat happens
Find the dataThe last row is the last filled cell in column A; the last column is the last header on row 6. If there’s nothing below row 6 it stops.
Find the columnsSearches row 6 for PARENT and TRANSACTION, ignoring case and extra spaces, so the report’s column order doesn’t matter.
SortSorts the whole block (all columns, so rows stay intact) ascending by PARENT, then TRANSACTION, with row 6 treated as the header.
HighlightFills only the data cells under PARENT and TRANSACTION in soft yellow; headers and other columns are untouched.
Auto-fitResizes every column width and row height to fit its contents.
Clean upDeletes rows 1–5 last, so the headers end up in row 1.

Troubleshooting

ProblemFix
“No data found below Row 6 to sort!”Column A is empty below row 6, or the report was already processed. Check you’re on the right sheet and column A has data.
“Could not find ‘PARENT’ or ‘TRANSACTION’ in Row 6”The report layout changed, the columns are named differently, or the macro already ran (headers are now on row 1). Check the headers on row 6.
The button does nothing or says the macro can’t be foundThe workbook was moved or renamed after the button was added. Open it again from its new location, or remove the button and add it again.
The last few rows weren’t sortedThose rows have a blank cell in column A, so they were treated as past the end of the data. Fill column A or delete the blank rows first.
Item numbers sort oddly (e.g. 1000 before 999)Some numbers are stored as text. Convert the column to numbers (Data → Text to Columns → Finish) and run on a fresh export.
I can’t see the workbook to edit the macroIt hides itself on open. Use View → Unhide, or press Alt+F11 to open the VBA editor directly.

QTY KEY Macro

The QTY KEY Macro (LocationLookup) fills in the Location tab of an induction workbook from RMS. For every row with an Item and a Location, it looks up that item at that store in RMS and writes:

Typing these by hand means looking up every item/store pair, which is slow and easy to get wrong on large rangings. The macro reads all the rows at once and queries RMS in batches of 500 items, so even thousands of rows fill in within seconds. Rows RMS has no record for are left exactly as they are.

Example

Location tab before running (Item and Location entered; supplier and quantity key blank or out of date):

C: ItemH: LocationI: Primary SupplierJ: Store Order Multiple
100247715
1002470820
100249715Eaches
100251999

After running (filled from RMS shown in green; row 4 had no RMS record for that item and store, so it was left alone):

C: ItemH: LocationI: Primary SupplierJ: Store Order Multiple
100247715600123Cases
1002470820600123Inner
100249715600123Cases
100251999

Note that 0820 matched store 820 (leading zeros are ignored), and that row 3’s Eaches was replaced with the value RMS holds.

One-Time Setup

  1. Save LocationLookup.xlsm somewhere permanent, open it and enable macros. Its window hides itself, which is expected: it stays open in the background so the macro can run on your induction workbook.
  2. Add a button: File → Options → Quick Access Toolbar, choose commands from Macros, pick LocationLookup.xlsm!LocationLookup, click Add >>, then Modify… to name it e.g. QTY KEY.
  3. Optional: save the workbook in %APPDATA%\Microsoft\Excel\XLSTART so it loads hidden every time Excel starts.
Needs RMS access: network or VPN access, and the Microsoft ODBC for Oracle driver. RMS is read with a read-only login whose password is read from a protected network file.

How to Use It

  1. Open the induction workbook and fill the Location tab’s Item and Location columns.
  2. With that workbook active (any tab), click the QTY KEY button (or Alt+F8 → LocationLookup → Run).
  3. The macro runs silently: there’s no “done” message. When the cursor returns, check that the Primary Supplier and Store Order Multiple columns have filled in.
  4. Fill any rows that stayed blank by hand. Those item/store pairs aren’t set up in RMS yet (e.g. a new store for that item).
  5. Run your induction checker and submit.
It overwrites matched rows. For every row RMS knows about, columns I and J are replaced with RMS’s values, even if you’d typed something different. If you’re deliberately changing a quantity key, run the macro first and then type your new values.

How It Works

StepWhat happens
Find the tabUses the active workbook’s tab named Location, or failing that the first tab with “Location” in its name.
Find the columnsFinds the header row (the first row in rows 1–25 with an Item header), then the Item, Location, Primary Supplier and Store Order Multiple columns by name. If a header isn’t found it uses columns C, H, I and J.
Read the rowsReads every row down to the last Item. Locations must be numbers (up to 10 digits); leading zeros are dropped, so 0715 = 715. Rows missing an Item or a valid Location are skipped.
Query RMSLooks up the unique items in the RMS item/location table in batches of 500, limited to the stores on the sheet.
TranslateConverts RMS’s store order multiple codes: C → Cases, I → Inner, E → Eaches.
WriteFills Primary Supplier and Store Order Multiple only on rows with a match. Unmatched rows aren’t touched.
Tidy upRestores Excel’s calculation mode and screen updating, even if an error occurs.

Troubleshooting

ProblemFix
Nothing happenedNo tab with “Location” in its name, no Item header in rows 1–25, or no rows with both an Item and a numeric Location. Check you ran it with the induction workbook active, not another file.
Some rows stayed blankRMS has no record for that item at that store. Fill them by hand. Also check the Location is digits only (no letters or spaces).
Values landed in the wrong columnsYour Location tab’s headers don’t match the names the macro looks for (e.g. Location - Primary Supp), so it fell back to columns I and J. Move the columns to I and J, or rename the headers to Primary Supplier and Store Order Multiple.
“Problem connecting to network drive. Check your VPN/Access.”You’re off the network or VPN, or can’t reach the RMS password file. Connect and run again.
“Error …” box titled Location LookupUsually an RMS connection problem or a missing Oracle ODBC driver. The message gives the details.
I can’t see the workbook to edit itIt hides itself on open. Use View → Unhide, or Alt+F11 for the VBA editor.

AGC Macro

The AGC Macro turns a greeting-card vendor’s item list (American Greetings and Papyrus-Recycled Greetings) into ready-made Add Tran Item or GTIN rows on the item induction template. Card lines arrive as long lists of card numbers and UPCs; keying each one into the template, looking up its parent and transaction item, retail and supplier, and fixing the UPC format by hand takes hours. In one click the macro:

  1. Reads the vendor list (card number and UPC) from the sheet you’re on.
  2. Opens the shared item induction template and adds one row per card below any existing rows.
  3. Cleans each UPC into a 12-digit GTIN and fills the fixed card-line values (Action, Dept/Class/Subclass, colour, size, buyer).
  4. Looks up each card number in the TPGC Master database (Microsoft Access) for its Parent Item, Transaction Item, Initial Retail and supplier.
  5. Sets the supplier from the card-number prefix: AGCE… → American Greetings, PRGS… → Papyrus-Recycled Greetings.

Before You Start

How to Use It

  1. Open AGC_Macro.xlsm and paste the vendor’s list onto Sheet1, starting at A1 so the headers are in row 1. Clear any rows from the previous run first.
  2. Stay on that sheet and click the button on it (or Alt+F8 → CopyData_And_AccessLookup_Optimized → Run).
  3. The induction template opens and fills in. When “Fast processing complete! (n rows added)” appears, switch to the template.
  4. Review the new rows: any card without a database match has a blank Parent Item, Transaction Item and Initial Retail to fill in.
  5. Use File → Save As to save the template under a new name for this induction. Don’t save over the shared template.
  6. Run the Induction Checker on it, fix anything flagged, and submit.
The macro doesn’t save the template. It opens the shared master, adds rows and leaves it open. Always Save As a new file; a plain Save would put this vendor’s rows into everyone’s blank template.

What Gets Filled In

Template columnValueWhere it comes from
A: ActionAdd Tran Item or GTINFixed
L / M / N: Dept / Class / Subclass532 / 1001 / 1Fixed (greeting cards)
O: Parent Item DescriptionThe card number, e.g. AGCE1234cpn_nbr
GTIN12-digit cleaned UPCprim_upc_cd (see below)
Z: NRF Color Code000Fixed
AD / AE: Size Group ID / RMS Size262S / 0000Fixed. The Induction Checker deliberately skips its colour + size check for 262S.
DK: Buyer260Fixed
Parent Item, Transaction ItemFrom the databaseTPGC Master record whose Item Desc matches the card number
AG: Initial RetailFrom the databaseRetail (or Retail Price)
BE / BF: Supplier Site / NameFrom the database, or the prefix ruleAGCE… → American Greetings; PRGS… → Papyrus-Recycled Greetings; otherwise the database value

Text columns (Dept, Class, Subclass, description, colour, size, GTIN, item numbers, supplier, buyer) are formatted as text first, so leading zeros such as 000 and 0000 are kept.

How UPCs Are Cleaned

Vendor files mix UPC formats. The macro strips anything that isn’t a digit, then makes it a 12-digit UPC-A GTIN:

Vendor UPCRuleGTIN written
0-12345-67890-5Remove dashes and spaces; 12 digits stay as-is012345678905
001234567891213 digits starting with 0: drop the leading zero012345678912
12345678Fewer than 12 digits: pad with leading zeros000012345678
401234567890113 digits not starting with 0 (EAN-13), or 14 digits: left unchanged4012345678901

Example

Vendor list on Sheet1:

cpn_nbrprim_upc_cd
AGCE12340-12345-67890-5
PRGS56780012345678912

Rows added to the template (Parent, Transaction and Retail from the database):

ActionDept/Class/SubParent Item DescriptionGTINSize Group / SizeRetailSupplier Name
Add Tran Item or GTIN532 / 1001 / 1AGCE1234012345678905262S / 00004.99AMERICAN GREETING CORP.
Add Tran Item or GTIN532 / 1001 / 1PRGS5678012345678912262S / 00007.99PAPYRUS-RECYCLED GREETINGS INC

Troubleshooting

ProblemFix
“Could not find headers ‘cpn_nbr’ or ‘prim_upc_cd’ in Row 1”The list wasn’t pasted at A1, the headers are named differently, or you ran it from a different sheet. Paste the list with its headers in row 1 and run it from that sheet.
“No data found under headers”Nothing below the cpn_nbr header.
“Destination file not found”The shared induction template has moved or you can’t reach that drive. Connect to the network; if it moved, update the path in the macro.
“Could not find one or more required headers in Row 7”The template’s first sheet doesn’t have GTIN, Parent Item and Transaction Item headers on row 7. Check the template wasn’t changed.
“Access Database not found”The TPGC database is unreachable. The rows have already been added to the template without database values; close the template without saving, fix access, and run again.
Parent, Transaction or Retail blank on some rowsNo TPGC Master record has that exact card number as its Item Desc. Add the card to the database or fill those cells by hand.
Supplier wrong or blankThe card number doesn’t start with AGCE or PRGS and the database has no supplier for it. Enter the supplier by hand.
The template opened read-onlySomeone else has it open. Close it, wait, and run again, or Save As a copy.
Rows from the last run appear againSheet1 still had the previous list. Clear it before pasting a new one.
“An unexpected error occurred: …”Usually the Access Database Engine isn’t installed, or the database is locked. The template may be left open with partial rows; close it without saving.

Email Count

Email Count measures the Data Steward Team’s workload straight from Outlook. One click scans the team’s shared mailbox, picks out the item induction and maintenance requests, and builds a PivotTable of request emails per day. Use it for weekly workload reports, to spot spikes around seasonal or ad deadlines, or to back up staffing and turnaround-time discussions with real numbers instead of estimates.

How to Use It

  1. Make sure Outlook (desktop) is open and the Data Steward Team shared mailbox appears in your folder pane.
  2. Open ExportEmailToPivot.xlsm and enable macros.
  3. On Sheet1, click Update Pivot Table. It can take 1–2 minutes on a full mailbox; Excel looks frozen while Outlook is read.
  4. If a folder can’t be found you’ll get a list of the ones skipped; the rest are still counted.
  5. When “Done. n matching emails processed into the pivot table.” appears, you’re taken to PivotResult.
Each run deletes and rebuilds the RawData and PivotResult sheets, so they always reflect the mailbox as it is now. Copy the numbers somewhere else (or save the workbook under a dated name) if you want to keep a weekly history.

What Gets Counted

RuleDetails
MailboxThe first Outlook mailbox whose name contains Data Steward Team.
FoldersInbox, each team member’s folder, Item Induction and Item Maintenance. Each is found by exact name anywhere in the mailbox; Deleted Items, Trash, Junk Email and Outbox are never searched.
Inbox onlyOnly unread emails, with category (none), Item Induction, Manual Maintenance or GTIN Deletes. Read or differently categorised Inbox mail has been handled or isn’t a request.
Other foldersAll emails, read or unread (they’ve been filed to that person or queue).
Excluded subjectsAnything containing SUCCESSFUL UPLOAD, COMPLETE is dropped first.
Included subjectsThe subject must contain at least one request keyword (below). Matching ignores case and looks anywhere in the subject.
DateThe received date, with the time removed so the pivot groups by day.

Request keywords:

Request typeKeywords
New items / inductionNew Item, New Items, New Item Build, Item Build, Item Induct, Item Induction, NIB, Add GTIN, Add Item Gtin
SuppliersAdd Supplier, Update Supplier, Update Primary Supplier, Range Supplier
RangingRange item, Range Location, Range Loc, Range Locs
MaintenanceItem Maintenance, MSRP Update, MIM, AIS, UDA Removal, BOPIP, RMS Download
GTIN deletesGTIN Delete, GTIN Deletes

Reading the Results

PivotResult shows one row per day and the total for the period (illustrative numbers):

Row LabelsTotal Emails
08/17/20261
08/18/20264
08/19/20269
08/20/202612
08/21/202638
Grand Total64

RawData holds the detail behind it, one row per email: ReceivedDate, Folder and Subject, as an Excel table named EmailData.

Tips: drag Folder into the pivot’s Columns area to see the count per person and queue; right-click a date → Group → Months or Days (7) for monthly or weekly totals; filter RawData by subject to check exactly what was counted.

Things to Keep in Mind

Troubleshooting

ProblemFix
“Could not connect to Outlook”Install or open Outlook desktop (the new web-style Outlook doesn’t support macros), then run again.
“Could not find the mailbox: ‘Data Steward Team’”The shared mailbox isn’t in your Outlook profile. Add it (File → Account Settings, or ask IT for access), restart Outlook and run again.
A list of folders “not found … and were skipped”Those folders were renamed or don’t exist. The others were still counted; update the folder list in the macro if a name changed.
“No mail items matched the subject line filters”No email in those folders has a request keyword in its subject (or the Inbox has no unread, correctly categorised mail).
Outlook shows a security promptAllow access. Some security settings ask before a program reads mail.
Excel seems frozenNormal for 1–2 minutes on a large mailbox. Wait for the Done message.
Counts look too highReplies are counted separately and short keywords match inside other words. Check RawData.

TPGC Macro

The TPGC Macro sets up third-party gift cards (TPGC) for the point-of-sale system. A gift card needs records in up to five POS tables: the UPC cross-reference, the non-merchandise item, its price or price range, and any activation fees attached to it. Each table has its own layout and a dozen fixed codes. Buyers fill in one simple row per card on the TPGC Cheat Sheet; one click then:

  1. Checks every row and skips any with missing or invalid data, so the tables never get out of step.
  2. Writes each card to the right tabs of the MNT Master Creator workbook, based on its Type of Gift Card, adding all the fixed codes for you.
  3. Builds the MNT files: one pipe-delimited upload file per populated tab, saved to a folder you choose.

The Cheat Sheet

One row per gift card on the TPGC tab, headers on row 3, from row 4 down:

ColumnWhat to enter
Type of Gift CardPick from the list: Fixed Price NoFee, Fixed Price Fee, Price Range No Fee or Price Range Fee.
Transaction Level RIN#The gift card’s item number.
Group, Dept, Class, SubclassIts merchandise hierarchy. The Group tab lists every Dept with its Group number.
Description with no Special CharactersThe name shown at the register.
Price Range (Min) / (Max)Price range cards only: the lowest and highest amount a customer can load.
Fixed RetailFixed price cards only: the card’s price. $ and commas are fine.
Fee Rins AssociatedFee cards only: the activation fee RIN(s). Pick from the list (e.g. 14243675 (3.95)) or type several separated by commas; the amount in brackets is ignored.
Effective DatesWhen the card goes live. Needed for fixed price cards and for any card with a fee.
GTIN/UPC#The card’s barcode. Any format works; only the first 11 digits of the UPC-A are used.

What Each Gift Card Type Creates

MNT Master Creator tabFixed Price NoFeeFixed Price FeePrice Range No FeePrice Range Fee
TPGC_UPC: RIN + first 11 UPC digits✔✔✔✔
TPGCNonMerchandise: item, name, merch levels✔✔✔✔
ItemPriceAction: fixed retail and effective date✔✔
GCITMProperties: minimum and maximum load amount✔ (2 rows)✔ (2 rows)
TPGCAttachFee: one row per fee RIN✔✔
Attached Items flag / Prompt for Price flag0 / 01 / 00 / 11 / 1

Every row also gets the fixed codes those tables need (action INSERT, record identifiers, voucher type and sub-type, “disallow discounts/deals/self-checkout” flags, all-stores *, and so on). The merch levels are built from the hierarchy: Group 270 → 270G, Dept 512 → 512D, Class → 512-3C, Subclass → 512-3-1S.

How to Use It

  1. Open the TPGC Cheat Sheet and enable macros. Fill in one row per gift card from row 4.
  2. Click Export. The macro opens the MNT Master Creator from the shared templates folder (or uses it if it’s already open).
  3. Read the summary: how many cards of each type were written, the fee and property rows created, and any skipped rows with the reason (e.g. Row 7: missing/invalid Fixed Retail, Effective Date).
  4. Click Yes to create the MNT files now. A check box lists each tab’s row count, last column and last cell; if anything looks wrong click No (see below).
  5. Choose the folder to save to. Files are named MNTCreation_<Tab>-<username><yyyy_mm_dd_hhmm>.mnt.
  6. Upload the MNT files as usual. Fix and re-export any skipped rows.
Start from an empty MNT Master Creator. The export adds rows below whatever is already on each tab, and the MNT files include everything on the tab. If the summary’s row counts are higher than the cards you just exported, there’s old or hidden data. Click No, delete everything below the header row (and any stray columns to the right), then build the files again with CreateTPGCMNTFiles (Alt+F8). Don’t save the Master Creator with gift card rows in it.
The Cheat Sheet can’t be saved, by design. It’s a fill-and-export form that stays blank for the next person: any save shows “This workbook is locked and cannot be saved again.” Export your rows, then close it without saving. To keep a record, copy the rows into another workbook first.

What Gets Checked

A card is only written if every check passes, so all its tabs stay in sync. Otherwise the whole row is skipped and listed in the summary.

TypeMust have
All typesTransaction Level RIN#, and a GTIN/UPC# with digits in it.
Fixed PriceA numeric Fixed Retail and a valid Effective Date.
Price RangeNumeric Min and Max, with Min not greater than Max.
Any Fee typeAt least one fee RIN (digits only) and a valid Effective Date.
Unknown typeA Type of Gift Card that isn’t one of the four options is skipped.

The macro also standardises what it writes: retail as 0.00, dates as yyyy-mm-dd, and UPCs to 12 digits (restoring lost leading zeros, removing extra ones from 13- and 14-digit codes) before taking the first 11.

Example

TypeRIN#Retail / RangeFee RINsEffectiveUPC
Fixed Price Fee20100001$2514243675 (3.95)10/15/20260-12345-67890-5
Price Range No Fee20100002Min 15 / Max 500812345678901
TabRows written
TPGC_UPC20100001 | 01234567890 and 20100002 | 81234567890
TPGCNonMerchandiseTwo items; the first flagged Attached Items = 1, the second Prompt for Price = 1
ItemPriceAction20100001 | 25.00 | 2026-10-15
TPGCAttachFee20100001 → 14243675, effective 2026-10-15
GCITMProperties20100002 TPGC_MIN_PRICE 15 and 20100002 TPGC_MAX_PRICE 500

Troubleshooting

ProblemFix
“Could not find these headers on row 3”A Cheat Sheet header was renamed or moved, or you ran it from another sheet. Run it from the TPGC tab.
“Could not open target workbook”The MNT Master Creator isn’t in the shared templates folder or you can’t reach the drive. Connect to the network; if the file was renamed (e.g. a new year’s version), update the path in the macro.
“Tab … not found” or “Headers not found on …”The Master Creator’s tabs or headers changed. Use the current Master Creator or update the names in the macro.
Rows skippedThe summary gives the row and the missing field. Fix them and export again; only the fixed rows are added.
All rows skipped / nothing exportedEvery row failed a check, or no Type of Gift Card was chosen.
“This workbook is locked and cannot be saved again.”Expected: the Cheat Sheet is a reusable blank form. Close without saving.
MNT row counts too highOld or hidden rows on the Master Creator. Clear them and rebuild with CreateTPGCMNTFiles.
“MNT creation failed”Usually no permission to write to the chosen folder, or a file with the same name is open. Pick another folder.

Files & Templates

Workbooks and templates used across merchandising. Save a copy to a shared path your team can access.

SQL Tables Excel workbook (.xlsx) Download SQL Tables and Columns
Ad Planner & Uploader Macro-enabled workbook (.xlsm) Download Ad Planner v22
TPGC Cheat Sheet Macro-enabled workbook (.xlsm) Download TPGC Cheat Sheet
MNT Master Creator Macro-enabled workbook (.xlsm) Download MNT Master Creator 2026_01
Ad Bible Macro-enabled workbook (.xlsm) Download Ad Bible
Induction Checker Macro-enabled workbook (.xlsm) + guide (.docx) Download Induction Checker Download User Guide v2.0
Pack Item Induction Template Macro-enabled workbook (.xlsm) Download Pack Item Induction Template
Sort and Format BI Report Macro-enabled workbook (.xlsm) Download Sort and Format BI Report
QTY KEY Macro Macro-enabled workbook (.xlsm) Download QTY KEY Macro
AGC Macro Macro-enabled workbook (.xlsm) Download AGC Macro
Email Count Macro-enabled workbook (.xlsm) Download Email Count
Ad Tracker Macro-enabled workbook (.xlsm) Download Ad Tracker
MSA Template Macro-enabled workbook (.xlsm) Download Blank MSA V6 (New Format)
Hardlines Buyer Promo Report Macro-enabled workbook (.xlsm) Download Hardlines Report Macro
Item Lists Macro-enabled workbook (.xlsm) Download SKU List

Web Tools

Browser-based helpers. Files are processed on your own computer and never uploaded.

ODS CompressorShrinks .ods spreadsheetsOpen tool
RMS10 Export FormatterRemoves unneeded columns from RMS10 exportsOpen tool
Ad Tracker WorkspaceExtracts ad items from weekly PowerPointsOpen tool
Data Cleanup ToolRuns the standard Excel cleanup stepsOpen tool
Excel Row CleanerRemoves rows where Column T is blankOpen tool

Inspection Tools

These are small, single-purpose lookup tools. Each one is its own workbook: you open it, it hides itself in the background, and then from any spreadsheet you select a column of RINs (or VPNs/UPCs) and run the tool. It looks the items up in RMS and shows the results in a pop-up window you can keep open and copy from while you work.

How These Tools Work

  1. Open the tool workbook (e.g. Supplierins2.xlsm) and enable macros. It hides itself straight away (see Open Document in Background below), so it looks like nothing opened. It stays available until you close Excel.
  2. Go to the spreadsheet you’re working in and select the cells with the item numbers, in one column.
  3. Press Alt+F8, pick the tool’s macro (listed with each tool below) and click Run. To make it one click, add the macro to the Quick Access Toolbar (File → Options → Quick Access Toolbar → Choose commands from: Macros).
  4. The results open in the RIN Inspection window, one line per item, lined up across the boxes. The window doesn’t block Excel, so you can keep working and copy values out of it.
ToolYou selectYou getBest for
Supplier Inspect 1Transaction RINsParent RIN, Dept, primary Supplier ID & name, total stock on handWho supplies an item and how much stock exists
Supplier Inspect 2Transaction or Parent RINsEverything in v1 plus description, average cost and retail (all children of a parent)Checking cost, retail and margin before a deal
FFInspect 1Transaction or Parent RINs + warehouse group(s)Each location’s stock, total on hand incl. in-transit, last sold/received dates, min/maxFrustrated freight and replenishment questions
FFInspect 2Same + a sales date rangeEach location’s stock and units sold in the date range, plus total units soldIs the item selling where it’s stocked?
CLASS InspectorTransaction or Parent RINsDept, Class and Subclass with namesChecking an item’s hierarchy (reclasses, reporting)
VPN RIN FinderRINs, VPNs (model numbers) or UPCsTransaction RIN, Parent RIN, primary UPC, VPNTurning a vendor’s model list or a UPC into RINs
You’ll need: RMS read access through the Microsoft ODBC for Oracle driver, and the network drive / VPN connection the tools use to read the read-only database password. If you see “Problem connecting to network drive” or “Oracle Error”, check your VPN and network access first.

Open Document in Background

Every tool workbook is set up so that when the file opens it turns off screen updating and hides its own window, so the tool runs quietly in the background and its macros can be used on any other workbook.

  1. It’s a two-line Workbook_Open routine in the workbook’s ThisWorkbook module: it turns off screen updating and hides the workbook’s window. Any tool workbook can be set up the same way.
  2. To see or edit a tool workbook again: View → Unhide, pick the workbook, make your changes, then hide it again (View → Hide) before saving so it keeps opening in the background.
  3. Use case: keep several tools open at once (e.g. VPN RIN Finder and Supplier Inspect 2) while you build a deal sheet, without extra windows getting in the way.

Supplier Inspect 1

Looks up the primary supplier and total stock for a list of transaction RINs.

How to use it

  1. Open Supplierins1.xlsm (it hides itself).
  2. Select the transaction RINs, in a single column.
  3. Run SupplierInspect (Alt+F8).
ResultMeaning
Trans RIN / Parent RINThe item and the parent it rolls up to.
DeptRMS department.
Supplier ID / Supplier NameThe item’s primary supplier.
SOHTotal stock on hand across all locations.
Only transaction RINs return results. A parent RIN, a blank cell or a RIN with no primary supplier is skipped; use Supplier Inspect 2 for parent RINs. Selecting more than one column shows “Please select only one column of data.”

Use case examples

  • A vendor emails a list of RINs for a deal: confirm they are the primary supplier for every item before entering the promotion.
  • Finding which department (and so which buyer) owns a list of items someone asked about.
  • Checking whether there’s any stock in the system before agreeing to advertise an item.
Trans Rin: Parent Rin: Supplier ID: Supplier Name: Dept: SOH:
14758414 14758397 66272964 SONY ELECTRONICS INC. 811 13

Supplier Inspect 2

An expanded Supplier Inspect that also shows description, cost and retail, and accepts parent RINs (it lists every child item under the parent).

How to use it

  1. Open Supplierins2.xlsm (it hides itself).
  2. Select transaction or parent RINs, in a single column.
  3. Run SupplierINSPECTORv2 (Alt+F8).
ResultMeaning
Trans RIN / Parent RIN / DescriptionEach item (all children if you selected a parent).
CostAverage unit cost across locations.
RetailAverage unit retail across locations.
Supplier ID / Supplier NamePrimary supplier.
Dept / SOHDepartment and total stock on hand.
Cost and retail are averages across locations, so use them as a quick check, not as the official price for a specific store.

Use case examples

  • Building a Deal Offer Form or promotion: check cost and regular retail so the promo price still leaves margin.
  • A vendor quotes a new cost: compare it with the current average cost in RMS.
  • Select a parent RIN to see every size/color under it, with each one’s cost, retail and stock, before deciding which to include in an ad.
Trans Rin: Parent Rin: Description: Cost: Retail: Supplier ID: Supplier Name: Dept: SOH:
14758414 14758397 Sony XR77A80L 77-Inch 4K HDR OLED TV_D 2347.99 3449.99 66272964 SONY ELECTRONICS INC. 811 13

FFInspect 1

A frustrated freight tool: shows where an item’s stock is, by location, and when it last sold and was received, so you can work out why freight is stuck or not moving.

How to use it

  1. Open FFINS1.xlsm (it hides itself).
  2. Select transaction or parent RINs.
  3. Run FFINS1 (Alt+F8).
  4. In the Which Warehouse? window, tick one or more location groups (9830, 9930, 9840, 9950) and click Use Form. Closing the window without choosing cancels.
ResultMeaning
Trans RIN / Parent RIN / Description / DeptThe item.
Supplier ID / Supplier NamePrimary supplier and vendor.
LocationEach location in the chosen group(s), with its name.
Last Sold Date / Last ReceivedWhen the item last sold and was last received there.
SOHStore stock on hand at that location.
OH (Total)Store + warehouse stock + quantity in transit.
Min / MaxReplenishment minimum and maximum (0 if not set up).

Use case examples

  • A DC reports frustrated freight for an item: see which locations have it, how much is in transit, and when it last sold.
  • A store says it never gets an item: check whether its Min/Max is 0 (no replenishment set up) or it simply hasn’t been received.
  • Spotting stale stock: items with stock on hand but no sale in months are candidates for transfer or markdown.
Trans Rin: Parent Rin: Description: Dept: Supplier ID: Supplier Name: Location: Last Sold Date: Last Received: SOH: OH (Total): Min: Max:
14758414 14758397 Sony XR77A80L 77-Inch 4K HDR OLED TV_D 811 66272964 SONY ELECTRONICS INC. 10 - NORF MAIN STORE 09/02/2024 07/24/2024 0 0 0 0

FFInspect 2

Everything in FFInspect 1, plus units sold at each location over a date range you choose, with a total. Use it to see whether an item is actually selling where it’s stocked.

How to use it

  1. Open FFINS2.xlsm (it hides itself).
  2. Select transaction or parent RINs.
  3. Run FFINSPECT (Alt+F8).
  4. Tick the location group(s) in Which Warehouse? and click Use Form.
  5. Enter the Sales Start and Sales End dates (MM/DD/YYYY). They default to the last 7 days; leaving either blank cancels.
ResultMeaning
Trans RIN / Parent RIN / DescriptionThe item.
LocationEach location in the chosen group(s).
SOHStore stock on hand there.
Units SoldUnits sold at that location between your dates.
Total SalesAll units sold across the listed locations.

Use case examples

  • Before moving frustrated freight: see which stores are selling the item so stock goes where it will sell.
  • After a promotion: enter the promo dates to see units sold by store and in total.
  • Comparing two periods: run it once for last week and once for the week before to see if sales are slowing.
RIN Inspector                               ✕
Main
Which Warehouse?

Sales Start                                ✕
Sales End                                 ✕

CLASS Inspector

Shows an item’s merchandise hierarchy: department, class and subclass, with names.

How to use it

  1. Open CLASS.xlsm (it hides itself).
  2. Select transaction or parent RINs, in a single column.
  3. Run CLASS (Alt+F8). All selected items are looked up in one pass, so it’s quick even for long lists.
ResultMeaning
Trans RIN / Parent RINThe item (all children if you selected a parent).
DeptDepartment number.
ClassClass number and name, e.g. 1001 - HOUSEHOLD BAT.
SubclassSubclass number and name, e.g. 1 - ALKALINE.
“No hierarchy data found.” means none of the selected values matched an item in RMS; check for typos or that you selected the RIN column.

Use case examples

  • Before submitting an item reclassification: confirm the item’s current class and subclass.
  • Checking a list of items is in the right class before a class-level promotion or report.
  • Finding the Class/Sub-Class text to use in the Ad Planner’s Lift Query filters.
Trans Rin: Parent Rin: Description: Class: Subclass:
13544915 13544902 1001 – HOUSEHOLD BAT 1 – ALKALINE

VPN RIN Finder

Finds RINs from whatever you have: a transaction RIN, parent RIN, VPN (vendor model number) or UPC. It returns the transaction RIN, parent RIN, primary UPC and VPN for every matching item.

How to use it

  1. Open VPNrinFinder.xlsm (it hides itself).
  2. Select the values to look up, in a single column. You can mix RINs, VPNs and UPCs.
  3. Run VPNRINFIND (Alt+F8).
You enterYou get
VPN / model numberThe RIN(s) with that VPN.
UPCThe RIN the UPC belongs to.
Parent RINEvery child item under it.
Transaction RINIts parent, primary UPC and VPN.
VPNs must match RMS exactly (including dashes and letters). Items with no separate parent (“one-off” items) are found too.

Use case examples

  • A vendor sends a deal sheet with only model numbers: paste the VPNs, select them, and get the RINs for the Deal Offer Form or Promotion Macro.
  • You have a product in hand: type or scan the UPC to find its RIN.
  • Getting the primary UPC for every item under a parent, e.g. for sign or fact-tag requests.
Trans Rin: Parent Rin: UPC: VPN:
17483392 17483382 GS108-400NAS