What I am about to say should not be taken personally (I have made the same mistake).
Were I your customer I would not pay either. You agreed with them that your app was ready for multiple companies and that customer paid you for the functionality.
A application design document, functinality document, database design document, is in order here. Following standard development procedures will help eliminate this problem in the future. Using documents to help your memory along would be of great use.
I learned from my mistake and have implemented design principals that one can find in any Software Lifecycle support book. HTH.
Terry Rooks
Software Systems Architect
Microsoft Certified Solution Developer.Net
If at first you don't succeed, then skydiving definitely isn't for you.