[nextasThe item master check
Where the file comes from Prophet 21: Inventory Value or Stock Status
Eclipse: Inventory Inquiry
Infor or NetSuite: an item saved search

What is actually in your item master

Export your item master, drop the file here, and you get these four back in about a minute. If a migration is anywhere on your roadmap, everything dead or duplicated in that file is something you pay to move and then keep paying to store.

01 Two numbers for the same thingnear-identical items under different numbers, matched on description, vendor and unit together sets
02 Records with holes in themno category, no unit, or a description nobody can match against a purchase order records
03 The same item in two unitsone item family stocked in more than one unit of measure, which is where short shipments come from families
04 Stock nothing has moved in two yearsno transaction in 24 months, still on the shelf, valued at your own standard cost lines

Drop the export here

It is read on this computer. Nothing is uploaded and nothing is stored, unless you use the send box at the end of the report.

paste it out of Excel instead  ·  run it on a sample catalogue

What to export

  1. Item number
  2. Description
  3. Category or product group
  4. Unit of measure
  5. Vendor
  6. Standard cost
  7. Quantity on hand
  8. Last transaction date

No customer names, no customer pricing, nothing personal. Only the item number and the description are required. Leave a column out and the finding that needed it says so instead of guessing.

Leave the report headers and the total row in, they get stripped. CSV, tab separated text and real Excel workbooks all work.

What we read

FieldColumn in your fileFirst value we foundMatch

01 Two numbers for the same thing

Matched on description, vendor and unit of measure together, never description alone. Two records for one item split the demand history in two, so every reorder point, forecast and stocking decision built on top of them is calculated on half the picture. This is the finding no reporting tool gives you, because a reporting tool reports the data rather than questioning it.

Some of these are deliberate. A second number for the same part under a different vendor agreement is a real thing. The list is where you decide that, one line at a time.

02 Records with holes in them

No category, no unit of measure, or a description nobody could match against an incoming purchase order. A BI platform will chart this data beautifully and never once mention that it is wrong. Anything you buy that reads your item master, ours included, inherits these.

03 The same item in two units

One item family carrying different units of measure across its records. Each is defensible on its own and together they are where wrong quantities and short shipments come from: somebody orders twelve and gets twelve boxes, or twelve feet.

04 Stock nothing has moved in two years

No transaction on the record in twenty-four months, quantity still on the shelf, valued at your own standard cost. This is the one finding here you can partly get elsewhere, which is why it is fourth rather than first.

05 One number, and one sentence

What your system already does, and what this is not

Worth saying plainly, because a power user will know the difference. Prophet 21 classifies items for replenishment and its forecasting module can flag an item obsolete. Those are settings that control purchasing. They are not a report that values what has not moved and ranks it, which is why people ask on the Epicor forum how to build one.

Nor is anyone claiming this problem is unsolved. Phocas and EazyStock both do this, and do it well, at roughly thirty to sixty thousand dollars a year before setup and implementation. What we are saying is narrower: you should not have to sign a licence and run an implementation to find out how much of your item master is dead, duplicated or broken. That part is one export and a minute.

If it was useful, the next file answers what this one structurally cannot. Twelve months of invoice history shows real margin instead of theoretical margin, how long a price stayed wrong after a cost moved, and which customers are quietly fading. Customer names can be replaced with C0001 before it leaves your building; the work only needs to know that a customer is the same customer across months. That is a conversation, not a purchase.

Send this report

Everything above was worked out on this computer. Pressing send is the one action that transmits anything: the report page goes out as an attachment, with the headline numbers in the body of the mail. Your original export is never sent.

How this was calculated, and what it does not know

Duplicates are matched on description, vendor and unit together. The description is compared with case, punctuation and word order thrown away, so PVC ELBOW 90 1/2 and Elbow 90 1/2" PVC are the same string to us, while a bare number keeps its place, because a 1/4 x 2 nipple is not a 1/2 x 4 nipple. Two records only count as duplicates when the vendor and the unit agree as well. Matching on description alone would flag half a catalogue and you would be right to stop reading. Where two records word it differently, the report shows the wording on the lowest item number, usually the record the others were copied from.

Dead stock is measured from the newest date in your own file, not from today, so an export that sat in a downloads folder for a fortnight does not age its own stock. Twenty-four months, quantity on hand above zero, valued at quantity times standard cost.

Rows with no date on them are counted separately and never assumed dead. Same for rows with no cost: they appear in the count and not in the money.

Standard cost is a book number. What the stock is worth on a liquidation is a different question and a much smaller number. This figure is what it costs you to hold and to migrate, not what anyone will pay for it.

Nothing here is a judgement about your business. A slow line held for a contract, a spare for a machine that has not broken yet, a second item number a customer insists on: all real, all in these lists. The lists are where you take them out.

Nothing was estimated. Every row that could not be used is counted at the top, with the reason it was dropped.