When a company works with a vendor that develops some functionality at the same time, it is as important to mange how this external workflow is integrated with the internal, as to manage the internal workflow itself.
It is advice that the vendor itself manages it's own internal workflow as described in the Internal Workflow section.
One option to manage this situation is for the vendor to work in a different branch.
This option is also recommended for big developments that are going to take a couple of months to develop.
The idea is to create a new clone of the main repository, and name it differently. Develop in that branch for as long as needed without updating it. And when development is done, try to update it.
It is very likely that some conflicts will rise and it will be necessary to do a manual merge.