Here is my suggestion:
Service layer:
watching for file
read file content
submit data to data layer
moving file to complete folder
Data layer:
verify data
store data
This is the simplest case (remember KISS).
If you need the logic for processing the file elsewhere you can add a third domain service layer.
Service layer:
watch for file
invoke domain service layer
Domain service layer:
read file content
submit data to data layer
move file to complete folder
Data layer:
verify data
store data