In my previous job we had an information system that kept track and generated serial numbers. Each device could have sub devices, so X, SN 5 could have components A, B, C, each with their own unique serial number. The generation of serial numbers was handled automatically, the assignment of assemblies was done manually, since it was a low volume system it was okay.
So the final assembler would have components X SN 8, A SN 3, B SN 9 and C SN 10. He'd manually assign components A, B and C to X SN 8, but the SNs for X, A, B and C were generated automatically. The information system kept track of everything - it wasn't anything special, pretty basic really, in house hacked together, but it definitely was more than a spreadsheet.