We've recently added the Timing class as well as payment_timing attributes to Person and Debt and timing arguments to various methods. Since these are used so extensively, and are particularly useful for generic methods like max_inflows, consider adding a default_timing (or just timing?) attribute to Account, or perhaps even to Ledger (since Person and many SubForecast classes also use this).
Alternatively, add it to a subclass of Ledger (e.g. TransactionLedger? TimedLedger?) so that classes can selectively decide whether to inherit this functionality. (Perhaps not the best way to go, since most inherit from TaxSource, which doesn't necessarily require transaction timing information.)
We've recently added the
Timing
class as well aspayment_timing
attributes toPerson
andDebt
andtiming
arguments to various methods. Since these are used so extensively, and are particularly useful for generic methods likemax_inflows
, consider adding adefault_timing
(or justtiming
?) attribute toAccount
, or perhaps even toLedger
(sincePerson
and manySubForecast
classes also use this).Alternatively, add it to a subclass of
Ledger
(e.g.TransactionLedger
?TimedLedger
?) so that classes can selectively decide whether to inherit this functionality. (Perhaps not the best way to go, since most inherit fromTaxSource
, which doesn't necessarily require transaction timing information.)