I am not an accountant so take my advise with grains of salt. I learnt this working for an enterprise software, hardware and services company, in MBA Accounting class, and having my own startup and side business.
If you want to understand tradeoffs for different entities as well as deferred comp, trusts etc., I will recommend this book: Dwight Drake, Business Planning Closely Held Enterprises.
As a bootstrapped startup, LLC is a good choice until you decide to take external investor money or start generating significant profits. At that time, you can re-incorporate as C-corp.
The main tax benefit of LLC is as you most likely will have losses initially, all those losses will flow from LLC to founders personal tax returns, reducing founders tax liability. Once you start to have significant earnings (net income, not revenue), consider reincorporating as C-corp as C-corp will allow you to retain earnings reducing the earning flow to founders's tax returns, preventing founders' tax liability from increasing.
(Accrual Accounting) If you are selling packaged software similar to Oracle, Windows etc. (not service and not SaaS) to Enterprise, you can capitalize R&D expenses for developing that software. These expenses will be depreciated over a "reasonable" number of year. Don't recall exact number but I believe most companies use either 3, 5, 7 or 10 years. The revenue from sale of software is realized right away as soon as you sold the software irrespective of whether you received actual cash or not. If the sold license is valid for only certain period of duration, you spread the selling price/revenue over the duration of the license.
The revenue from integration, implementation, and professional services and associated 'unique' costs are not realized until you have performed and deliver the service. The revenue from support contract is realized over the life of the support contract.
If you decide to sell license, support and services as a package, internally you will need to allocate selling price between the three categories and then apply revenue recognition appropriate for each category separately.
Overall, unless you are spending millions of dollars in developing software from your own pockets and very close to millions of dollars in revenue, I wouldn't worry too much with Accrual Accounting (described above) and stay with Cash Accounting (Cash In, Cash Out). You can always change things in the future as circumstances change.
If you want to understand tradeoffs for different entities as well as deferred comp, trusts etc., I will recommend this book: Dwight Drake, Business Planning Closely Held Enterprises.
As a bootstrapped startup, LLC is a good choice until you decide to take external investor money or start generating significant profits. At that time, you can re-incorporate as C-corp.
The main tax benefit of LLC is as you most likely will have losses initially, all those losses will flow from LLC to founders personal tax returns, reducing founders tax liability. Once you start to have significant earnings (net income, not revenue), consider reincorporating as C-corp as C-corp will allow you to retain earnings reducing the earning flow to founders's tax returns, preventing founders' tax liability from increasing.
(Accrual Accounting) If you are selling packaged software similar to Oracle, Windows etc. (not service and not SaaS) to Enterprise, you can capitalize R&D expenses for developing that software. These expenses will be depreciated over a "reasonable" number of year. Don't recall exact number but I believe most companies use either 3, 5, 7 or 10 years. The revenue from sale of software is realized right away as soon as you sold the software irrespective of whether you received actual cash or not. If the sold license is valid for only certain period of duration, you spread the selling price/revenue over the duration of the license.
The revenue from integration, implementation, and professional services and associated 'unique' costs are not realized until you have performed and deliver the service. The revenue from support contract is realized over the life of the support contract.
If you decide to sell license, support and services as a package, internally you will need to allocate selling price between the three categories and then apply revenue recognition appropriate for each category separately.
Overall, unless you are spending millions of dollars in developing software from your own pockets and very close to millions of dollars in revenue, I wouldn't worry too much with Accrual Accounting (described above) and stay with Cash Accounting (Cash In, Cash Out). You can always change things in the future as circumstances change.