Filebeat maintains a registry file which contains the number of bytes read by each file.
You can write a cronjob to delete the file if the bytes read is equal to the size of the file.
On Linux, the file is present at /var/lib/filebeat/registry.
Although this is not a clean solution and it would be great if Filebeat can provide an inbuilt feature that does this.