Extremely long if-or-or statement just feel wrong
Sure. Put this into a function, eg. "isCompanyName". This function can be easily commented and written in separate lines.

 if (heading.ToLower().Contains("organisation")
     return true;

 if (heading.ToLower().StartsWith("address.") &amp;&amp;
   heading.ToLower().EndsWith(".surname")))
     return true;


And so on. This allows to comment the separate cases and maybe explain what they are doing. It's also easy to modify. You can also put things like heading.ToLower() in a variable to save space.