Gap analysis is about doing deep analysis on how systems don’t solve all the problems that they could do. A smart integration engineer will avoid it because it is a make work exercise.
The real world is a lot more complicated than any IT system.
People, customers and organizations don’t fit into well defined neat data models. If you have a multi-national customer, then you are probably going to have bill differently for their different units.
People don’t stay conveniently associated with one company for their entire lifetime - they move around. Some people have multiple addresses and multiple phone numbers - life is complicated. The best any IT system can do is be helpful for organizing the more typical scenarios - users will always have to find solutions to some problems which don’t fit neatly into the IT system.
It’s faster to focus on solving one problem at a time that has the most impact rather than getting lost in trying to solve every possible problem with IT systems.
A good IT system is one which copes with a lot of your workflow. A system which copes with 100% of your odd cases is probably too complicated and will be hard to use.
Having some gap is is actually a good thing.