class NettableAccount(Account):
"""`NettableAccount` is an account that may have associated contra accounts.
If an account has associated contra accounts, the account name will
need to change to *resulting_name* after netting of associated contra accounts is complete.
For exasmple `sales` account name may change to comething like `net_sales`.
If *resulting_name* is `None`, then there are no contra accounts to be netted.
"""
resulting_name: Optional[AccountName]
class ContraAccount(Account):
counterpart_name: AccountName
https://github.com/epogrebnyak/abacus/blob/1f3030c49e3541f0f0a5cf3447296fcfbc82aa04/abacus/accounts.py#L73-L81