Currently, all Invoice subclasses reassign self.data before exporting their internal dataframes. This reassignment is done mostly because each invoice only needs to export certain columns. While this step does not change the internal dataframe's data, and has no unwanted side effects, it's presence still raises unwanted ambiguity, and goes against our belief that the Invoice subclasses should not modify their given dataframes.
Currently, all
Invoice
subclasses reassignself.data
before exporting their internal dataframes. This reassignment is done mostly because each invoice only needs to export certain columns. While this step does not change the internal dataframe's data, and has no unwanted side effects, it's presence still raises unwanted ambiguity, and goes against our belief that theInvoice
subclasses should not modify their given dataframes.