I would design this using relational database design, not worrying about how they want to display the data.
– price, etc.
– name, address, etc.
– order_status, etc.
That type of thing. Write sql in order to get the views as far as the way they organize their data, or to deal with insertion of data.
If you do it in relational database design it will be much more flexible in the end. You can write sql to periodically move it into what is called flattened tables, which are the ways that the customer actually views the data, for easy access. Or you can write views as well to do the same thing if mysql has that capability.
Hope this helps,