Bloody difficult to do
Consider a simple business object like an order form. You'd think it would be straightforward to have a canonical order form, but you very quickly land in xkcd standards country as each system, grown over decades of mergers and development, has different requirements. Some need line by line. Some need the ability to mark partially complete. Some need different currencies supported. Some need suborders, backorders, etc.
You can build up to a single source of truth field by field if all the applications can consult whatever you are using to hold the golden data, but in a large organisation you might have many, many different platforms and storage systems to work with, from mainframe to as/400 to SQL or noSQL databases to big data platforms to object storage and more.
Not easy, unless you're essentially a greenfield site.