A number without a unit is a future factor error

Most quantity bugs are not off by one. They are off by three hundred and five, because somebody stored a length in metres in a field a colleague reads as reels — and factor errors survive review in a way item errors never do.

ERPShipped in segment S03 · 898 words
ONE PART · THREE UNITS · ONE TRUTH220-0410 Cable, 4 corebase unit: metrepurchased: REEL1 REEL = 305 m — declaredconsumed: 1.4 m per unitfractional, and that is normalconvert()through the declared factornever in a person's headBOM line: 1.4 mshown as 4 ft 7 in alongside1,000 units → 1,400 m= 4.59 REEL → order 5A quantity without a unit is a number that will eventually be wrong by a factor — and factor errors survive review in a way item errors do not.Dual display is presentation. There is one stored value, in the base unit.

What it is, and what it is not

Two subsystems that have almost nothing to do with each other except that everything else depends on both: a unit-of-measure model with declared conversions, and a material master where materials are objects rather than a text field on a part.

The unit system is not a display preference. A quantity is a value and a unit, stored together, and every operation that touches quantity — rollups, comparison, publication, validation — carries the unit through rather than assuming one.

The material master is not a dropdown of names. 304 stainless as free text cannot carry a density for a mass rollup, a substance composition for a compliance rollup, or a specification reference. As an object it can carry all three, and the part references it.

The mechanism: one base unit, declared conversions

Each part has one base unit in which quantities are stored. Cable is stored in metres. It may be purchased by the reel and consumed at 1.4 metres per assembly, and both of those are conversions through a declared factor — one reel is 305 metres — rather than an arithmetic somebody performs in their head or a spreadsheet.

Declaring the factor is the whole point. A conversion living in somebody's head is correct until that person is on holiday; a conversion living in a spreadsheet is correct until somebody copies the wrong row. A declared factor is checkable, auditable and used identically by every part of the system.

Dual display is presentation only. A metric organisation working with an imperial customer sees 1.4 m alongside 4 ft 7 in, and there is exactly one stored value. Storing both is how two numbers drift apart, and then nobody knows which one the drawing was dimensioned from.

Fractional quantities and as-required consumables are first-class rather than worked around. Recording zero for thread-locker is wrong and recording a guess is worse; a distinct as-required value is the honest option and it survives a rollup correctly.

The failure it prevents

A BOM line reads 220-0410, qty 5. The engineer meant five metres. The purchasing system reads the part's purchase unit and orders five reels — one thousand five hundred and twenty-five metres of cable, against a requirement for five.

Nothing looked wrong at any point. The number five was correct in one unit and catastrophic in another, and no review catches it because there is nothing on the screen to catch. The error surfaces as an invoice.

The inverse is more common and quieter: a quantity entered in the purchase unit and consumed as if it were the base unit, producing a shortage on the line rather than an excess in the ledger. Both are the same defect, and both are prevented by the same thing — a quantity that cannot exist without its unit.

How it meets the rest of the product

Paste validation checks units as it checks everything else. 8 EA in a numeric column is raised as an exception rather than coerced to eight, because a silent coercion is exactly how a unit gets lost at the moment data enters the system.

Mass rollups need material density, which is why material is an object. Compliance rollups need substance composition on the material, because a substance concentration is a property of a homogeneous material rather than of a part number — and applying a threshold at part level is the standard way that calculation goes quietly wrong.

Specifications are objects too, so a part references the specification it must meet rather than naming it in a description. A specification revising then has a where-used answer, which is not true of a sentence in a text field.

Multi-currency follows the same shape as units: a value with a currency, converted through a rate whose date policy is stated rather than assumed. A cost compared across two currencies at unstated rates is not a comparison.

How it meets your ERP

Units are the most under-discussed part of any ERP integration and one of the most consequential. Manufacturing PLM masters the unit and its conversions on mapped items and publishes both, because a structure arriving without units is a structure the receiving system has to guess about.

Where your ERP's unit codes differ from yours — M against MTR against metre — the mapping is stated in the connector field map rather than inferred by string matching. A unit code guessed correctly ninety-nine times and wrongly once is worse than one that was never guessed.

Material and specification objects generally do not publish. Your ERP needs the item and its unit; it has no consumer for a density or a substance list, and pushing them across creates a second copy nobody maintains.

Where the boundary is

Manufacturing PLM does not maintain a materials library for you. Materials are objects you define, with the properties you need for the rollups you actually run. Shipping a reference library would produce entries nobody verified being trusted for compliance calculations, which is a worse outcome than an empty table.

It also does not do engineering unit analysis. Checking that a formula's dimensions balance, or that a torque specification is expressible in the units given, is a calculation tool's job. Manufacturing PLM stores quantities with units correctly and converts them through declared factors; it does not reason about physics.

Facts

StorageOne base unit per part; quantity and unit stored together
ConversionThrough a declared factor — never an implicit assumption
Dual displayPresentation only; there is one stored value
Fractional & as-requiredFirst-class, not worked around
MaterialsObjects with density and composition, not a text field
SpecificationsObjects a part references — so where-used works
CurrencySame shape as units, with a stated rate-date policy
Not offeredA materials library · dimensional analysis

Frequently asked

Why store a unit with every quantity?

Because a number without one is a future factor error. Five metres and five reels are both the number five, one of them is three hundred times the other, and no review catches it — there is nothing on the screen to catch. The error surfaces as an invoice.

How do purchase and consumption units differ?

Through a declared conversion factor. Cable stored in metres may be purchased by the reel at 305 metres and consumed at 1.4 metres per assembly. Declaring the factor makes it checkable and auditable rather than living in somebody's head or a spreadsheet.

Can we show both metric and imperial?

Yes, but purely as presentation. There is exactly one stored value in the base unit, displayed alongside its converted equivalent. Storing both is how two numbers quietly drift apart, after which nobody can say which one the drawing was actually dimensioned from.

What about consumables with no fixed quantity?

As-required is a distinct value rather than a workaround. Recording zero for thread-locker is wrong and recording a guess is worse, so the honest option is a value that says as-required and behaves correctly in a rollup rather than contributing a fiction.

Why is material an object?

Because free text cannot carry a density for a mass rollup or a substance composition for a compliance rollup. Both calculations need properties of the material rather than of the part, and a text field named 304 stainless can carry neither of them.

Do you provide a materials library?

No. Materials are objects you define with the properties you need for the rollups you run. A shipped reference library produces entries nobody verified being trusted for compliance calculations, which is a considerably worse outcome than starting from an empty table.

How do units reach our ERP?

Manufacturing PLM masters the unit and its conversions on mapped items and publishes both. Where your ERP's codes differ — M against MTR against metre — the mapping is stated in the connector field map rather than inferred, because a code guessed wrongly once is worse than never guessed.