The first rule of being a contract programmer is that if the business is still running, the requirements will change. Only dead things stop changing. If you promise a finished product on a fixed price, you have to recognize that you CANNOT accept changes. But there will always be an "oh, by the way, we ALSO need x..." Which means that a fixed-price development contract is a chimera, a beast that shouldn't exist.
All contracts for development must be for an hourly rate. FURTHER, if it were me, I would absolutely assure that there was no penalty for late delivery if change orders come in within X days of the most recent delivery date. In other words, insulate yourself against someone else rocking the boat at the last minute. Oh, you can still take the contract, but you tack on extra hours for all the retrofitting and/or new design that you would have to do because of the late-added requirements.
I did that kind of contracting for 10-12 years before my Navy job. ANY "build-to-order" contract needs to specify what the customer has to give YOU in terms of specifications, requirements, available data formats, expected data volume, and if they have any preconceived notions about forms and reports, you need to know what they want there, too. The MOST IMPORTANT part of any contract like this occurs before you write the first data layout or the first line of code or the first mock-up of the form. You must decide what you need to do and honestly figure out how long that is going to take. And this is NOT a time for optimism. You DO NOT schedule yourself for 12-hour days or working 7 days a week. You have to live. As a human, you have to take care of your human needs. If you burn yourself out, you are no good to your customers OR to yourself.
It ALSO wouldn't hurt to recognize that in order to do this kind of work, you need to be able to immerse yourself in their business if you want to make a database that will be a tool for their business. Otherwise you will be unlikely to hit the target that they put out there for you. That is why our discussions often point out that Access is as dumb as a box of rocks. Only someone who KNOWS the targeted business will be able to do justice to a proper business database. Access is merely another tool - just a bit more sophisticated tool, perhaps. But it is still no more than a very intelligent hammer.