It depends on what you define in the header file. If for example you have some type or macro definitions that need to be accessed both by the sum.c functions and external files, then you need to include it everywhere.
You may also want to have two header files per source file. A private one, included only by sum.c. This will contain things only needed by sum.c functions and the purpose of it is to increase code readability.
The second "public" header file will contain the things needed by callers of the sum.c functions. You don't need to include this in the sum.c file.