Acho que você poderia embutir a lógica de ```get_transaction_data``` em ```append_transaction``` e fazer esta última recursiva. Assim com uns 2 ifs você colocaria tudo em um mesmo método.

O resultado prático seria o mesmo, mas acho que é uma boa prática usar recursão nesses casos. Um exemplo capenga:

    def append_transactions(self, transactions):
        if isinstance(transactions, list):
            [self.append_transactions(t) for t in transactions]
        status = to_int(transaction.get('Status'))
    ...