I have a requirement from a client who would like to distribute my app available in the App Store via. Apple Business Program to their employees. Of course, there will be some client-specific customizations added to the app but those will not take effect in a non-MDM environment. So it should be safe enough to distribute the app in the general app store. However, I would like to understand the possibilities of distributing an app (without having to maintain 2 different code base] through general App Store AND as a custom B2B app.
I have been going through some documentation from Apple about signing the paid app agreement.
It says:
Once this contract is requested, you can’t undo this action or revert to the Developer Program License Agreement for free apps
Does this mean that once I sign the agreement, I can't update my free app in the general store?
Other Questions:
Can there be free apps and custom apps submitted under the same iTunes Connect account?
Is code signing requirement different for a custom B2B app than app store app. Ex: different kind of distribution certificate?
If code-signing requirement is not different, can the same binary (same bundle id/version number) be uploaded under different iTunes Connect account – one as a free app and the other as a custom app?
The section you have quoted refers to the legal agreement you have signed. Once you have signed the Paid App agreement, you can't "unsign" it and revert to the Free App agreement.
It does not refer to the types of apps you can distribute. You can distribute both free and paid apps under the Paid App agreement.
In answer to your other questions:
If your custom app is absolutely identical to the one you are proposing to offer as a custom app, then you may not even need a custom app; the company can use Apple Business Manager and their MDM to obtain your free app and push it to their users. You do, however, need to consider what would happen if some other organisation distributed your app via an MDM; would your customisation "activate" and would that cause a problem?