reports.aging_schedule

Represents amounts oustanding to/from suppliers/clients, grouped by their age.

Module Contents

Classes

AgingSchedule

This class displays the outstanding balances for recievables and payables categorised by how long they have been outstanding.

class reports.aging_schedule.AgingSchedule(session, account_type: python_accounting.models.Account.AccountType, end_date: datetime.datetime = None)

This class displays the outstanding balances for recievables and payables categorised by how long they have been outstanding.

brackets

Categories of ages in days and their labels.

{
    current (int): Days in the current bracket. Defaults to 30.
    31 - 90 days (int): Days in the quarter bracket. Defaults to 90.
    91 - 180 days (int): Days in the half year bracket. Defaults to 180.
    181 - 270 days (int): Days in the three quarters bracket. Defaults to 270.
    271 - 365 days (int): Days in the whole year bracket. Defaults to 365.
    365+ Bad Debts (int): Days in the year plus bracket. Defaults to 1000000000 (infinity).
}
Type:

(dict)

balances: dict

The total outstanding amounts per age bracket.

{
    current (Decimal): Balances not yet due.
    31 - 90 days (Decimal): Balances outstanding for up to 90 days.
    91 - 180 days (Decimal): Balances outstanding for up to 180 days.
    181 - 270 days (Decimal): Balances outstanding for up to 270 days.
    271 - 365 days (Decimal): Balances outstanding for up to 365 days.
    365+ Bad Debts (Decimal): Balances over a year old.
}
Type:

(dict)

accounts: list

The Account who’s outsanding transactions constitue the balances.

Type:

(list)

account_type

(Account.AccountType.RECEIVABLE|Account.AccountType.PAYABLE): The Account type to get aged balances for. Can only be Receivable or Payable.

end_date: datetime.datetime

The latest transaction date for Transaction amounts to be included in the balances.

Type:

(datetime)

__repr__() str

Return repr(self).

_allocate_balances(transactions: list, account: python_accounting.models.Account) None