One of my greatest frustrations with Netsuite web services has been their data validation. When I began programming with the Netsuite PHP Toolkit, I assumed that web services would accept the same data the front-end (web interface) did; however, often the data validation for the back-end would not match up with the validation for the front-end. For example, if I load a customer, and without changing any data, save that same customer, it will occasionally throw and error and complain that a field doesn’t match the validation even though it is the same data that was passed to me. This means that every time I load a customer object from Netsuite web services, I have to check to make sure it matches their requirements. I can’t simply assume it will since someone can use the web interface to change the values to something the back-end won’t accept.
I would assume Netsuite will fix this problem in the future, but in the mean time, hopefully this will help a few programmers figure out why they are receiving errors.

Update: see this post for more information on the problem: http://www.ozonesolutions.com/programming/2011/08/netsuite-data-validation-headache/