Awesome question!
Sales tax is a crazy world for software developers because there's a shitload of exceptions and rules. I'll tell you the general rule though.
Software is taxable IF
(1) it is a retail "off-the-shelf" program. A retail "off the shelf" program is anything that you created to be sold without further customization. So any standard program your selling copies of would be required to pay sales tax.
But, if you customized the software then it could be exempt from sales tax. because then it would be considered exempt under the professional services exception.
This is a very complicated area of sales tax because its new. I actually have a 50 state matrix somewhere that gives detailed instructions on every state that i prepared for a client. Its a fortune 500 company so i cant say its name but if youve ever done ANY financial or legal research, then you're using their name. I'll probably post it up later on as a separate HN post.
2. Well for payroll, its a complicated area because you have federal, state and city withhold taxes, plus FICA, Medicare, FUTA (Unemployment) and others so u want to make sure that this is done correctly. Trust taxes are payroll taxes and if u F-BOMB this up, then you are PERSONALLY liable. It is one of those taxes that if u screw up, the IRS is going to literally levy you bank account.
Also, if your in NYC. We have a bunch of special taxes =D. For example, you get to pay taxes on your rent. the CRT or Commerical Rent Tax is a tax that people in manhattan have to pay if they pay more than 250k in rent LOLL. So, it really depends where you're located and how your business is being run. You should email me privately to discuss this further if you really care too.
3. Well, if u hired an accountant then they should know what they're doing. (Assuming they're qualified). But, YES u need to keep records of everything. I suggest you scan everything because it makes life easier. But, honestly it doesnt matter how you're keeping track as long as you ARE keeping track. Obviously, there are better ways to do it but thats for another discussion.