Loading...
 
Skip to main content

History: Accounting

Source of version: 4 (current)

Copy to clipboard
            ^ There is now a native [//doc.tiki.org/Accounting|Accounting] feature in Tiki so more work on this profile is unlikely. ^


Set up accounting trackers, first with necessary permission, categories and groups, then the counterparty and transactions trackers, and finally sample data and main accounting page.
{maketoc}
!! Set Permissions
{CODE(caption=>YAML,wrap=>1)}
permissions:
 Acctg-view:
  description: May view items in the accounting feature
  include: [ Registered ]
 Acctg-edit:
  description: May edit items in the accounting feature
  include: [ Registered ]
preferences:
 enable: [ feature_trackers, feature_categories ]
{CODE}

!! Create Categories 
''These categories serve as accounts to book transactions to, or account groupings (which you typically wouldn't book transactions to). Top level is the Accounting grouping and under that the main financial statement categories like Revenues and Expenses.''
{CODE(caption=>YAML)}
objects:
 -
  type: category
  ref: accounting
  data:
   name: Accounting
   description: Base category used for accounts and account categories for the accounting feature
 -
  type: category
  ref: revenues
  data:
   name: Revenues
   parent: $accounting
   description: Revenue accounts
 -
  type: category
  ref: expenses
  data:
   name: Expenses
   parent: $accounting
   description: Expense accounts
 -
  type: category
  ref: donations
  data:
   name: Donations
   parent: $revenues
   description: Donations received
   items: 
 -
  type: category
  ref: memberships
  data:
   name: Memberships
   parent: $revenues
   description: Membership fees received
 -
  type: category
  ref: travel
  data:
   name: Travel
   parent: $expenses
   description: Travel expenses
 -
  type: category
  ref: airfare
  data:
   name: Air Fare
   parent: $travel
   description: Air fare ticket cost
{CODE}

!! Create Counterparty List Tracker
''Used for dropdown list in the Transactions tracker''
{CODE(caption=>YAML,wrap=>1)}
objects:
 -
  type: tracker
  ref: ctparty_list
  data:
   name: Counterparties
   description: List of counterparty names used in the Accounting feature to identify customers, vendors, members, donors, etc., who have made or received payments.
   default_status: open
   show: [ creation_date ]
   allow: [ comments, attachments ]
 -
  type: tracker_field
  ref: ctparty_name
  data:
   name: Counterparty
   description: Counterparty name
   tracker: $ctparty_list
   type: text_field
   options: 0,20,,,30,y
   flags: [ mandatory, list, link, searchable, public ]
   order: 10
 -
  type: tracker_field
  ref: ctparty_notes
  data:
   name: Notes
   description: Notes about the counterparty
   tracker: $ctparty_list
   type: a
   options: 1,80,5,200,50,,n
   flags: [ list, searchable, public ]
   order: 20

{CODE}

!! Create Transactions Tracker
''The central part of the feature where all transactions are recorded.''
{CODE(caption=>YAML,wrap=>1)}
objects:
 -
  type: tracker
  ref: transactions
  data:
   name: Transactions
   description: Record financial transactions for your organization, such as receipts, payments and accruals.
   default_status: open
   show: [ creation_date ]
   allow: [ comments, attachments ]
 -
  type: tracker_field
  ref: trans_id
  data:
   name: ID
   description: Auomatic ID number for each entry
   tracker: $transactions
   type: auto_increment
   options: 1
   flags: [ mandatory, list, link, searchable, public ]
   order: 5
 -
  type: tracker_field
  ref: trans_journal
  data:
   name: Journal ID
   description: Journal entry number. Groups multiple entries together for double-entry accounting.
   tracker: $transactions
   type: numeric
   options: ,7
   flags: [ searchable, public ]
   order: 10
 -
  type: tracker_field
  ref: trans_date
  data:
   name: Date
   description: Date of transaction
   tracker: $transactions
   type: calendar
   options: d
   flags: [ list, searchable, public ]
   order: 15
 -
  type: tracker_field
  ref: trans_counterparty
  data:
   name: Counterparty
   description: Counterparty to the transaction
   tracker: $transactions
   type: item_link
   options: $profileobject:ctparty_list$,$profileobject:ctparty_name$
   flags: [ mandatory, list, searchable, public ]
   order: 20
 -
  type: tracker_field
  ref: trans_amount
  data:
   name: Amount
   description: Amount of transaction
   tracker: $transactions
   type: currency
   options: ,,,,fr_CA,CAD
   flags: [ mandatory, list, link, searchable, public ]
   order: 25
 -
  type: tracker_field
  ref: trans_desc
  data:
   name: Description
   description: Short description of transaction
   tracker: $transactions
   type: text_field
   options: 0,30,,,100,y
   flags: [ list, searchable, public ]
   order: 30
 -
  type: tracker_field
  ref: trans_account
  data:
   name: Account
   description: Account to record the transaction in
   tracker: $transactions
   type: category
   options: $profileobject:accounting$,d,,1
   flags: [ mandatory, list, searchable, public ]
   order: 35

 {CODE}
!! Add Sample Counterparties
{CODE(caption=>YAML,wrap=>1)}
objects:
 -
  type: tracker_item
  ref: abc
  data:
   tracker: $ctparty_list
   status: open
   values:
    - [ $ctparty_name, "ABC Airline" ]
    - [ $ctparty_notes, "Airline used for overseas flights" ]
 -
  type: tracker_item
  ref: xyz
  data:
   tracker: $ctparty_list
   status: open
   values:
    - [ $ctparty_name, "XYZ Company" ]
    - [ $ctparty_notes, "Generous supporter" ]
{CODE}

!! Create Main Page

Includes the page ((Accounting_Main_Page))

{CODE(caption=>YAML)}
instructions: Accounting Main Page
preferences:
  enable: [ feature_wiki ]
objects:
  -
    type: wiki_page
    ref:  acctg_main_page
    data:
      name: Accounting Main Page
      description: View and edit transactions and counterparties 
      lang: en
      content: wikicontent:Accounting_Main_Page
{CODE}