epogrebnyak / abacus

A small yet valid double-entry accounting system in Python and command line.
https://epogrebnyak.github.io/abacus/
GNU General Public License v3.0
59 stars 4 forks source link

reflect gains and losses and other comprehensive income #78

Open epogrebnyak opened 9 months ago

epogrebnyak commented 9 months ago
Accounts Temporary aggregate in intermediate account Permanently accumulate in capital account
revenue, expenses earnings_summary re (retained earnings)
gains, losses oci_summary aoci (accumulated other compehensive income)

https://www.fasb.org/Page/Document?pdf=Concepts_Statement_8-Chapter_4-Elements.pdf&title=CONCEPTS%20STATEMENT%20NO.%208%E2%80%94CONCEPTUAL%20FRAMEWORK%20FOR%20FINANCIAL%20REPORTING%E2%80%94CHAPTER%204,%20ELEMENTS%20OF%20FINANCIAL%20STATEMENTS

https://minfin.gov.ru/ru/perfomance/accounting/accounting/standart/positions/

epogrebnyak commented 9 months ago

Pulling re:

Same for pulling aoci

epogrebnyak commented 9 months ago
class Role:
  equity_account: str
  summary_account: str
  collects: list[str]

There should be two roles Role("re", "earnings_summary") and Role("aoci", "oci_summary") where collects covers all of income and expense accounts.

ChartDict -> (Role, Role) -> Journal Journal -> (Role, Role) -> [ClosingEntry] -> Journal -> IncomeStatement Journal -> (Role, Role) -> [ClosingEntry] -> Journal -> BalanceSheet

epogrebnyak commented 9 months ago

Maybe should add account subtype, eg. income, expense, oci_accounts, oce_accounts.