There is no general problem. There is the act of doing business between parties. You do this across N relationships. You have N vendor contacts. You document them. You deal with them. This is what working with someone is like! Of course after doing the same thing 3 or 4 times you might understand some patterns, but even if you don't totally factor it out you'll at least have a general pattern.
The point is you don't write the is_holiday function, you might write "is_jp_govt_holiday" or "is_mufj_bank_holiday" (though really it might be more "is_mufj_bank_transfer_csv_acceptance_day" or whatever), that might look at "is_jp_govt_holiday". You write functions to their contexts, in a specific way. This lets you write "hacks" that aren't hacks when you get the specific email. A bunch of tiny, specific functions calling other tiny, specific functions.
5-word functions might look gnarly but they will be specific, and you got the magic of autocomplete to save you some typing.
The point is you don't write the is_holiday function, you might write "is_jp_govt_holiday" or "is_mufj_bank_holiday" (though really it might be more "is_mufj_bank_transfer_csv_acceptance_day" or whatever), that might look at "is_jp_govt_holiday". You write functions to their contexts, in a specific way. This lets you write "hacks" that aren't hacks when you get the specific email. A bunch of tiny, specific functions calling other tiny, specific functions.
5-word functions might look gnarly but they will be specific, and you got the magic of autocomplete to save you some typing.