diff --git a/_static/accounting.css b/_static/accounting.css index 6dc8780c6..ce4145c9b 100644 --- a/_static/accounting.css +++ b/_static/accounting.css @@ -36,11 +36,9 @@ li > p { /* P&L & Balance Sheet columns */ .accounts-table > div > div { flex: 1; - padding: 5px; - margin: 5%; - - border: 3px solid #666; + margin: 0 5% 5% 5%; + border: 2px solid #666; border-radius: 3px; } diff --git a/_static/chart-of-accounts.js b/_static/chart-of-accounts.js index 3e63e959a..43490c0f5 100644 --- a/_static/chart-of-accounts.js +++ b/_static/chart-of-accounts.js @@ -151,36 +151,38 @@ var ASSETS = { code: 1, label: "Assets", - CASH: { code: 10000, label: "Cash" }, - ACCOUNTS_RECEIVABLE: { code: 12000, label: "Accounts Receivable" }, - STOCK: { code: 14000, label: "Stock" }, - BUILDINGS: { code: 17100, label: "Buildings" }, - DEPRECIATION: { code: 18100, label: "Accumulated Depreciation" }, - TAXES_PAID: { code: 19000, label: "Taxes Paid" } + BANK: { code: 11000, label: "Cash" }, + ACCOUNTS_RECEIVABLE: { code: 13100, label: "Accounts Receivable" }, + STOCK_OUT: { code: 14600, label: "Temporary Inventory Output" }, + STOCK: { code: 14000, label: "Inventory" }, + STOCK_IN: { code: 14700, label: "Inventory Purchases" }, + BUILDINGS: { code: 17200, label: "Buildings" }, + DEPRECIATION: { code: 17800, label: "Accumulated Depreciation" }, + TAXES_PAID: { code: 19000, label: "Deferred Tax Assets" } }; var LIABILITIES = { code: 2, label: "Liabilities", - NOTES_PAYABLE: { code: 20100, label: "Notes Payable" }, ACCOUNTS_PAYABLE: { code: 21000, label: "Accounts Payable" }, - TAXES_PAYABLE: { code: 29000, label: "Taxes Payable" } + DEFERRED_REVENUE: { code: 22300, label: "Deferred Revenue" }, + TAXES_PAYABLE: { code: 26200, label: "Deferred Tax Liabilities" } }; var EQUITY = { code: 3, label: "Equity", - CAPITAL: { code: 30000, label: "Owner's Capital" } + CAPITAL: { code: 31000, label: "Common Stock" } }; var REVENUE = { code: 4, label: "Revenue", - SALES: { code: 40000, label: "Sales" } + SALES: { code: 41000, label: "Goods" }, + SALES_SERVICES: { code: 42000, label: "Services" } }; var EXPENSES = { code: 5, label: "Expenses", - PURCHASES: { code: 50000, label: "Purchases" }, - GOODS_SOLD: { code: 55000, label: "Cost of Revenue" }, - DEPRECIATION: { code: 58100, label: "Depreciation Expenses" } + GOODS_SOLD: { code: 51100, label: "Cost of Goods Sold" }, + DEPRECIATION: { code: 52500, label: "Other Operating Expenses" } }; var categories = Immutable.fromJS([ASSETS, LIABILITIES, EQUITY, REVENUE, EXPENSES]); var accounts = categories.toSeq().flatMap(function (cat) { @@ -199,17 +201,18 @@ }); var sale = 100, - cor = sale / 2, + cor = 50, + cor_tax = cor * 0.09, tax = sale * 0.09, total = sale + tax, - refund = sale * 0.1, + refund = sale, refund_tax = refund * 0.09, - purchase = 80, - purchase_tax = 80 * 0.09; + purchase = 52, + purchase_tax = 52 * 0.09; var operations = Immutable.fromJS([{ label: "Company Incorporation (Initial Capital $1,000)", operations: [ - {account: ASSETS.CASH.code, debit: constant(1000)}, + {account: ASSETS.BANK.code, debit: constant(1000)}, {account: EQUITY.CAPITAL.code, credit: constant(1000)} ] }, { @@ -218,12 +221,18 @@ {account: ASSETS.ACCOUNTS_RECEIVABLE.code, debit: constant(total)}, {account: EXPENSES.GOODS_SOLD.code, debit: constant(cor)}, {account: REVENUE.SALES.code, credit: constant(sale)}, - {account: ASSETS.STOCK.code, credit: constant(cor)}, + {account: ASSETS.STOCK_OUT.code, credit: constant(cor)}, {account: LIABILITIES.TAXES_PAYABLE.code, credit: constant(tax)} ] + }, { + label: "Goods Shipment to Customer", + operations: [ + {account: ASSETS.STOCK_OUT.code, debit: constant(cor)}, + {account: ASSETS.STOCK.code, credit: constant(cor)} + ] }, { id: 'refund', - label: "Customer Refund 10%", + label: "Customer Refund", operations: [ {account: REVENUE.SALES.code, debit: constant(refund)}, {account: LIABILITIES.TAXES_PAYABLE.code, debit: constant(refund_tax)}, @@ -232,7 +241,7 @@ }, { label: "Customer Payment", operations: [ - {account: ASSETS.CASH.code, debit: function (ops) { + {account: ASSETS.BANK.code, debit: function (ops) { var refund_op = operations.find(function (op) { return op.get('id') === 'refund'; }); @@ -250,17 +259,31 @@ }} ] }, { - label: "Supplier Bill", + label: "Supplier Goods Received (Purchase Order: $50)", operations: [ - {account: EXPENSES.PURCHASES.code, debit: constant(purchase)}, + {account: ASSETS.STOCK_IN.code, credit: constant(cor)}, + {account: ASSETS.STOCK.code, debit: constant(cor)}, + ] + }, { + label: "Supplier Bill (Invoice: $50)", + operations: [ + {account: ASSETS.STOCK_IN.code, debit: constant(cor)}, + {account: ASSETS.TAXES_PAID.code, debit: constant(cor_tax)}, + {account: LIABILITIES.ACCOUNTS_PAYABLE.code, credit: constant(cor + cor_tax)}, + ] + }, { + label: "Supplier Bill (Invoice: $52 but PO $50)", + operations: [ + {account: ASSETS.STOCK.code, debit: constant(purchase-cor)}, + {account: ASSETS.STOCK_IN.code, debit: constant(cor)}, {account: ASSETS.TAXES_PAID.code, debit: constant(purchase_tax)}, {account: LIABILITIES.ACCOUNTS_PAYABLE.code, credit: constant(purchase + purchase_tax)}, ] }, { - label: "Supplier Bill Paid", + label: "Supplier Bill Paid ($52 + 9% tax)", operations: [ {account: LIABILITIES.ACCOUNTS_PAYABLE.code, debit: constant(purchase + purchase_tax)}, - {account: ASSETS.CASH.code, credit: constant(purchase + purchase_tax)} + {account: ASSETS.BANK.code, credit: constant(purchase + purchase_tax)} ] }, { label: "Acquire a building (purchase contract)", @@ -273,7 +296,7 @@ label: "Pay for building", operations: [ {account: LIABILITIES.ACCOUNTS_PAYABLE.code, debit: constant(3300)}, - {account: ASSETS.CASH.code, credit: constant(3300)} + {account: ASSETS.BANK.code, credit: constant(3300)} ] }, { label: "Yearly Asset Depreciation (10% per year)", @@ -281,6 +304,20 @@ {account: EXPENSES.DEPRECIATION.code, debit: constant(300)}, {account: ASSETS.DEPRECIATION.code, credit: constant(300)} ] + }, { + label: "Customer Invoice (3 years service contract, $300)", + operations: [ + {account: ASSETS.ACCOUNTS_RECEIVABLE.code, debit: constant(total*3)}, + {account: LIABILITIES.DEFERRED_REVENUE.code, credit: constant(sale*2)}, + {account: REVENUE.SALES_SERVICES.code, credit: constant(sale)}, + {account: LIABILITIES.TAXES_PAYABLE.code, credit: constant(tax*3)} + ] + }, { + label: "Revenue Recognition (second year service contract)", + operations: [ + {account: LIABILITIES.DEFERRED_REVENUE.code, debit: constant(sale)}, + {account: REVENUE.SALES_SERVICES.code, credit: constant(sale)}, + ] }, { id: 'pay_taxes', label: "Pay Taxes Due", @@ -297,7 +334,7 @@ return acc + op.get('credit', zero)(ops) - op.get('debit', zero)(ops); }, 0); }}, - {account: ASSETS.CASH.code, credit: function (ops) { + {account: ASSETS.BANK.code, credit: function (ops) { return operations.find(function (op) { return op.get('id') === 'pay_taxes'; }).getIn(['operations', 0, 'debit'])(ops); diff --git a/_static/entries.js b/_static/entries.js index 8a2cc73ad..d92a459c1 100644 --- a/_static/entries.js +++ b/_static/entries.js @@ -24,7 +24,6 @@ var _this = this; return React.DOM.div( null, - "Example journal entries: ", entries.map(function (entry, index) { return React.DOM.label( { @@ -116,146 +115,176 @@ var entries = Immutable.fromJS([ { - title: "Company Founding", + title: "Company Incorporation", operations: [ - {account: 'Cash', debit: 10000}, - {account: 'Common Stock', credit: 10000} + {account: 'Assets: Cash', debit: 1000}, + {account: 'Equity: Common Stock', credit: 1000} ], explanation: [ - "The founders invest capital in the company", - "That capital is a debt of the company towards the founders", - "It is represented as shares into the ownership of the company", - "It is not a liability because it's not expected to be settled" + "The company receives $1,000 in cash", + "Shares worth of $1,000 belong to the founders" ], configuration: [] }, { - title: "Buy work tooling (immediate cash payment)", + title: "Customer Invoice ($100 + 9% tax)", operations: [ - {account: 'Tooling', debit: 3000}, - {account: 'Cash', credit: 3000} + {account: 'Revenue: Goods', credit: 100}, + {account: 'Liabilities: Deferred Tax Liabilities', credit: 9}, + {account: 'Assets: Accounts Receivable', debit: 109}, + {account: 'Assets: Inventory', credit: 50}, + {account: 'Expenses: Cost of Goods Sold', debit: 50} ], explanation: [ - "One asset (cash) is traded for an other asset (tooling)", - "No new liabilities incurred", - "Long-term assets are not expended immediately" + "Revenues increase by $100", + "A tax to pay at the end of the month of $9", + "The customer owns you $109", + "The inventory is decreased by $50 (shipping of the goods)", + "The cost of goods sold decreases the gross profit by $50" ], - configuration: [] + configuration: [ + "Revenue: defined on the product, or the product category if not on the product, field Income Account", + "Defered Tax Liabilities: defined on the tax used on the invoice line", + "Accounts Receivable: defined on the customer (property)", + "Inventory: defined on the category of the related product (property)", + "Expenses: defined on the product, or the category of product (property)", + null, + "The fiscal position used on the invoice may have a rule that replaces the Income Account or the tax defined on the product by another one." + ] }, { - title: "Buy work tooling (invoiced, to pay later)", + title: "Reception of Goods - perpetual inventory", operations: [ - {account: 'Tooling', debit: 3000}, - {account: 'Accounts Payable', credit: 3000} + {account: 'Assets: Uninvoiced Inventory', debit: 48}, + {account: 'Assets: Inventory', credit: 48}, ], explanation: [ - "An asset can be acquired through a liability", - "Trade credits are short-term debts between businesses" + "Inventory is increased by $48, the expected amount coming from the purchase order", + "A temporary account is used for the counterpart and will be cleared when receiving the invoice" ], - configuration: [] + configuration: [ + "Uninvoiced Inventory: defined on the product or the category of related product, field: Stock Input Account", + "Inventory: defined on the product category, field: Stock Valuation", + null, + "In this scenario, the purchase order is at $48, but the invoice the company will receive later will be at $50 (extra shipping costs)." + ] + }, { + title: "Customer Invoice ($100 + 9% tax) - perpetual inventory", + operations: [ + {account: 'Revenue: Goods', credit: 100}, + {account: 'Liabilities: Deferred Tax Liabilities', credit: 9}, + {account: 'Assets: Accounts Receivable', debit: 109}, + {account: 'Assets: Uninvoiced Inventory', credit: 48}, + {account: 'Assets: Inventory', credit: 2}, + {account: 'Expenses: Cost of Goods Sold', debit: 50} + ], + explanation: [ + "Revenues increase by $100", + "A tax to pay at the end of the month of $9", + "The customer owns you $109", + "The inventory is decreased by $2 ($48 has already been posted)", + "The temporary account (Uninvoiced Inventory) is cleared", + "The cost of goods sold decrease the gross profit by $50" + ], + configuration: [ + "Revenue Goods: defined on the product, or the product category if not on the product, field: Income Account", + "Defered Tax Liabilities: defined on the tax used on the invoice line", + "Accounts Receivable: defined on the customer (property)", + "Inventory: defined on the category of the related product: Price Difference", + "Uninvoiced Inventory: defined on the product or the category of the related product: Stock Input Account", + "Expenses: defined on the product, or the category of product (property)", + null, + "The fiscal position used on the invoice may have a rule that replaces the Income Account or the tax defined on the product by another one." + ] + }, { + title: "Customer payment", + operations: [ + {account: 'Assets: Cash', debit: 109}, + {account: 'Assets: Accounts Receivable', credit: 109} + ], + explanation: [ + "The company receives $109 in cash", + "The customer owns you $109 less" + ], + configuration: [ + "Cash: defined on the journal used when registering the payment, fields Default Credit Account and Default Debit Account", + "Accounts Receivable: defined on the customer (property)" + ] + }, { + title: "Buy an asset ($300,000 - no tax)", + operations: [ + {account: 'Assets: Buildings', debit: 300000}, + {account: 'Liabilities: Accounts Payable', credit: 300000} + ], + explanation: [ + "The company gets an asset worth of $300,000", + "The company needs to pay $300,000 to the vendor (traded an asset against a liability)" + ], + configuration: [ + "Buildings: Defined on the Asset category selected on the supplier bill line", + "Accounts Payable: defined on the supplier related to the bill (property)" + ] }, { title: "Pay supplier invoice", operations: [ - {account: 'Accounts Payable', debit: 3000}, - {account: 'Cash', credit: 3000} + {account: 'Liabilities: Accounts Payable', debit: 300000}, + {account: 'Assets: Cash', credit: 300000} ], explanation: [ - "Liabilities must be settled", - "Settling a liability is an outflow of resources (assets)" + "The company owns $300,000 less to the supplier (liabilities are settled)", + "The company's cash is reduced by $300,000 (reduction of asset)" ], - configuration: [] + configuration: [ + "Accounts Payable: defined on the supplier you pay (property)", + "Cash: defined on the journal related to the payment method" + ] }, { - title: "Cash sale (paid immediately)", + title: "Cash sale (Sales Receipt)", operations: [ - {account: 'Cash', debit: 100}, - {account: 'Sales', credit: 100} - ], - explanation: [], - configuration: [] - }, { - title: "Invoiced sale (trade credit)", - operations: [ - {account: 'Accounts Receivable', debit: 1000}, - {account: 'Sales', credit: 1000} + {account: 'Assets: Cash', debit: 109}, + {account: 'Revenue: Goods', credit: 100}, + {account: 'Liabilities: Deferred Tax Liabilities', credit: 9} ], explanation: [ - "A sale is revenue", - "What a client owes is an asset" + "Company's cash is increased by $109", + "Revenues increase by $100", + "A tax of $9 has to be paid" ], - configuration: [] + configuration: [ + "Cash: Payment method defined on the Sales Receipt", + "Sales: Defined on the product used in the sales receipt, or the category of product if empty", + "Deferred Tax Liabilities: Defined on the tax used in the sales receipt (coming from the product)" + ] }, { - title: "Customer pays invoice", + title: "Customer pays invoice, 5% early payment rebate", operations: [ - {account: 'Cash', debit: 1000}, - {account: 'Accounts Receivable', credit: 1000} + {account: 'Assets: Cash', debit: 950}, + {account: 'Revenue: Sales Discount', debit: 50}, + {account: 'Assets: Accounts Receivable', credit: 1000} ], explanation: [ - "The customer owes less", - "The bank account increases", - "A client paying an invoice is a financial movement from one asset to an other", + "Company's cash is increased by $950", + "Sales discounts lowering effective revenues by $50", + "The customer owns $1000 less to the company" ], - configuration: [] + configuration: [ + "Cash: is defined on the journal related to the payment / bank statement", + "Sales Discount: is selected during the payment matching process", + "Accounts Receivable: is defined on the customer associated to the payment" + ] }, { - title: "Customer pays invoice, 10% early payment rebate", + title: "Fiscal year closing — positive earnings and 50% dividends", operations: [ - {account: 'Cash', debit: 900}, - {account: 'Sales Discount', debit: 100}, - {account: 'Accounts Receivable', credit: 1000} + {account: 'Net Profit', debit: 1000}, + {account: 'Equity: Retained Earnings', credit: 500}, + {account: 'Liabilities: Dividend Payable', credit: 500} ], explanation: [ - "Sales discounts are contra revenues", - "They are negative revenues, lowering effective revenue", - "They are not expenses" + "The P&L is cleared (net profit)", + "50% is transferred to retained earnings", + "50% will be paid to shareholders as dividends" ], - configuration: [] - }, { - title: "Cash sale with tax", - operations: [ - {account: 'Cash', debit: 109}, - {account: 'Sales', credit: 100}, - {account: 'Taxes Payable', credit: 9} - ], - explanation: [ - "Selling with tax means there is tax to pay", - "Tax to pay is a liability" - ], - configuration: [] - }, { - title: "Fiscal year cloture — positive earnings and 50% dividends", - operations: [ - {account: 'Revenue', debit: 5000}, - {account: 'Income Summary', credit: 5000}, - null, - {account: 'Income Summary', debit: 4000}, - {account: 'Expenses', credit: 4000}, - null, - {account: 'Income Summary', debit: 1000}, - {account: 'Retained Earnings', credit: 1000}, - null, - {account: 'Retained Earnings', debit: 500}, - {account: 'Dividend Payable', credit: 500} - ], - explanation: [ - "Closing a fiscal year means transferring all P&L accounts to retained earnings", - "If the retained earnings account is positive, a dividend may be paid to owners/shareholders", - ], - configuration: [] - }, { - title: "Fiscal year cloture — negative earnings and dividend irrelevant", - operations: [ - {account: 'Revenue', debit: 5000}, - {account: 'Income Summary', credit: 5000}, - null, - {account: 'Income Summary', debit: 6000}, - {account: 'Expenses', credit: 6000}, - null, - {account: 'Retained Earnings', debit: 1000}, - {account: 'Income Summary', credit: 1000} - ], - explanation: [ - "Dividends are paid from a positive retained earnings account", - "Net losses will lower retained earnings", - "Dividends may still be paid if the account is positive because of previous years" - ], - configuration: [] + configuration: [ + "This transaction is recorded by the advisor before closing the fiscal year, depending on how the company uses its net profit." + ] } ]); }()); diff --git a/_themes/odoodoc/static/style.css b/_themes/odoodoc/static/style.css index 079d7a3b4..4dbcbc6e2 100644 --- a/_themes/odoodoc/static/style.css +++ b/_themes/odoodoc/static/style.css @@ -6621,7 +6621,6 @@ div.section > h1 { div.section > h2 { padding-bottom: 9px; margin: 40px 0 20px; - border-bottom: 1px solid #eeeeee; font-size: 36px; padding-top: 20px; margin-top: 0; diff --git a/index.rst b/index.rst index 3942b6ad3..d33332e70 100644 --- a/index.rst +++ b/index.rst @@ -6,57 +6,55 @@ Accounting Memento For Entrepreneurs .. rst-class:: intro-list -* .. rst-class:: intro-p-l +.. rst-class:: intro-p-l - The **Profit and Loss** (P&L) report shows the performance of the company - over a specific period (usually the current year). +The **Profit and Loss** (P&L) report shows the performance of the company +over a specific period (usually the current year). - * .. rst-class:: intro-gross-profit +* .. rst-class:: intro-gross-profit - The **Gross Profit** equals the revenues from sales minus the cost of - goods sold. + The **Gross Profit** equals the revenues from sales minus the cost of + goods sold. - * .. rst-class:: intro-opex +* .. rst-class:: intro-opex - **Operating Expenses** (OPEX) include admininstration, sales and R&D - salaries as well as rent and utilities, miscellaneous costs, insurances, … - anything beyond the costs of products sold. + **Operating Expenses** (OPEX) include administration, sales and R&D + salaries as well as rent and utilities, miscellaneous costs, insurances, … + anything beyond the costs of products sold. -* .. rst-class:: intro-balance +.. rst-class:: intro-balance - The **Balance Sheet** is a snapshot of the company's finances at a specific - date (as opposed to the Profit and Loss which is an analysis over a period) +The **Balance Sheet** is a snapshot of the company's finances at a specific +date (as opposed to the Profit and Loss which is an analysis over a period) - * .. rst-class:: intro-assets +* .. rst-class:: intro-assets - **Assets** represent the company's wealth, things it owns. Fixed assets - includes building and offices, current assets include bank accounts and - cash. A client owing money is an asset. An employee is not an asset. + **Assets** represent the company's wealth, things it owns. Fixed assets + includes building and offices, current assets include bank accounts and + cash. A client owing money is an asset. An employee is not an asset. - * .. rst-class:: intro-liabilities +* .. rst-class:: intro-liabilities - **Liabilities** are obligations from past events resulting in future use - or transfer of current assets (utility bills, debts, unpaid suppliers). + **Liabilities** are obligations from past events that the company will have to pay in the future (utility bills, debts, unpaid suppliers). - * .. rst-class:: intro-equity +* .. rst-class:: intro-equity - **Equity** the amount of the funds contributed by the owners (founders or - shareholders) plus previously retained retained earnings (or losses). + **Equity** is the amount of the funds contributed by the owners (founders or + shareholders) plus previously retained earnings (or losses). -A difference is made between buying an assets (e.g. a building) and expenses -(e.g. fuel). Assets have an intrinsic value over time, versus expenses having -value in them being consumed for the company to "work". - -Assets have necessarily been financed via liabilities or equity: a company can -buy work space through profits, debts or injected capital (fund raising). .. h:div:: force-right accounts-table .. placeholder -What is owned (assets) has been financed through debts to reimburse +What is owned (an asset) has been financed through debts to reimburse (liabilities) or equity (profits, capital). +A difference is made between buying an assets (e.g. a building) and expenses +(e.g. fuel). Assets have an intrinsic value over time, versus expenses having +value in them being consumed for the company to "work". + + .. rst-class:: force-right .. highlights:: Assets = Liabilities + Equity @@ -64,18 +62,19 @@ What is owned (assets) has been financed through debts to reimburse Chart of Accounts ================= -The **chart of accounts** lists all the accounts used by the company, whether -they are balance sheet accounts or P&L accounts. Every financial transaction -(e.g. a payment, an invoice) impacts accounts by moving value from one account -(credit) to an other account (debit). +The **chart of accounts** lists all the accounts, whether they are balance +sheet accounts or P&L accounts. Every financial transaction (e.g. a payment, an +invoice) impacts accounts by moving value from one account (credit) to an other +account (debit). .. h:div:: force-right + .. highlights:: Balance = Debit - Credit + .. h:div:: chart-of-accounts .. placeholder - .. highlights:: Balance = Debit - Credit Journal Entries =============== @@ -121,38 +120,32 @@ to the sum of all its credits. - Bank Account: defined on the related bank journal - Account Receivable: defined on the customer + Reconciliation ============== -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. +Reconciliation is the process of linking journal items of a specific account, +matching credits and debits. -It's thus easy to know how much was sold (by tallying the income account) and -how the company is still owed overall (receivables) but not how much a -specific client owes or which specific invoices are still unpaid (in order to -send reminders for instance). +Its primary purpose is to link payments to their related invoices in order to +mark invoices that are paid and clear the customer statement. This is done by +doing a reconciliation on the *Accounts Receivable* account. -Reconciliation is the process of correlating and linking journal items, -matching the credits and debits of a specific account: +An invoice is marked as paid when its Accounts Receivable journal items are +reconciled with the related payment journal items. -* within a single account, look for all non-reconciled items (usually with a - specific second party, e.g. all operations on *Accounts Receivable* - concerning the same client) -* link debiting items with crediting items, each side (debiting and crediting) - can have multiple items. +Reconciliation is performed automatically by the system when: + +* the payment is registered directly on the invoice +* the link between the payment and the invoice is detected at the bank matching + process -The system can then use reconciliation to automatically mark invoices as paid -(or partially paid), prepare and send reminders, flag accounting issues, … .. rst-class:: force-right Example ------- -Reconciling on *Accounts Receivable* with all operations involving that -specific customer will result in: - .. rst-class:: table-condensed d-c-table +-------------------------+-------------------------+-------------------------+ @@ -175,63 +168,3 @@ specific customer will result in: |Total To Pay |50 | | +-------------------------+-------------------------+-------------------------+ -Bank Reconciliation -------------------- - -Bank reconciliation is the process of finding and explaining the differences -between the bank statements provided by banks and the company's own -accounting. It is used to both import the bank's operations into the internal -books (e.g. banking or overdraft fees) and discover issues (missing records, -checks not passed to banks, operation inversions, …). - -There are two main ways to perform bank reconciliation: - -Intermediate account -~~~~~~~~~~~~~~~~~~~~ - -Bank statements can be encoded in a dedicated "bank" account, which is then -reconciled normally. - -.. h:div:: force-right - - * encode a check being sent: - - .. rst-class:: table-condensed d-c-table - - +--------------------+-----+------+ - | |Debit|Credit| - +====================+=====+======+ - |Accounts Payable |121 | | - +--------------------+-----+------+ - |Emitted Checks | |121 | - +--------------------+-----+------+ - - * get the bank statement and encode it: - - .. rst-class:: table-condensed d-c-table - - +-----------------+-----+------+ - | |Debit|Credit| - +=================+=====+======+ - |Emitted Checks |121 | | - +-----------------+-----+------+ - |Bank | | 121 | - +-----------------+-----+------+ - - * reconcile on the Emitted Checks account, it is a normal reconciliation - process between two journal items - -Bank reconciliation -~~~~~~~~~~~~~~~~~~~ - -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 -operation (bank transfer, check, payment notification) is immediately encoded -to a journal entry and when the bank statement is received its entries are -correlated to the previously encoded entries. - -In that case, the bank statement does not generate entries, it only points -to/validates previously created entries. - -.. note:: In Odoo, that would be Pay Invoice -> Import Bank Statement, only - added to master mid-january.