You should consider custom application when all options for off-the-shelf applications are exhausted and at the end they do not satisfy what you incline to accomplish. Typically custom applications mold to your business processes and does exactly or gets close to your desired outcome. Cost wise, you would be surprised how economical it may still get for your custom application. Here are the steps that are usually taken to develop a custom application:
It is important that after you sit with your software strategist initially you hold a tight feature-by-feature budget and an over all budget for deployment and training. It is also important to determine a budget for maintenance for your custom application. It is highly recommended that you get into a monthly contract with your software developer. It can be a fixed budget for unlimited hours or a discounted rate for a preset bulk hours.
It is very natural that you won't have all the i's dotted and t's crossed during your thought process regarding the application. More often than not you will find yourself adding new or change features during the development cycle. These changes are called "Feature Creeps". Feature Creeps can be costly as well as time consuming. Although inevitable, it is important that you minimize these feature creeps. It is best to spend a lot of time during mock-up (UI/UX: User Interface / User Experience) process to determine the final outcome before the programmer hits the first key-stroke for your application.
The following links provide additional information.
39506 N. Daisy Mountain Drive, Ste 122
Phoenix, AZ 85086