These pages say exactly which report to run and which columns carry the events that decide whether your ledger is right.
One CSV covers everything: fills, expirations, assignments, exercises and the cash settlement of index options.
The default Flex Query hides the events that matter. Two sections have to be switched on or an assigned put arrives as a closing buy at a price of zero.
thinkorswim, Schwab and Robinhood follow. Their fills already parse; what is not yet verified is how each one words an expiration and a settlement row, and that is confirmed against a real file rather than guessed.