This needs to be something like:

```
headings = [sheet.cell(0, i).value for i in range(sheet.ncols)]
```

otherwise adding or removing items from `settings.AIRTIME_VOUCHER_FILE_FORMAT` will break the check. That will probably allow you to combine these two checks into one.

I would also improve the error messages, e.g. `"Invalid file format. Headers should be %r" % service_settings.FILE_FORMAT`.