There are multiple potential sources for the serial number field and not all of them apply to every type of device so there is probably some validation you need to do on that. For and NPM or SAM based report the Hardware Health monitor needs to be enabled/working on the node to get the serial number. Hardware health has a bunch of dependencies and requirements so you may want to check that is working. For example, in SNMP based devices I believe it is only compatible with cisco and f5 devices, maybe a few other vendors that I don't see often. If the node is a server you need to have SAM and hardware health has to be enabled, this guide covers the basic troubleshooting of the SAM hardware health feature if you are having problems there:
If the device is in NCM and is a Cisco device then the inventory scanning job has to have been completed at least once to get a serial number, the details of setting up and executing these jobs is in the admin guide for NCM but the inventory one is enabled by default.
There are other more advanced ways to get serial numbers too if you happen to fall into the cracks between the products that are supported out of the box but I'd suggest you start with those and see if you get what you need.
mesverrum makes some excellent points.
An easy way to start with report writing is to first see if you see the information you're looking to report on in your current instance of SolarWinds. For the current question, in your Orion web site if you look at a node do you see the serial number you're expecting to see anywhere? If so, where? That would lead you to where its stored in the DB and/or where to select the value in the web report writer.
If you can send more info it would help us understand if the information you're looking for is already stored within your SolarWinds instance.