# Account declarations mockups
# not compatible with existing ledger/beancount syntax, just notes
# cf #217

account   # settings inherited by all accounts
 nosubs   # by default disallow undeclared subaccounts

account assets
 asset          # assets and its subaccounts are asset accounts, by default

account liabilities
 liability      # this and subs are liability accounts

account expenses
 expense        # these are expense accounts

account revenues
 revenue        # revenue (income) accounts

account equity
 equity         # equity accounts

account other assets   # a special account, not one of the standard types

# a shorter way to set the above account types. 
# The first five account names are the A/L/R/E/Q roots.
account-roots assets  liabilities  revenues  expenses  equity  other assets

account assets:personal:bank:wells fargo:checking
 real           # this is a real-world account
 virtualsubs    # subs are allowed, and will be considered virtual accounts

account assets:personal:bank:wells fargo:checking:  # any subs of checking
 virtual                                            # will be considered virtual

account assets:personal:bank:wells fargo:checking:* # using simple wild cards
 virtual

account assets:personal:bank:wells fargo:checking:.* # using regexps
 virtual

account assets:personal:bank:wells fargo:savings
 real virtualsubs                             # multiple keywords on one line

account assets:personal:bank:wells fargo:savings2
 real, virtualsubs                            # comma separator ?

account assets:business:bank:wells fargo:business checking
 virtualsubs

account assets:personal:bank:wells fargo:business savings
 virtualsubs

account liabilities:personal:tax:federal:2014

account expenses:personal:food
account expenses:personal:food:dining
account expenses:personal:food:groceries
account expenses:personal:food:snacks



######################################################################
# v2 2015/7

The optional `accounts` directive defines the valid high-level
accounts for all subsequent transactions (until another accounts
directive). Usually there is one of these at the start of a journal.
Accounts are written in short indented form, similar to a tree-mode
balance report.

accounts
 assets
 liabilities
 equity
 income
 expenses

Subaccounts of the listed accounts are permitted, but not siblings.
In this example, assets:checking:food would be permitted but
assets:cheking would not.

accounts
 assets
  checking
  cash
 liabilities
  credit card
 equity
 income
 expenses

With the `only` modifier, subaccounts are not permitted, so only the
exact accounts listed are valid.

accounts
 assets
  checking
  savings
  cash
 liabilities
  credit card
 equity
 income
  salary
 expenses
  food
  home
  transport
  health
  insurance
  recreation
  travel
  tax

The order in which accounts are listed determines their display order in reports.

The first five top-level accounts are assumed to represent the
standard top-level accounting categories: assets, liabilities, equity,
income (revenue) and expenses.
