Serial number masks and prefixes
A serial number format is a business decision before it’s a setting. Customers, service engineers and auditors will read these numbers for years, so decide what a serial should tell you (site, product, date, sequence) and then build a mask that produces it.
How the pieces fit
Section titled “How the pieces fit”- Company Configuration defines the mask characters, the symbols that stand for “any letter”, “any digit”, “month” and so on. Most sites keep the defaults.
- Serial Mask Maintenance defines each mask: a pattern built from those characters, plus a prefix length, suffix length and starting sequence.
- Part Maintenance links a serialized part to a mask (or a simple prefix) through its serial number format.
Mask characters
Section titled “Mask characters”The default characters, as set in Company Configuration:
| Character | Stands for | Allowed in |
|---|---|---|
& |
Any alphanumeric character | Both mask types |
@ |
A letter | Both mask types |
# |
A digit | Both mask types |
^ |
A mandatory character of any kind | Validation masks only |
! |
An optional alphanumeric character, only at the end | Validation masks only |
~ |
A character stripped off when the internal serial is stored, only at the start or end | Validation masks only |
<D> |
Day | Generation masks only |
<M> |
Month, as two characters | Generation masks only |
<YY> / <YYYY> |
Two- or four-digit year | Generation masks only |
<Px> |
The first x characters of the part number | Generation masks only |
For example, @@@######<M><YYYY> produces three letters, a six-digit sequence, then the month and
four-digit year the serial was created.
Two kinds of mask
Section titled “Two kinds of mask”- Generation masks decide the format of serial numbers Epicor creates for you. The sequence part counts up from the mask’s starting sequence.
- Validation masks check serial numbers people type in, for example supplier serials at receipt. They aren’t applied to generated numbers.
If you let users type serials for a part, a validation mask is the cheapest way to stop typos and made-up formats getting into the system.
Prefixes and multiple sites
Section titled “Prefixes and multiple sites”A mask and its sequence can be shared by the same part in several sites, which means two sites can generate the same number. Give each site its own prefix (or suffix) so serials stay unique across the company.
The prefix used for a part’s generated serials is held per part and site, on the part’s site record
(PartPlant.SNPrefix).
Fixing prefixes in bulk with DMT
Section titled “Fixing prefixes in bulk with DMT”If parts carry the wrong prefix, often an old one inherited from an earlier setup or revision, fix them with a Part Plant DMT update rather than editing each part. The file needs only the key and the prefix:
Company,PartNum,Plant,SNPrefixEPIC06,PART-1001,MfgSys,SNAEPIC06,PART-1002,MfgSys,SNANew serials use the corrected prefix. Serials already created keep the number they were given. See the DMT overview for how to run and check a load.
Storing a CAGE code
Section titled “Storing a CAGE code”Suppliers to the US government are identified by a CAGE code (Commercial and Government Entity code), a short identifier that is often required in part marking and serial identification on government contracts. A company’s CAGE code rarely changes.
Epicor has no dedicated field for it, so store it once and reuse it:
- Company level is usually right: a UD column added to the company configuration table (
XaSyst), shown on Company Configuration near the serial mask settings. - Site level makes sense when sites hold different codes: a UD column on the site configuration
table (
PlantConfCtrl).
Then bring it into serial numbers or labels where needed, for example through the serial prefix, a BPM when serials are assigned (see Setting serial numbers in code), or the label data.
Related
Section titled “Related”- How serial tracking works
- Troubleshooting serial numbers: masks overridden by users, and broken sequences