So, the current task is to write a program to convert data provided by another company from format "A" (their internal format) to format "C" (our internal format).
The original plan was that the other company would provide the data in industry-standard format "B", and we would write a converter from "B" to "C". Four weeks of development later, we've got a program that does that flawlessly. However, it turns out that when faced with real-world data (as opposed to test data), the other company's converter produces a dialect of format "B" that is human-readable, but not easily machine-readable.
I estimate that it would take eight to twelve weeks of trial-and-error programming to adapt the software to this dialect of format "B", with no advantage towards importing anyone else's data (the original reason for using an "A" to "B" to "C" conversion chain). In contrast, writing a direct "A" to "C" converter would take about three weeks.
However, my boss wants to go with adapting the existing converter on the grounds that we've already spent four weeks on it, a classic example of the sunk-cost fallacy. How do I communicate this to him?