I recently started a new job as a contract developer, and my non-developer boss of about two weeks ago gave me the task to re-create an app from another language and developer that he will reuse with multiple clients (replacing the front-end), that I estimated would take longer than his estimate of 12 hours. Two weeks later, I'm 230% over-budget. I admit this was my 2nd web app, I had been a wordpress developer in the past, so I am somewhat new to code igniter, but not shabby php by any means. My boss hired me knowing this and I was clear that it would take longer than his 12 hours. He's seen me in the office on task for 2 weeks, he should be somewhat prepared for this bill.Do I expect the full amount of hours, or do I filter against how much of learned?Can I bill for research as a developer? 
New Job Over Budget
project management
Just about any application is unrealistic to do in 12 hours, no matter how simple it is. This was an unrealistic estimate given by someone who does not understand the process. This is fine as long as they can accept and learn what the actual process is about. Do you charge the full amount? Of course you do. It was your time that you used to accomplish a task for someone else. You learned in the process which is good, but programming is a learning process. If all programmers charged only for code written, and excluded learning and research time, all of us would make almost no money.Many projects in many professions are over budget all the time. If you don't charge the full amount for your time, you will end off out of pocket. Don't feel guilty about it. Explain to your client. Give him the bill. 