code: def due(self):
          
          invoice_charges = Charge.objects.filter(invoice=self)
          invoice_transactions = Transaction.successful.filter(invoice=self)
          return total_amount(invoice_charges) - total_amount(invoice_transactions)
docs: The amount due for this invoice. Takes into account all entities in the invoice.
          Can be < 0 if the invoice was overpaid.