[CHG] rewrite journals & reconciliation

This commit is contained in:
Xavier Morel 2015-02-23 16:41:05 +01:00
parent 332c70bcc6
commit caf4657408

292
index.rst
View File

@ -74,8 +74,9 @@ Chart of Accounts
The **chart of accounts** lists all the accounts used by the company, whether The **chart of accounts** lists all the accounts used by the company, whether
they are balance sheet accounts (assets and liabilities) or P&L accounts they are balance sheet accounts (assets and liabilities) or P&L accounts
(revenues and expenses), and provides their state at a given moment (their (revenues and expenses), and provides their state at a given moment, generally
credit, debit and balance). the current point of an ongoing financial period, or the state at the end of a
closed financial period.
The accounts are used to organize and classify the finances of the company in The accounts are used to organize and classify the finances of the company in
order to better understand its state and health, and the chart of accounts can order to better understand its state and health, and the chart of accounts can
@ -91,262 +92,71 @@ Balance = debit - credit
Requires javascript Requires javascript
Journals Journal Entries
======== ===============
Accounting journals record business financial transactions as *journal The chart of accounts displays the state of the company at a given moment
entries* before posting entries to account-specific ledgers. ("current" or over an accounting period).
To each financial document (invoice, bank statement, receipt, loan agreement) This state is the effect of the company's financial operations (being paid for
corresponds a *journal entry*. services, paying rent, receiving interests, …). These transactions are
recorded as journal entries over the course of financial periods:
Each journal entry is composed of multiple *journal items*. Each *journal entry* is the interaction between at least two accounts (one
being debited and the other one credited). For a journal entry to be
*balanced*, the sum of all its debits must be equal to the sum of all its
credits. A journal entry almost always corresponds to a separate justifying
document (invoice, pay slip, …; financial audits may include matching entries
to the "hard" evidence of these documents).
Each journal item represents a single change (debit or credit) to a single A journal entry is composed of multiple *journal items*. Journal items are
account. either a credit or a debit on a specific account, and journal entries are thus
composed of at least two items.
In *double-entry bookkeeping*, a journal entry must be balanced by having the Companies can triage entries in various journals based on their nature or
sum of all its debits be equal to the sum of all its credits. A journal entry context. Common journals are:
is thus composed of at least two *journal items*, a debit and a credit, and
involves at least two accounts.
Conventionally, all *debits* in journal entries are written first, with the * a sales journal with all client transactions
account name flush with their column, followed by all *credits* indented * a purchase journal with all supplier transactions
slightly (to match the position/offset of the corresponding amount * a bank journal for bank statements
column). Journal entries can include a note providing context for the * a cash journal for cash operations
transaction.
A journal entry almost always corresponds to a separate justifying document: .. h:div:: force-right journal-entries
invoice, pay slip, …. Financial audits may include matching "hard" evidence to
journal entries.
Journal entries are generally triaged into accounting journals based on their
classification or frequency. Common accounting journals are:
* Sales journals with all client transactions
* Purchase journals with supplier transactions
* Bank journals with bank statements
* Cash journals for each cash account or post
.. rst-class:: force-right
Transactions
------------
.. h:div:: journals
needs javascript
Ledgers
=======
Where journals are general transaction logs (usually contextual on transaction
type or frequency), ledgers are change logs for a single account (or as a
central repository for all account changes when it comes to *general
ledgers*).
.. todo:: is there a concept of ledger in Odoo?
Ledgers are collections of T-accounts which summarize operations affecting a
specific account. T-accounts are shaped thus because they are shaped as a T,
with debits under the left arm and all credits under the right arm of the T:
T-accounts can also be used as temporary scratch space when preparing
transactions by hand.
.. rst-class:: force-right
T-accounts for the transactions
-------------------------------
.. h:div:: t-accounts
needs javascript
Debit and credit
================
Accounting debit and credit don't necessarily match non-accountant intuition:
whether a credit may increase or decrease the amount in the account depending
on the account's nature, same for the debit: debits will increase debit
accounts and decrease credit accounts while credits will increase credit
accounts while decreasing debit accounts.
A way to find out what is debit and what is credit is to start from a known
operation.
For instance to know the entries associated to a client's invoice, remembering
that adding money to a bank account is a *debit* (in accounting terms):
* when the invoice is paid, money is added to the bank account -> debit on the
bank account
* the bank statement on payment will thus be a debit on the bank account and a
credit on the receivable
* the invoice must thus be a debit on receivable and a credit on income.
.. rst-class:: force-right
Follow the money
----------------
1. Customer Payment: Increase bank account, it's a Debit. Thus, the receivable
is a credit.
+---------------------+-----+------+
| |Debit|Credit|
+=====================+=====+======+
|Bank Account | 109 | |
+---------------------+-----+------+
|| Account Receivable| | 109 |
+---------------------+-----+------+
|| Payment by customer XXX |
+---------------------+-----+------+
2. As the invoice should compensate the receivable
+---------------------+-----+------+
| |Debit|Credit|
+=====================+=====+======+
|Account Receivable | 109 | |
+---------------------+-----+------+
|| Income | | 100 |
+---------------------+-----+------+
|| Taxes | | 9 |
+---------------------+-----+------+
|| Invoicing of customer XXX |
+---------------------+-----+------+
→ The income should be negative (a credit)
Closing Fiscal Years
====================
While the balance sheet is a snapshot of the company's situation at a specific
moment (taking in account all events since the company's founding) P&L is
always analysed over a period.
In most jurisdictions, a fiscal year is a mandatory P&L report during which
profits and losses are tallied and committed: the P&L is reset to 0, and the
net income (revenue - expenses) is either distributed to shareholders (as
*dividends*) or moved to *retained earnings*. If the company loses money,
retained earnings may be negative (aka retained losses, accumulated losses or
accumulated deficit).
E.g. if a company had 1000€ revenue and 600€ expenses it had a 400€ net
income. At FY closure the following closure operation is applied: net income
(debit 400) to retained earnings (credit 400).
.. rst-class:: force-right
Ledger for a fiscal year
------------------------
.. h:div:: fiscal-year-closing
+--------------------------+-------------------------+-------------------------+
| |Debit |Credit |
+==========================+=========================+=========================+
|Cash | 800 | |
+--------------------------+-------------------------+-------------------------+
|Accounts Receivable | 200 | |
+--------------------------+-------------------------+-------------------------+
|| Revenue | | 1000 |
+--------------------------+-------------------------+-------------------------+
|| Consolidation of revenues |
+--------------------------+-------------------------+-------------------------+
| | | |
+--------------------------+-------------------------+-------------------------+
|Revenue | 1000 | |
+--------------------------+-------------------------+-------------------------+
|| Income Summary | | 1000 |
+--------------------------+-------------------------+-------------------------+
| | | |
+--------------------------+-------------------------+-------------------------+
|Expenses | 600 | |
+--------------------------+-------------------------+-------------------------+
|| Cash | | 100 |
+--------------------------+-------------------------+-------------------------+
|| Accounts Payable | | 500 |
+--------------------------+-------------------------+-------------------------+
|| Consolidation of expenses |
+--------------------------+-------------------------+-------------------------+
| | | |
+--------------------------+-------------------------+-------------------------+
|Income Summary | 600 | |
+--------------------------+-------------------------+-------------------------+
|| Expenses | | 600 |
+--------------------------+-------------------------+-------------------------+
| | | |
+--------------------------+-------------------------+-------------------------+
|Income Summary | 400 | |
+--------------------------+-------------------------+-------------------------+
|| Retained Earnings | | 400 |
+--------------------------+-------------------------+-------------------------+
| | | |
+--------------------------+-------------------------+-------------------------+
|Retained Earnings | 200 | |
+--------------------------+-------------------------+-------------------------+
|| Dividends Payable | | 200 |
+--------------------------+-------------------------+-------------------------+
.. todo:: insert examples of accounting entries for various transactions
Reconciliation Reconciliation
============== ==============
Operations in a company's account are independent e.g. the invoices a company At a financial level, journal entries (and the corresponding operations in a
company's account) are independent from one another: the invoices a company
emits and the payments it receives are separate journal entries and the emits and the payments it receives are separate journal entries and the
account operations are not correlated. account operations are not correlated.
It's thus easy to know how much was sold (income account) and how the company It's thus easy to know how much was sold (by tallying the income account) and
is still owed overall (receivables) but not how much a specific client owes how the company is still owed overall (receivables) but not how much a
or which specific invoices are still unpaid (e.g. to send reminders). specific client owes or which specific invoices are still unpaid (in order to
send reminders for instance).
Reconciliation is the process of correlating and linking journal items, Reconciliation is the process of correlating and linking journal items,
matching the credits and debits of a specific account. matching the credits and debits of a specific account.
The reconciliation process is thus: look for non-reconciliated items for an * within a single account, look for all non-reconciled items
account, and link debits with credits, possibly with multiple items on one * link debiting items with crediting items, each side (debiting and crediting)
side. For instance a 121€ invoice (debit to the receceivable) with two can have mutliple items.
payments for 50€ and 71€ (credit to the receivable).
The system can then use reconciliation to automatically mark invoices as paid, For instance a customer could be sent two invoices for 121€ and 63€ (debits to
prepare and send reminders, flag accounting issues, … the Receivable account), and send three payments of 75€, 75€ and 34€.
The system can then use reconciliation to automatically mark invoices as paid
(or partially paid), prepare and send reminders, flag accounting issues, …
.. h:div:: force-right .. h:div:: force-right
An invoice is sent: .. todo:: show reconciliation process, use Odoo interface?
+---------------------+-------------------------+------+
| |Debit |Credit|
+=====================+=========================+======+
|Accounts Receivable |.. h:div:: arrow | |
| | | |
| | 100 | |
+---------------------+-------------------------+------+
|| Sales | |100 |
+---------------------+-------------------------+------+
|| Sale to XXX |
+------------------------------------------------------+
A payment is received:
+-------------------------+-----+-------------------------+
| |Debit|Credit |
+=========================+=====+=========================+
|Cash |90 | |
+-------------------------+-----+-------------------------+
|Rebate |10 | |
+-------------------------+-----+-------------------------+
|| Accounts Receivable | |.. h:div:: arrow |
| | | |
| | | 100 |
+-------------------------+-----+-------------------------+
|| Payment by XXX |
|| Advance payment rebate |
+---------------------------------------------------------+
Bank Reconciliation Bank Reconciliation
=================== -------------------
Bank reconciliation is the process of finding and explaining the differences Bank reconciliation is the process of finding and explaining the differences
between the bank statements provided by banks and the company's own between the bank statements provided by banks and the company's own
@ -357,38 +167,38 @@ checks not passed to banks, operation inversions, …).
There are two main ways to perform bank reconciliation: There are two main ways to perform bank reconciliation:
Intermediate account Intermediate account
-------------------- ~~~~~~~~~~~~~~~~~~~~
Bank statements can be encoded in a dedicated "bank" account, which is then Bank statements can be encoded in a dedicated "bank" account, which is then
reconciled normally. reconciled normally.
.. h:div:: force-right .. h:div:: force-right
Send a check: * encode a check being sent:
+--------------------+-----+------+ +--------------------+-----+------+
| |Debit|Credit| | |Debit|Credit|
+--------------------+-----+------+ +--------------------+-----+------+
|Accounts Payable |121 | | |Accounts Payable |121 | |
+--------------------+-----+------+ +--------------------+-----+------+
|| Emitted Checks | |121 | |Emitted Checks | |121 |
+--------------------+-----+------+ +--------------------+-----+------+
Get the bank statement and encode it: * get the bank statement and encode it:
+-----------------+-----+------+ +-----------------+-----+------+
| |Debit|Credit| | |Debit|Credit|
+-----------------+-----+------+ +-----------------+-----+------+
|Emitted Checks |121 | | |Emitted Checks |121 | |
+-----------------+-----+------+ +-----------------+-----+------+
|| Bank | | 121 | |Bank | | 121 |
+-----------------+-----+------+ +-----------------+-----+------+
Then reconcile on the Emitted Checks account, it's a normal reconciliation * reconcile on the Emitted Checks account, it is a normal reconciliation
process between two journal items. process between two journal items
Bank reconciliation Bank reconciliation
------------------- ~~~~~~~~~~~~~~~~~~~
The operation can also be implemented specifically, this is used e.g. in the The operation can also be implemented specifically, this is used e.g. in the
US. In that situation, each act having to do with a potential bank account US. In that situation, each act having to do with a potential bank account