I think, the server handle all the building times.
If you send the StartBuild Commandbase 5 command for example, the Server knows, ok, 12h 30min. for player xy etc. pp (example time). And then the server counts down to zero, not the client.
I don't have check all methods to manipulate this, 'cause I'm concentrated in something other

So I can't tell you all about the client and server communication for the building time
You can look, if we can manipulate the use of items in this case, to accelerate this. But i think the server handles the whole shop system, so if we don't have any item, we cant send the use of one :P
~ regards