fundamental terms used for plain text accounting
The following terms are fundamental to understanding
pta(1) and are used
consistently throughout the documentation:
- account entry
- A record containing the following fields:
- a four-digit unsigned integer
- an integer in the range from 1 to 12
- an integer in the range from 1 to 31, typically used for the day of
- a string which does not need to be unique, typically used for booking
identifiers or booking numbers
- a floating point number, with the currency always being the same
- a string, typically used to state the purpose or the business
Account entries are used to describe all sorts of values
(assets, liabilities, and equity) and payments (both incoming and
outgoing). They can represent anything that has a well-defined monetary
- A list of account entries, ordered chronologically. Each account is
uniquely identified by an unsigned integer number called the account
number. Use accounts to collect entries that serve a common purpose.
Accounts can represent assets (e.g. cash in the wallet, bank accounts,
invoices issued to customers, stocks of goods, real estate, business
equipment, securities, and so on), liabilities (e.g. credit card accounts,
invoices received that need to be paid, and so on), equity (e.g.
outstanding shares), revenues (e.g. for services rendered, for goods sold,
or interest received), and expenses (e.g. for goods bought, for travel
costs, or for interest paid).
Define such accounts as are meaningful for the purpose of the
specific bookkeeping in question. Many standardized systems of accounts
exist; using one of them may help clarity and consistency, but it is not
required. Even when using a standardized system of accounts, it is
typically sufficient to define and use only a small subset of the
accounts specified by the standard.
The meaning of the sign certainly needs getting used to:
||meaning of the
||property owned has negative sign
||property owned has positive sign
||debt owed has positive sign
||incoming payments have positive sign
||outgoing payments have negative sign
Accounts are defined in
and the content of accounts can be displayed with
- journal entry
- A record containing the same fields as an account entry, but two account
numbers in addition, called the “debit account” and the
“credit account”, always cited in this order. A journal
entry describes an elementary business transaction, in the sense that it
subtracts the amount from the debit account and adds the same amount the
credit account. For example, when paying off a debt, the debit account
would typically be a liability account (subtracting something there means
reducing the debt) and the credit account would typically be an asset
account, usually a bank account (adding something there corresponds to
reducing the bank balance).
Creating a journal entry implicitly creates a corresponding
account entry on the debit account, inverting the sign of the amount,
and another corresponding account entry on the credit account, with the
amount having the same sign as in the journal entry. Consequently,
creating a journal entry always leaves the sum of all accounts constant,
and since that sum starts at zero, it always remains zero.
Complex business transactions — for example purchases
including sales tax or buying items of diverse kinds in a single
transaction — are typically represented using multiple journal
- A list of journal entries, ordered chronologically. It is typically used
to represent all business transactions that occurred during one accounting
period, typically during one year.
The format of the journal file is documented in
- A subaccount is a subset of the account entries of an account. Each
subaccount is uniquely identified by the pair (account number, subaccount
name). For example, an account for fruits might contain subaccounts for
apples and oranges. Currently, subaccounts cannot be divided further. For
example, a sub-subaccount for Granny Smith within the subaccount for
apples is not supported.
While accounts need to be predefined in the file
accounts.txt before they can be used in the
journal, an important advantage of subaccounts is that they can be used
spontaneously. As soon as at least one account entry is associated with
a subaccount, that subaccount exists.
An account entry can either be part of exactly one subaccount,
or it can be outside all subaccounts. For example, a shipment containing
both apples and oranges should probably be split into two entries, such
that each entry can be associated with the appropriate subaccount. On
the other hand, a surprise shipment of martian lichen leaves the choice
of either booking it without specifying any subaccount, for example
because such exotic merchandise is not expected to arrive again, or of
creating a subaccount for martian lichen on the spot.
The content of subaccounts can be displayed with
- A cost center is a set of journal entries. Consequently, while a
subaccount is restricted to one single account, a cost center always spans
multiple accounts. Use cost centers to track the balances of parts of the
bookkeeping separately. For example, if a company has a number of branch
stores, one might create a cost center for each branch store and another
one for the head office. As another example, if a company has a number of
very different product lines, one might create one cost center for each
product line. There is no rigid prescription how cost centers can be used;
any set of journal entries can be defined as a cost center. Currently,
cost centers need to be disjunct and cannot be subdivided.
Cost centers are also used to manage financial investments.
Create one cost center for each security, and book all related
transactions to that cost center, including purchases, sells, payments
of interest or dividend, surcharges, fees, and taxes. This allows
tracking the performance of each security individually.
Account lists and balance sheets for cost centers can be
displayed with pta(1)
-c, and profits and losses can be shown with