From 5299abc2413c0cbe5b195f9a454741b9a50dfe64 Mon Sep 17 00:00:00 2001 From: Xavier Morel Date: Tue, 3 Mar 2015 10:23:26 +0100 Subject: [PATCH] [CHG] FP changes, todos --- _static/chart-of-accounts.js | 67 ++++++++---- _static/entries.js | 34 +++--- _themes/odoodoc/static/style.css | 159 +++++++++++++-------------- _themes/odoodoc/static/style.less | 5 +- images/accounts.png | Bin 60306 -> 0 bytes index.rst | 172 +++++++++++++++--------------- 6 files changed, 240 insertions(+), 197 deletions(-) delete mode 100644 images/accounts.png diff --git a/_static/chart-of-accounts.js b/_static/chart-of-accounts.js index 63e6e80bf..b4f1cdf51 100644 --- a/_static/chart-of-accounts.js +++ b/_static/chart-of-accounts.js @@ -144,26 +144,35 @@ var ASSETS = { code: 1, label: "Assets", - CASH: { code: 10100, label: "Cash" }, - ACCOUNTS_RECEIVABLE: { code: 12100, label: "Accounts Receivable" } + CASH: { code: 10000, label: "Cash" }, + ACCOUNTS_RECEIVABLE: { code: 12000, label: "Accounts Receivable" }, + BUILDINGS: { code: 17100, label: "Buildings" }, + DEPRECIATION: { code: 18100, label: "Accumulated Depreciation" } }; var LIABILITIES = { code: 2, label: "Liabilities", + NOTES_PAYABLE: { code: 20100, label: "Notes Payable" }, ACCOUNTS_PAYABLE: { code: 21000, label: "Accounts Payable" }, - TAXES_PAYABLE: { code: 23100, label: "Taxes Payable" } + TAXES_PAYABLE: { code: 24000, label: "Taxes Payable" } + }; + var EQUITY = { + code: 3, + label: "Equity", + CAPITAL: { code: 30000, label: "Owner's Capital" } }; var REVENUE = { code: 4, label: "Revenue", - SALES: { code: 40100, label: "Sales" } + SALES: { code: 40000, label: "Sales" } }; var EXPENSES = { code: 5, label: "Expenses", - PURCHASES: { code: 50100, label: "Purchases" } + PURCHASES: { code: 50000, label: "Purchases" }, + DEPRECIATION: { code: 58100, label: "Depreciation Expenses" } }; - var categories = Immutable.fromJS([ASSETS, LIABILITIES, REVENUE, EXPENSES]); + var categories = Immutable.fromJS([ASSETS, LIABILITIES, EQUITY, REVENUE, EXPENSES]); var accounts = categories.toSeq().flatMap(function (cat) { return Immutable.Seq.of(cat.set('level', 0)).concat(cat.filter(function (v, k) { return k.toUpperCase() === k; @@ -185,17 +194,23 @@ refund = sale * 0.1, purchase = 80; var operations = Immutable.fromJS([{ + label: "Company Incorporation (Initial Capital $1,000)", + operations: [ + {account: ASSETS.CASH.code, debit: constant(1000)}, + {account: EQUITY.CAPITAL.code, credit: constant(1000)} + ] + }, { label: "Customer Invoice ($100 + 9% tax)", operations: [ - {account: ASSETS.ACCOUNTS_RECEIVABLE.code, debit: function () { return total; }}, - {account: REVENUE.SALES.code, credit: function () { return sale; }}, - {account: LIABILITIES.TAXES_PAYABLE.code, credit: function () { return tax; }} + {account: ASSETS.ACCOUNTS_RECEIVABLE.code, debit: constant(total)}, + {account: REVENUE.SALES.code, credit: constant(sale)}, + {account: LIABILITIES.TAXES_PAYABLE.code, credit: constant(tax)} ] }, { label: "Customer Refund 10%", operations: [ - {account: REVENUE.SALES.code, debit: function () { return refund; }}, - {account: ASSETS.ACCOUNTS_RECEIVABLE.code, credit: function () { return refund; }} + {account: REVENUE.SALES.code, debit: constant(refund)}, + {account: ASSETS.ACCOUNTS_RECEIVABLE.code, credit: constant(refund)} ] }, { label: "Customer Payment", @@ -212,23 +227,37 @@ }} ] }, { - label: "Supplier Invoice", + label: "Supplier Bill", operations: [ - {account: EXPENSES.PURCHASES.code, debit: function () { return purchase; }}, - {account: LIABILITIES.ACCOUNTS_PAYABLE.code, credit: function () { return purchase; }} + {account: EXPENSES.PURCHASES.code, debit: constant(purchase)}, + {account: LIABILITIES.ACCOUNTS_PAYABLE.code, credit: constant(purchase)} ] }, { - label: "Supplier Invoice Paid", + label: "Supplier Bill Paid", operations: [ - {account: LIABILITIES.ACCOUNTS_PAYABLE.code, debit: function () { return purchase; }}, - {account: ASSETS.CASH.code, credit: function () { return purchase; }} + {account: LIABILITIES.ACCOUNTS_PAYABLE.code, debit: constant(purchase)}, + {account: ASSETS.CASH.code, credit: constant(purchase)} + ] + }, { + label: "Buy and pay a building (an asset)", + operations: [ + {account: ASSETS.BUILDINGS.code, debit: constant(3000)}, + {account: LIABILITIES.NOTES_PAYABLE.code, credit: constant(2500)}, + {account: ASSETS.CASH.code, credit: constant(500)} + ] + }, { + label: "Yearly Asset Depreciation (10% per year)", + operations: [ + {account: EXPENSES.DEPRECIATION.code, debit: constant(300)}, + {account: ASSETS.DEPRECIATION.code, credit: constant(300)} ] }, { label: "Pay Taxes Due", operations: [ - {account: LIABILITIES.TAXES_PAYABLE.code, debit: function () { return tax; }}, - {account: ASSETS.CASH.code, credit: function () { return tax; }} + {account: LIABILITIES.TAXES_PAYABLE.code, debit: constant(tax)}, + {account: ASSETS.CASH.code, credit: constant(tax)} ] } ]); + function constant(val) {return function () { return val; };} })(); diff --git a/_static/entries.js b/_static/entries.js index bd0df866f..58a94be0f 100644 --- a/_static/entries.js +++ b/_static/entries.js @@ -25,19 +25,23 @@ return React.DOM.div( null, "Example journal entries: ", - React.DOM.select( - { - value: entries.indexOf(this.props.entry), - onChange: function (e) { - data.reset(entries.get(e.target.value)); - } - }, - entries.map(function (entry, index) { - return React.DOM.option( - {key: index, value: index}, - entry.get('title') - ); - }).toArray()), + entries.map(function (entry, index) { + return React.DOM.label( + { + key: index, + style: { display: 'block' }, + }, + React.DOM.input({ + type: 'radio', + checked: Immutable.is(entry, this.props.entry), + onChange: function (e) { + data.reset(entry); + } + }), + ' ', + entry.get('title') + ); + }, this).toArray(), this.props.entry && React.DOM.p(null, this.props.entry.get('help')) ); } @@ -89,13 +93,13 @@ {account: 'Common Stock', credit: 10000} ] }, { - title: "Buy work tooling", + title: "Buy work tooling (immediate cash payment)", operations: [ {account: 'Tooling', debit: 3000}, {account: 'Cash', credit: 3000} ] }, { - title: "Buy work tooling (invoiced)", + title: "Buy work tooling (invoiced, to pay later)", operations: [ {account: 'Tooling', debit: 3000}, {account: 'Accounts Payable', credit: 3000} diff --git a/_themes/odoodoc/static/style.css b/_themes/odoodoc/static/style.css index 985c9d1dd..7ca2b0264 100644 --- a/_themes/odoodoc/static/style.css +++ b/_themes/odoodoc/static/style.css @@ -6609,6 +6609,9 @@ body { dt:hover > a > .viewcode-link { display: inline; } +blockquote.highlights { + border: none; +} div.section > h1 { padding-bottom: 9px; margin: 40px 0 20px; @@ -6822,7 +6825,7 @@ td.field-body > ul { padding-right: 1em; } .stripe .section:not(.force-right) > .force-right, - .stripe .section:not(.force-right) > [class*=highlight] { + .stripe .section:not(.force-right) > [class*=highlight-] { float: none; clear: none; margin-left: 50%; @@ -6830,31 +6833,31 @@ td.field-body > ul { color: #eeeeee; } .stripe .section:not(.force-right) > .force-right legend, - .stripe .section:not(.force-right) > [class*=highlight] legend { + .stripe .section:not(.force-right) > [class*=highlight-] legend { color: inherit; } .stripe .section:not(.force-right) > .force-right input, - .stripe .section:not(.force-right) > [class*=highlight] input { + .stripe .section:not(.force-right) > [class*=highlight-] input { color: inherit; background-color: #555555; } .stripe .section:not(.force-right) > .force-right a, - .stripe .section:not(.force-right) > [class*=highlight] a { + .stripe .section:not(.force-right) > [class*=highlight-] a { color: #d9a8cc; } .stripe .section:not(.force-right) > .force-right code, - .stripe .section:not(.force-right) > [class*=highlight] code, + .stripe .section:not(.force-right) > [class*=highlight-] code, .stripe .section:not(.force-right) > .force-right .literal, - .stripe .section:not(.force-right) > [class*=highlight] .literal { + .stripe .section:not(.force-right) > [class*=highlight-] .literal { color: #f9f2f4; background-color: #555555; } .stripe .section:not(.force-right) > .force-right:not(.highlight-json) .highlight, - .stripe .section:not(.force-right) > [class*=highlight]:not(.highlight-json) .highlight { + .stripe .section:not(.force-right) > [class*=highlight-]:not(.highlight-json) .highlight { border-bottom-color: #777777; } .stripe .section:not(.force-right) > .force-right.admonition, - .stripe .section:not(.force-right) > [class*=highlight].admonition { + .stripe .section:not(.force-right) > [class*=highlight-].admonition { margin-left: 51%; width: 49%; border-top-color: #777777; @@ -6862,7 +6865,7 @@ td.field-body > ul { border-right-color: #777777; } .stripe .section:not(.force-right) > .force-right .highlight, - .stripe .section:not(.force-right) > [class*=highlight] .highlight { + .stripe .section:not(.force-right) > [class*=highlight-] .highlight { border-color: #555555; border-style: solid; border-width: 1px 0; @@ -6940,281 +6943,281 @@ td.field-body > ul { /* Literal.Number.Integer.Long */ } .stripe .section:not(.force-right) > .force-right .highlight .lineno, - .stripe .section:not(.force-right) > [class*=highlight] .highlight .lineno { + .stripe .section:not(.force-right) > [class*=highlight-] .highlight .lineno { color: #586e75; } .stripe .section:not(.force-right) > .force-right .highlight .c, - .stripe .section:not(.force-right) > [class*=highlight] .highlight .c { + .stripe .section:not(.force-right) > [class*=highlight-] .highlight .c { color: #586e75; } .stripe .section:not(.force-right) > .force-right .highlight .err, - .stripe .section:not(.force-right) > [class*=highlight] .highlight .err { + .stripe .section:not(.force-right) > [class*=highlight-] .highlight .err { color: #cccccc; } .stripe .section:not(.force-right) > .force-right .highlight .g, - .stripe .section:not(.force-right) > [class*=highlight] .highlight .g { + .stripe .section:not(.force-right) > [class*=highlight-] .highlight .g { color: #cccccc; } .stripe .section:not(.force-right) > .force-right .highlight .k, - .stripe .section:not(.force-right) > [class*=highlight] .highlight .k { + .stripe .section:not(.force-right) > [class*=highlight-] .highlight .k { color: #859900; } .stripe .section:not(.force-right) > .force-right .highlight .l, - .stripe .section:not(.force-right) > [class*=highlight] .highlight .l { + .stripe .section:not(.force-right) > [class*=highlight-] .highlight .l { color: #cccccc; } .stripe .section:not(.force-right) > .force-right .highlight .n, - .stripe .section:not(.force-right) > [class*=highlight] .highlight .n { + .stripe .section:not(.force-right) > [class*=highlight-] .highlight .n { color: #cccccc; } .stripe .section:not(.force-right) > .force-right .highlight .o, - .stripe .section:not(.force-right) > [class*=highlight] .highlight .o { + .stripe .section:not(.force-right) > [class*=highlight-] .highlight .o { color: #859900; } .stripe .section:not(.force-right) > .force-right .highlight .x, - .stripe .section:not(.force-right) > [class*=highlight] .highlight .x { + .stripe .section:not(.force-right) > [class*=highlight-] .highlight .x { color: #cb4b16; } .stripe .section:not(.force-right) > .force-right .highlight .p, - .stripe .section:not(.force-right) > [class*=highlight] .highlight .p { + .stripe .section:not(.force-right) > [class*=highlight-] .highlight .p { color: #cccccc; } .stripe .section:not(.force-right) > .force-right .highlight .cm, - .stripe .section:not(.force-right) > [class*=highlight] .highlight .cm { + .stripe .section:not(.force-right) > [class*=highlight-] .highlight .cm { color: #586e75; } .stripe .section:not(.force-right) > .force-right .highlight .cp, - .stripe .section:not(.force-right) > [class*=highlight] .highlight .cp { + .stripe .section:not(.force-right) > [class*=highlight-] .highlight .cp { color: #859900; } .stripe .section:not(.force-right) > .force-right .highlight .c1, - .stripe .section:not(.force-right) > [class*=highlight] .highlight .c1 { + .stripe .section:not(.force-right) > [class*=highlight-] .highlight .c1 { color: #586e75; } .stripe .section:not(.force-right) > .force-right .highlight .cs, - .stripe .section:not(.force-right) > [class*=highlight] .highlight .cs { + .stripe .section:not(.force-right) > [class*=highlight-] .highlight .cs { color: #859900; } .stripe .section:not(.force-right) > .force-right .highlight .gd, - .stripe .section:not(.force-right) > [class*=highlight] .highlight .gd { + .stripe .section:not(.force-right) > [class*=highlight-] .highlight .gd { color: #2aa198; } .stripe .section:not(.force-right) > .force-right .highlight .ge, - .stripe .section:not(.force-right) > [class*=highlight] .highlight .ge { + .stripe .section:not(.force-right) > [class*=highlight-] .highlight .ge { color: #cccccc; font-style: italic; } .stripe .section:not(.force-right) > .force-right .highlight .gr, - .stripe .section:not(.force-right) > [class*=highlight] .highlight .gr { + .stripe .section:not(.force-right) > [class*=highlight-] .highlight .gr { color: #dc322f; } .stripe .section:not(.force-right) > .force-right .highlight .gh, - .stripe .section:not(.force-right) > [class*=highlight] .highlight .gh { + .stripe .section:not(.force-right) > [class*=highlight-] .highlight .gh { color: #cb4b16; } .stripe .section:not(.force-right) > .force-right .highlight .gi, - .stripe .section:not(.force-right) > [class*=highlight] .highlight .gi { + .stripe .section:not(.force-right) > [class*=highlight-] .highlight .gi { color: #859900; } .stripe .section:not(.force-right) > .force-right .highlight .go, - .stripe .section:not(.force-right) > [class*=highlight] .highlight .go { + .stripe .section:not(.force-right) > [class*=highlight-] .highlight .go { color: #cccccc; } .stripe .section:not(.force-right) > .force-right .highlight .gp, - .stripe .section:not(.force-right) > [class*=highlight] .highlight .gp { + .stripe .section:not(.force-right) > [class*=highlight-] .highlight .gp { color: #cccccc; } .stripe .section:not(.force-right) > .force-right .highlight .gs, - .stripe .section:not(.force-right) > [class*=highlight] .highlight .gs { + .stripe .section:not(.force-right) > [class*=highlight-] .highlight .gs { color: #cccccc; font-weight: bold; } .stripe .section:not(.force-right) > .force-right .highlight .gu, - .stripe .section:not(.force-right) > [class*=highlight] .highlight .gu { + .stripe .section:not(.force-right) > [class*=highlight-] .highlight .gu { color: #cb4b16; } .stripe .section:not(.force-right) > .force-right .highlight .gt, - .stripe .section:not(.force-right) > [class*=highlight] .highlight .gt { + .stripe .section:not(.force-right) > [class*=highlight-] .highlight .gt { color: #cccccc; } .stripe .section:not(.force-right) > .force-right .highlight .kc, - .stripe .section:not(.force-right) > [class*=highlight] .highlight .kc { + .stripe .section:not(.force-right) > [class*=highlight-] .highlight .kc { color: #cb4b16; } .stripe .section:not(.force-right) > .force-right .highlight .kd, - .stripe .section:not(.force-right) > [class*=highlight] .highlight .kd { + .stripe .section:not(.force-right) > [class*=highlight-] .highlight .kd { color: #268bd2; } .stripe .section:not(.force-right) > .force-right .highlight .kn, - .stripe .section:not(.force-right) > [class*=highlight] .highlight .kn { + .stripe .section:not(.force-right) > [class*=highlight-] .highlight .kn { color: #859900; } .stripe .section:not(.force-right) > .force-right .highlight .kp, - .stripe .section:not(.force-right) > [class*=highlight] .highlight .kp { + .stripe .section:not(.force-right) > [class*=highlight-] .highlight .kp { color: #859900; } .stripe .section:not(.force-right) > .force-right .highlight .kr, - .stripe .section:not(.force-right) > [class*=highlight] .highlight .kr { + .stripe .section:not(.force-right) > [class*=highlight-] .highlight .kr { color: #268bd2; } .stripe .section:not(.force-right) > .force-right .highlight .kt, - .stripe .section:not(.force-right) > [class*=highlight] .highlight .kt { + .stripe .section:not(.force-right) > [class*=highlight-] .highlight .kt { color: #dc322f; } .stripe .section:not(.force-right) > .force-right .highlight .ld, - .stripe .section:not(.force-right) > [class*=highlight] .highlight .ld { + .stripe .section:not(.force-right) > [class*=highlight-] .highlight .ld { color: #cccccc; } .stripe .section:not(.force-right) > .force-right .highlight .m, - .stripe .section:not(.force-right) > [class*=highlight] .highlight .m { + .stripe .section:not(.force-right) > [class*=highlight-] .highlight .m { color: #2aa198; } .stripe .section:not(.force-right) > .force-right .highlight .s, - .stripe .section:not(.force-right) > [class*=highlight] .highlight .s { + .stripe .section:not(.force-right) > [class*=highlight-] .highlight .s { color: #2aa198; } .stripe .section:not(.force-right) > .force-right .highlight .na, - .stripe .section:not(.force-right) > [class*=highlight] .highlight .na { + .stripe .section:not(.force-right) > [class*=highlight-] .highlight .na { color: #cccccc; } .stripe .section:not(.force-right) > .force-right .highlight .nb, - .stripe .section:not(.force-right) > [class*=highlight] .highlight .nb { + .stripe .section:not(.force-right) > [class*=highlight-] .highlight .nb { color: #b58900; } .stripe .section:not(.force-right) > .force-right .highlight .nc, - .stripe .section:not(.force-right) > [class*=highlight] .highlight .nc { + .stripe .section:not(.force-right) > [class*=highlight-] .highlight .nc { color: #268bd2; } .stripe .section:not(.force-right) > .force-right .highlight .no, - .stripe .section:not(.force-right) > [class*=highlight] .highlight .no { + .stripe .section:not(.force-right) > [class*=highlight-] .highlight .no { color: #cb4b16; } .stripe .section:not(.force-right) > .force-right .highlight .nd, - .stripe .section:not(.force-right) > [class*=highlight] .highlight .nd { + .stripe .section:not(.force-right) > [class*=highlight-] .highlight .nd { color: #268bd2; } .stripe .section:not(.force-right) > .force-right .highlight .ni, - .stripe .section:not(.force-right) > [class*=highlight] .highlight .ni { + .stripe .section:not(.force-right) > [class*=highlight-] .highlight .ni { color: #cb4b16; } .stripe .section:not(.force-right) > .force-right .highlight .ne, - .stripe .section:not(.force-right) > [class*=highlight] .highlight .ne { + .stripe .section:not(.force-right) > [class*=highlight-] .highlight .ne { color: #cb4b16; } .stripe .section:not(.force-right) > .force-right .highlight .nf, - .stripe .section:not(.force-right) > [class*=highlight] .highlight .nf { + .stripe .section:not(.force-right) > [class*=highlight-] .highlight .nf { color: #268bd2; } .stripe .section:not(.force-right) > .force-right .highlight .nl, - .stripe .section:not(.force-right) > [class*=highlight] .highlight .nl { + .stripe .section:not(.force-right) > [class*=highlight-] .highlight .nl { color: #cccccc; } .stripe .section:not(.force-right) > .force-right .highlight .nn, - .stripe .section:not(.force-right) > [class*=highlight] .highlight .nn { + .stripe .section:not(.force-right) > [class*=highlight-] .highlight .nn { color: #cccccc; } .stripe .section:not(.force-right) > .force-right .highlight .nx, - .stripe .section:not(.force-right) > [class*=highlight] .highlight .nx { + .stripe .section:not(.force-right) > [class*=highlight-] .highlight .nx { color: #cccccc; } .stripe .section:not(.force-right) > .force-right .highlight .py, - .stripe .section:not(.force-right) > [class*=highlight] .highlight .py { + .stripe .section:not(.force-right) > [class*=highlight-] .highlight .py { color: #cccccc; } .stripe .section:not(.force-right) > .force-right .highlight .nt, - .stripe .section:not(.force-right) > [class*=highlight] .highlight .nt { + .stripe .section:not(.force-right) > [class*=highlight-] .highlight .nt { color: #268bd2; } .stripe .section:not(.force-right) > .force-right .highlight .nv, - .stripe .section:not(.force-right) > [class*=highlight] .highlight .nv { + .stripe .section:not(.force-right) > [class*=highlight-] .highlight .nv { color: #268bd2; } .stripe .section:not(.force-right) > .force-right .highlight .ow, - .stripe .section:not(.force-right) > [class*=highlight] .highlight .ow { + .stripe .section:not(.force-right) > [class*=highlight-] .highlight .ow { color: #859900; } .stripe .section:not(.force-right) > .force-right .highlight .w, - .stripe .section:not(.force-right) > [class*=highlight] .highlight .w { + .stripe .section:not(.force-right) > [class*=highlight-] .highlight .w { color: #cccccc; } .stripe .section:not(.force-right) > .force-right .highlight .mf, - .stripe .section:not(.force-right) > [class*=highlight] .highlight .mf { + .stripe .section:not(.force-right) > [class*=highlight-] .highlight .mf { color: #2aa198; } .stripe .section:not(.force-right) > .force-right .highlight .mh, - .stripe .section:not(.force-right) > [class*=highlight] .highlight .mh { + .stripe .section:not(.force-right) > [class*=highlight-] .highlight .mh { color: #2aa198; } .stripe .section:not(.force-right) > .force-right .highlight .mi, - .stripe .section:not(.force-right) > [class*=highlight] .highlight .mi { + .stripe .section:not(.force-right) > [class*=highlight-] .highlight .mi { color: #2aa198; } .stripe .section:not(.force-right) > .force-right .highlight .mo, - .stripe .section:not(.force-right) > [class*=highlight] .highlight .mo { + .stripe .section:not(.force-right) > [class*=highlight-] .highlight .mo { color: #2aa198; } .stripe .section:not(.force-right) > .force-right .highlight .sb, - .stripe .section:not(.force-right) > [class*=highlight] .highlight .sb { + .stripe .section:not(.force-right) > [class*=highlight-] .highlight .sb { color: #586e75; } .stripe .section:not(.force-right) > .force-right .highlight .sc, - .stripe .section:not(.force-right) > [class*=highlight] .highlight .sc { + .stripe .section:not(.force-right) > [class*=highlight-] .highlight .sc { color: #2aa198; } .stripe .section:not(.force-right) > .force-right .highlight .sd, - .stripe .section:not(.force-right) > [class*=highlight] .highlight .sd { + .stripe .section:not(.force-right) > [class*=highlight-] .highlight .sd { color: #cccccc; } .stripe .section:not(.force-right) > .force-right .highlight .s2, - .stripe .section:not(.force-right) > [class*=highlight] .highlight .s2 { + .stripe .section:not(.force-right) > [class*=highlight-] .highlight .s2 { color: #2aa198; } .stripe .section:not(.force-right) > .force-right .highlight .se, - .stripe .section:not(.force-right) > [class*=highlight] .highlight .se { + .stripe .section:not(.force-right) > [class*=highlight-] .highlight .se { color: #cb4b16; } .stripe .section:not(.force-right) > .force-right .highlight .sh, - .stripe .section:not(.force-right) > [class*=highlight] .highlight .sh { + .stripe .section:not(.force-right) > [class*=highlight-] .highlight .sh { color: #cccccc; } .stripe .section:not(.force-right) > .force-right .highlight .si, - .stripe .section:not(.force-right) > [class*=highlight] .highlight .si { + .stripe .section:not(.force-right) > [class*=highlight-] .highlight .si { color: #2aa198; } .stripe .section:not(.force-right) > .force-right .highlight .sx, - .stripe .section:not(.force-right) > [class*=highlight] .highlight .sx { + .stripe .section:not(.force-right) > [class*=highlight-] .highlight .sx { color: #2aa198; } .stripe .section:not(.force-right) > .force-right .highlight .sr, - .stripe .section:not(.force-right) > [class*=highlight] .highlight .sr { + .stripe .section:not(.force-right) > [class*=highlight-] .highlight .sr { color: #dc322f; } .stripe .section:not(.force-right) > .force-right .highlight .s1, - .stripe .section:not(.force-right) > [class*=highlight] .highlight .s1 { + .stripe .section:not(.force-right) > [class*=highlight-] .highlight .s1 { color: #2aa198; } .stripe .section:not(.force-right) > .force-right .highlight .ss, - .stripe .section:not(.force-right) > [class*=highlight] .highlight .ss { + .stripe .section:not(.force-right) > [class*=highlight-] .highlight .ss { color: #2aa198; } .stripe .section:not(.force-right) > .force-right .highlight .bp, - .stripe .section:not(.force-right) > [class*=highlight] .highlight .bp { + .stripe .section:not(.force-right) > [class*=highlight-] .highlight .bp { color: #268bd2; } .stripe .section:not(.force-right) > .force-right .highlight .vc, - .stripe .section:not(.force-right) > [class*=highlight] .highlight .vc { + .stripe .section:not(.force-right) > [class*=highlight-] .highlight .vc { color: #268bd2; } .stripe .section:not(.force-right) > .force-right .highlight .vg, - .stripe .section:not(.force-right) > [class*=highlight] .highlight .vg { + .stripe .section:not(.force-right) > [class*=highlight-] .highlight .vg { color: #268bd2; } .stripe .section:not(.force-right) > .force-right .highlight .vi, - .stripe .section:not(.force-right) > [class*=highlight] .highlight .vi { + .stripe .section:not(.force-right) > [class*=highlight-] .highlight .vi { color: #268bd2; } .stripe .section:not(.force-right) > .force-right .highlight .il, - .stripe .section:not(.force-right) > [class*=highlight] .highlight .il { + .stripe .section:not(.force-right) > [class*=highlight-] .highlight .il { color: #2aa198; } .stripe .body > .section > .section { diff --git a/_themes/odoodoc/static/style.less b/_themes/odoodoc/static/style.less index bea588932..d0c24c6f6 100644 --- a/_themes/odoodoc/static/style.less +++ b/_themes/odoodoc/static/style.less @@ -393,6 +393,9 @@ dt:hover > a > .viewcode-link { // either that or overwrite visit_attribution/depart_attribution blockquote p.attribution:extend(blockquote footer) {} +blockquote.highlights { + border: none; +} div.section > h1 { .page-header(); @@ -622,7 +625,7 @@ td.field-body { padding-right: 1em; } .section:not(.force-right) > .force-right, - .section:not(.force-right) > [class*=highlight] { + .section:not(.force-right) > [class*=highlight-] { float: none; clear: none; margin-left: 50%; diff --git a/images/accounts.png b/images/accounts.png deleted file mode 100644 index 820f519f39a8d3f513b7751ef6fe65006b722816..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 60306 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 LNkvXXu0mjfx_Us{ diff --git a/index.rst b/index.rst index f3e0598b8..821e833f2 100644 --- a/index.rst +++ b/index.rst @@ -1,143 +1,142 @@ :classes: stripe -========================================== -Understanding Accounting For Entrepreneurs -========================================== - -Financial accounting is used to know the situation of a company (its balance -sheet) and its performance (Profit and Loss, P&L). It is set up by reporting -every financial transaction in the relevant accounts of a Chart of Accounts. +==================================== +Accounting Memento For Entrepreneurs +==================================== .. rst-class:: intro-list * .. rst-class:: intro-p-l - **P&L** is always analysed on a specific period rather than since the - company's founding (e.g. 2014, Q3 2012, …). + 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 - **Gross profits** is revenues (sales, interest, royalties) minus cost of - goods sold (raw materials, storage costs, production labor costs). + The **Gross Profit** equals the revenues from sales minus the cost of goods + sold. * .. rst-class:: intro-opex - **Operating expenses** include administration, sales and R&D salaries as - well as rent and utilities, legal costs, insurance, ... anything beyond - fabrication itself. + **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. * .. rst-class:: intro-balance - The **Balance sheet** is a snapshot of the situation at a specific moment, - listing the company's assets and its liabilities at that point. + 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 - **Assets** represent the company's wealth. A person's assets would be a - house or car ("fixed" or "tangible" assets), bank accounts or cash ("liquid" - or "current" assets). For a company, a client owing money is an asset. An - employee is not an asset as it is not owned by the company (slavery being - illegal under the International Covenant on Civil and Political Rights's - article 8). + **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 **Liabilities** are obligations from past events resulting in future use or - transfer of current assets (utility bills, debts, payroll, unpaid - suppliers). + transfer of current assets (utility bills, debts, unpaid suppliers). * .. rst-class:: intro-equity - **Equity** is assets which have no liability counterpart: shares, other - stocks and surplus. + **Equity** the amount of the funds contributed by the owners (founders or + shareholders) plus previously retained 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, borrowing money or injected capital (for -shares). +buy work space through profits, debts or injected capital (fund raising). -A difference is made between assets (e.g. a building) and expenses (e.g. fuel) -in assets having intrinsic value over time, versus expenses having value in -them being consumed for the company to "work". +.. highlights:: What is owned (assets) has been financed through debts to + reimburse (liabilities) or equity (profits, capital). -.. rst-class:: force-right accounts-table +.. h:div:: force-right accounts-table -.. figure:: images/accounts.png - :align: center - - Assets = Liabilities + Equity - - What is owned has been financed through debts to reimburse or acquired - assets (profits, capical). + .. placeholder Chart of Accounts ================= 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 -(revenues and expenses), and provides their state at a given moment, generally -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 -order to better understand its state and health, and the chart of accounts can -be used to get a snapshot of a company's financial period: because it includes -P&L, a chart of accounts is also generally viewed over a specific period. +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). .. rst-class:: force-right -Balance = debit - credit +Balance = Debit - Credit ------------------------ .. h:div:: chart-of-accounts - Requires javascript + .. placeholder Journal Entries =============== -The chart of accounts displays the state of the company at a given moment -("current" or over an accounting period). +Every financial document of the company (e.g. an invoice, a bank statement, a +pay slip, a capital increase contract) is recorded as a journal entry, +impacting several accounts. -This state is the effect of the company's financial operations (being paid for -services, paying rent, receiving interests, …). These transactions are -recorded as journal entries over the course of financial periods: - -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). - -A journal entry is composed of multiple *journal items*. Journal items are -either a credit or a debit on a specific account, and journal entries are thus -composed of at least two items. +For a journal entry to be *balanced*, the sum of all its debits must be equal +to the sum of all its credits. Companies can triage entries in various journals based on their nature or context. Common journals are: -* a sales journal with all client transactions -* a purchase journal with all supplier transactions +* a sales journal with all customer invoices and refunds +* a purchase journal with all supplier bills * a bank journal for bank statements * a cash journal for cash operations .. h:div:: force-right journal-entries - examples of accounting entries for various transactions + examples of accounting entries for various transactions. Example: + + Example 1: Customer Invoice: + + Explanation: + + . You generate a revenue of $1,000 + . You have a tax to pay of $90 + . The customer owes $1,090 + + Configuration: + + . Income: defined on the product, or the product category + . Account Receivable: defined on the customer + . Tax: defined on the tax set on the invoice line + + 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. + + Example 2: Customer Payment: + + Explanation: + + . Your customer owes $1,090 less + . Your receive $1,090 on your bank account + + Configuration: + + . Bank Account: defined on the related bank journal + . Account Receivable: defined on the customer .. todo:: * help explaining what the operation is about? - * link to relevant Odoo operation? - + * use radio buttons instead of the selection box 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 and the -account operations are not correlated. +emits and the payments it receives are separate journal entries. 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 @@ -145,7 +144,7 @@ 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, -matching the credits and debits of a specific financial account: +matching the credits and debits of a specific account: * within a single account, look for all non-reconciled items (usually with a specific second party, e.g. all operations on *Accounts Receivable* @@ -172,24 +171,29 @@ specific customer will result in: +-------------------------+-------------------------+-------------------------+ |Accounts Receivable |Debit |Credit | +=========================+=========================+=========================+ -|Invoice 1 |121 | | +|Invoice 1 |100 | | +-------------------------+-------------------------+-------------------------+ -|Payment 1 | |75 | +|Payment 1.1 | |70 | +-------------------------+-------------------------+-------------------------+ -|Payment 2 (partial) | |46 | +|Invoice 2 |65 | | +-------------------------+-------------------------+-------------------------+ -| | +|Payment 1.2 | |30 | +-------------------------+-------------------------+-------------------------+ -|Invoice 2 |63 | | +|Payment 2 | |65 | +-------------------------+-------------------------+-------------------------+ -|Payment 2 | |29 | +|Invoice 3 |50 | | +-------------------------+-------------------------+-------------------------+ -|Open Balance | |34 | +| | | | ++-------------------------+-------------------------+-------------------------+ +|Total To Pay |50 | | +-------------------------+-------------------------+-------------------------+ -The reconciliation process yields the first invoice being paid in full, but -the customer having "Invoice 2" still open (it has an open balance) and an -outstanding debt of 34€. +.. todo:: + + Add a button "Reconcile", when clicked: + + - slowly hide: Invoice 2, Payment 2 + - then, slowly hide: Invoice 1, Payment 1.1, Payment 1.2 Bank Reconciliation -------------------