diff --git a/_extensions/odoo/__init__.py b/_extensions/odoo/__init__.py index e2600d744..fb96c68b4 100644 --- a/_extensions/odoo/__init__.py +++ b/_extensions/odoo/__init__.py @@ -49,6 +49,27 @@ def navbarify(node, navbar=None): link.attributes['data-toggle'] = 'dropdown' # list_item.bullet_list list_item.children[1]['classes'].append('dropdown-menu') + elif navbar is None: + for n in node.traverse(nodes.reference): + # list_item + # compact_paragraph + # reference <- starting point + # bullet_list + # list_item+ + # if the current list item (GP of current node) has bullet list + # children, unref it + list_item = n.parent.parent + # only has a reference -> ignore + if len(list_item.children) < 2: + continue + # no subrefs -> ignore + if not list_item.children[1].children: + continue + # otherwise replace reference node by its own children + para = n.parent + para.remove(n) + para.extend(n.children) + def resolve_content_toctree( environment, docname, builder, toctree, prune=True, maxdepth=0, diff --git a/_extensions/odoo/layout.html b/_extensions/odoo/layout.html index df8f6db8c..8f00a4747 100644 --- a/_extensions/odoo/layout.html +++ b/_extensions/odoo/layout.html @@ -83,8 +83,7 @@ {% endif %} - {{ toctree(titles_only=True, maxdepth=2, includehidden=True, - collapse=False, navbar='main') }} + {{ toctree(titles_only=True, maxdepth=2, includehidden=True, collapse=False, navbar='main') }} @@ -99,6 +98,7 @@
{% if pagename != master_doc %}
+ {% if 'has-toc' not in meta %} -
+ {% endif %} +
{% endif %} {% block body %} {% endblock %} {% if pagename != master_doc %}
diff --git a/_extensions/odoo/static/layout.less b/_extensions/odoo/static/layout.less index bc06a40ab..c7ce372f6 100644 --- a/_extensions/odoo/static/layout.less +++ b/_extensions/odoo/static/layout.less @@ -118,6 +118,9 @@ main{ padding-left: 30px; @media (min-width: @w-size-medium) { width: 75%; + &.doc-toc { + width: 100%; + } } > *{ max-width: 100%; diff --git a/_extensions/odoo/static/style.css b/_extensions/odoo/static/style.css index 2c5c0bee1..5165680ef 100644 --- a/_extensions/odoo/static/style.css +++ b/_extensions/odoo/static/style.css @@ -8599,6 +8599,9 @@ main article.doc-body { main article.doc-body { width: 75%; } + main article.doc-body.doc-toc { + width: 100%; + } } main article.doc-body > * { max-width: 100%; diff --git a/_static/accounting.css b/_static/accounting.css index b26c967f8..ab68b580a 100644 --- a/_static/accounting.css +++ b/_static/accounting.css @@ -1,3 +1,8 @@ +/* FIXME: hack to reverse hack in theme CSS */ +main.index .toctree-wrapper > .row:first-child > .col-md-3 { + margin: 0 !important; +} + .intro-list p { margin: 0; cursor: pointer; diff --git a/_static/banners/accounting.png b/_static/banners/accounting.png new file mode 100644 index 000000000..8e82573b6 Binary files /dev/null and b/_static/banners/accounting.png differ diff --git a/_static/banners/crm.png b/_static/banners/crm.png new file mode 100644 index 000000000..e73673818 Binary files /dev/null and b/_static/banners/crm.png differ diff --git a/_static/banners/expense.png b/_static/banners/expense.png new file mode 100644 index 000000000..79e2fe452 Binary files /dev/null and b/_static/banners/expense.png differ diff --git a/_static/banners/recruitment.png b/_static/banners/recruitment.png new file mode 100644 index 000000000..3759646c7 Binary files /dev/null and b/_static/banners/recruitment.png differ diff --git a/_static/banners/warehouse.png b/_static/banners/warehouse.png new file mode 100644 index 000000000..101c7b2ca Binary files /dev/null and b/_static/banners/warehouse.png differ diff --git a/accounting.rst b/accounting.rst index 580024d03..6741943d0 100644 --- a/accounting.rst +++ b/accounting.rst @@ -1,247 +1,12 @@ -:code-column: +:banner: banners/accounting.png -============================================== -Accounting Memento For Entrepreneurs (US GAAP) -============================================== +========== +Accounting +========== -.. h:div:: intro-list +.. toctree:: + :titlesonly: - .. 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). - - * .. rst-class:: intro-gross-profit - - The **Gross Profit** equals the revenues from sales minus the cost of - goods sold. - - * .. rst-class:: intro-opex - - **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 - - 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, 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 that the company will - have to pay in the future (utility bills, debts, unpaid suppliers). - - * .. rst-class:: intro-equity - - **Equity** is the amount of the funds contributed by the owners (founders - or shareholders) plus previously retained earnings (or losses). - - .. rst-class:: intro-retained - - Each year, net profits (or losses) are reported to retained earnings. - -.. h:div:: doc-aside accounts-table - - .. placeholder - -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:: doc-aside - -.. highlights:: Assets = Liabilities + Equity - -Chart of Accounts -================= - -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:: doc-aside - - .. highlights:: Balance = Debit - Credit - - .. h:div:: chart-of-accounts - - .. placeholder - - -Journal Entries -=============== - -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. - -For a journal entry to be *balanced*, the sum of all its debits must be equal -to the sum of all its credits. - -.. h:div:: doc-aside journal-entries - - 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 - -.. _accounting/reconciliation: - -Reconciliation -============== - -Reconciliation is the process of linking journal items of a specific account, -matching credits and debits. - -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. - -An invoice is marked as paid when its Accounts Receivable journal items are -reconciled with the related payment journal items. - -Reconciliation is performed automatically by the system when: - -* the payment is registered directly on the invoice -* the links between the payments and the invoices are detected at the bank - matching process - - -.. h:div:: doc-aside reconciliation-example - - .. rubric:: Customer Statement Example - - .. rst-class:: table-condensed d-c-table - - +-------------------------+-------------------------+-----------------------+ - |Accounts Receivable |Debit |Credit | - +=========================+=========================+=======================+ - |Invoice 1 |100 | | - +-------------------------+-------------------------+-----------------------+ - |Payment 1.1 | |70 | - +-------------------------+-------------------------+-----------------------+ - |Invoice 2 |65 | | - +-------------------------+-------------------------+-----------------------+ - |Payment 1.2 | |30 | - +-------------------------+-------------------------+-----------------------+ - |Payment 2 | |65 | - +-------------------------+-------------------------+-----------------------+ - |Invoice 3 |50 | | - +-------------------------+-------------------------+-----------------------+ - | | | | - +-------------------------+-------------------------+-----------------------+ - |Total To Pay |50 | | - +-------------------------+-------------------------+-----------------------+ - - -Bank Reconciliation -=================== - -Bank reconciliation is the matching of bank statement lines (provided by your -bank) with transactions recorded internally (payments to suppliers or from -customers). For each line in a bank statement, it can be: - -matched with a previously recorded payment: - a payment is registered when a check is received from a customer, then - matched when checking the bank statement -recorded as a new payment: - the payment's journal entry is created and :ref:`reconciled - ` with the related invoice when processing the - bank statement -recorded as another transaction: - bank transfer, direct charge, etc. - -Odoo should automatically reconcile most transactions, only a few of them -should need manual review. When the bank reconciliation process is finished, -the balance on the bank account in Odoo should match the bank statement's -balance. - -.. rst-class:: checks-handling - -Checks Handling -=============== - -There are two approaches to manage checks and internal wire transfer: - -* Two journal entries and a reconciliation -* One journal entry and a bank reconciliation - -.. h:div:: doc-aside - - The first journal entry is created by registering the payment on the - invoice. The second one is created when registering the bank statement. - - .. rst-class:: table-condensed d-c-table - - +-------------------------+--------------+------------+---------------+ - |Account |Debit |Credit |Reconciliation | - +=========================+==============+============+===============+ - |Account Receivable | |100 |Invoice ABC | - +-------------------------+--------------+------------+---------------+ - |Undeposited funds |100 | |Check 0123 | - +-------------------------+--------------+------------+---------------+ - - .. rst-class:: table-condensed d-c-table - - +-------------------------+--------------+------------+---------------+ - |Account |Debit |Credit |Reconciliation | - +=========================+==============+============+===============+ - |Undeposited funds | |100 |Check 0123 | - +-------------------------+--------------+------------+---------------+ - |Bank |100 | | | - +-------------------------+--------------+------------+---------------+ - -.. h:div:: doc-aside - - A journal entry is created by registering the payment on the invoice. When - reconciling the bank statement, the statement line is linked to the - existing journal entry. - - .. rst-class:: table-condensed d-c-table - - +-------------------------+--------------+------------+---------------+---------------+ - |Account |Debit |Credit |Reconciliation |Bank Statement | - +=========================+==============+============+===============+===============+ - |Account Receivable | |100 |Invoice ABC | | - +-------------------------+--------------+------------+---------------+---------------+ - |Bank |100 | | |Statement XYZ | - +-------------------------+--------------+------------+---------------+---------------+ + accounting/overview + accounting/receivables + accounting/payables diff --git a/accounting/overview.rst b/accounting/overview.rst new file mode 100644 index 000000000..87ee41e7d --- /dev/null +++ b/accounting/overview.rst @@ -0,0 +1,11 @@ +======== +Overview +======== + +.. toctree:: + :titlesonly: + + overview/main_concepts + overview/getting_started + overview/process_overview + overview/terminologies diff --git a/accounting/overview/getting_started.rst b/accounting/overview/getting_started.rst new file mode 100644 index 000000000..a1f23559b --- /dev/null +++ b/accounting/overview/getting_started.rst @@ -0,0 +1,5 @@ +=============== +Getting Started +=============== + +(copy of planner but add screenshots) diff --git a/accounting/overview/main_concepts.rst b/accounting/overview/main_concepts.rst new file mode 100644 index 000000000..e889ac38e --- /dev/null +++ b/accounting/overview/main_concepts.rst @@ -0,0 +1,9 @@ +============= +Main Concepts +============= + +.. toctree:: + :titlesonly: + + main_concepts/in_odoo + main_concepts/memento diff --git a/accounting/overview/main_concepts/in_odoo.rst b/accounting/overview/main_concepts/in_odoo.rst new file mode 100644 index 000000000..f8dc5e594 --- /dev/null +++ b/accounting/overview/main_concepts/in_odoo.rst @@ -0,0 +1,141 @@ +========================== +The Accounting behind Odoo +========================== + +This page summarises the way Odoo deals with typical accounts and +transactions. + +Double-entry bookkeeping +======================== + +Odoo automatically creates all the behind-the-scenes journal entries +for each of your accounting transactions: customer invoices, point of +sale order, expenses, inventory moves, etc. + +Odoo uses the rules of double-entry bookkeeping system: all journal +entries are automatically balanced (sum of debits = sum of credits). + +→ Understand Odoo’s accounting transactions per document. (link to +memento) + +Accrual and Cash Basis Methods +============================== + +Odoo support both accrual and cash basis reporting. This allows you to +report income / expense at the time transactions occur, or when +payment is made or received. + +Multi-companies +=============== + +Odoo allows to manage several companies within the same database. Each +company has its own chart of accounts an rules. You can get +consolidation reports following your consolidation rules. + +Users can access several companies but always work in one company at a +time. + +Multi-currencies +================ + +Every transaction is recorded in the default currency of the +company. For transactions occurring in another currency, Odoo stores +both the value in the currency of the company and the value in the +currency of the transaction. Odoo can generate currencies gains and +losses after the reconciliation of the journal items. + +Currency rates are updated once a day using a yahoo.com online +web-service. + +International Standards +======================= + +Odoo accounting support more than 50 countries. The Odoo core +accounting implement accounting standards that is common to all +countries and specific modules exists per country for the +specificities of the country like the chart of accounts, taxes, or +bank interfaces. + +In particular, Odoo’s core accounting engine support: + +* Anglo-Saxon Accounting (U.S., U.K.,, and other English-speaking + countries including Ireland, Canada, Australia, and New Zealand) + where cost of good sold are reported when products are + sold/delivered. +* European accounting where expenses are accounted at the supplier + bill. +* Storno accounting (italy) where refund invoices have negative + credit/debit instead of a reverting the original journal items. + +Odoo also have modules to comply with IFRS rules. + +Accounts Receivable & Payable +============================= + +By default, Odoo uses a single account for all account +receivable entries and one for all accounts payable entries. You can +create separate accounts per customers/suppliers, but you don’t need +to. + +As transactions are associated to customers or suppliers, you get +reports to perform analysis per customer/supplier such as the customer +statement, revenues per customers, aged receivable/payables, ... + +Wide range of financial reports +=============================== + +In Odoo, you can generate financial reports in real time. Odoo's +reports range from basic accounting reports to advanced management +reports. Odoo's reports include: + +* Performance reports (such as Profit and Loss, Budget Variance) +* Position reports (such as Balance Sheet, Aged Payables, Aged + Receivables) +* Cash reports (such as Bank Summary) +* Detail reports (such as Trial Balance and General Ledger) +* Management reports (such as Budgets, Executive Summary) + +Odoo's report engine allows you to customize your own report based on +your own formulae. + +Import bank feeds automatically +=============================== + +Bank reconciliation is a process that matches your bank statement +lines, as supplied by the bank, to your accounting transactions in the +general ledger. Odoo makes bank reconciliation easy by frequently +importing bank statement lines from your bank directly into your Odoo +account. This means you can have a daily view of your cashflow without +having to log into your online banking or wait for your paper bank +statements. + +Odoo speeds up bank reconciliation by matching most of your imported +bank statement lines to your accounting transactions. Odoo also +remembers how you've treated other bank statement lines and provides +suggested general ledger transactions. + +Calculates the tax you owe your tax authority +============================================= + +Odoo totals all your accounting transactions for your tax period and +uses these totals to calculate your tax obligation. You can then check +your sales tax by running Odoo's Tax Report. + +Inventory Valuation +=================== + +Odoo support both periodic (manual) and perpetual (automated) +inventory valuations. The available methods are standard price, +average price, LIFO (for countries allowing it) and FIFO. + +→ View impact of the valuation method on your transactions (link to +memento) + +Easy retained earnings +====================== + +Retained earnings is the portion of income retained by your +business. Odoo automatically calculates your current year earnings in +real time so no year-end journal or rollover is required. This is +calculated by reporting the profit and loss balance to your balance +sheet report automatically. diff --git a/accounting/overview/main_concepts/memento.rst b/accounting/overview/main_concepts/memento.rst new file mode 100644 index 000000000..580024d03 --- /dev/null +++ b/accounting/overview/main_concepts/memento.rst @@ -0,0 +1,247 @@ +:code-column: + +============================================== +Accounting Memento For Entrepreneurs (US GAAP) +============================================== + +.. h:div:: intro-list + + .. 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). + + * .. rst-class:: intro-gross-profit + + The **Gross Profit** equals the revenues from sales minus the cost of + goods sold. + + * .. rst-class:: intro-opex + + **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 + + 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, 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 that the company will + have to pay in the future (utility bills, debts, unpaid suppliers). + + * .. rst-class:: intro-equity + + **Equity** is the amount of the funds contributed by the owners (founders + or shareholders) plus previously retained earnings (or losses). + + .. rst-class:: intro-retained + + Each year, net profits (or losses) are reported to retained earnings. + +.. h:div:: doc-aside accounts-table + + .. placeholder + +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:: doc-aside + +.. highlights:: Assets = Liabilities + Equity + +Chart of Accounts +================= + +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:: doc-aside + + .. highlights:: Balance = Debit - Credit + + .. h:div:: chart-of-accounts + + .. placeholder + + +Journal Entries +=============== + +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. + +For a journal entry to be *balanced*, the sum of all its debits must be equal +to the sum of all its credits. + +.. h:div:: doc-aside journal-entries + + 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 + +.. _accounting/reconciliation: + +Reconciliation +============== + +Reconciliation is the process of linking journal items of a specific account, +matching credits and debits. + +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. + +An invoice is marked as paid when its Accounts Receivable journal items are +reconciled with the related payment journal items. + +Reconciliation is performed automatically by the system when: + +* the payment is registered directly on the invoice +* the links between the payments and the invoices are detected at the bank + matching process + + +.. h:div:: doc-aside reconciliation-example + + .. rubric:: Customer Statement Example + + .. rst-class:: table-condensed d-c-table + + +-------------------------+-------------------------+-----------------------+ + |Accounts Receivable |Debit |Credit | + +=========================+=========================+=======================+ + |Invoice 1 |100 | | + +-------------------------+-------------------------+-----------------------+ + |Payment 1.1 | |70 | + +-------------------------+-------------------------+-----------------------+ + |Invoice 2 |65 | | + +-------------------------+-------------------------+-----------------------+ + |Payment 1.2 | |30 | + +-------------------------+-------------------------+-----------------------+ + |Payment 2 | |65 | + +-------------------------+-------------------------+-----------------------+ + |Invoice 3 |50 | | + +-------------------------+-------------------------+-----------------------+ + | | | | + +-------------------------+-------------------------+-----------------------+ + |Total To Pay |50 | | + +-------------------------+-------------------------+-----------------------+ + + +Bank Reconciliation +=================== + +Bank reconciliation is the matching of bank statement lines (provided by your +bank) with transactions recorded internally (payments to suppliers or from +customers). For each line in a bank statement, it can be: + +matched with a previously recorded payment: + a payment is registered when a check is received from a customer, then + matched when checking the bank statement +recorded as a new payment: + the payment's journal entry is created and :ref:`reconciled + ` with the related invoice when processing the + bank statement +recorded as another transaction: + bank transfer, direct charge, etc. + +Odoo should automatically reconcile most transactions, only a few of them +should need manual review. When the bank reconciliation process is finished, +the balance on the bank account in Odoo should match the bank statement's +balance. + +.. rst-class:: checks-handling + +Checks Handling +=============== + +There are two approaches to manage checks and internal wire transfer: + +* Two journal entries and a reconciliation +* One journal entry and a bank reconciliation + +.. h:div:: doc-aside + + The first journal entry is created by registering the payment on the + invoice. The second one is created when registering the bank statement. + + .. rst-class:: table-condensed d-c-table + + +-------------------------+--------------+------------+---------------+ + |Account |Debit |Credit |Reconciliation | + +=========================+==============+============+===============+ + |Account Receivable | |100 |Invoice ABC | + +-------------------------+--------------+------------+---------------+ + |Undeposited funds |100 | |Check 0123 | + +-------------------------+--------------+------------+---------------+ + + .. rst-class:: table-condensed d-c-table + + +-------------------------+--------------+------------+---------------+ + |Account |Debit |Credit |Reconciliation | + +=========================+==============+============+===============+ + |Undeposited funds | |100 |Check 0123 | + +-------------------------+--------------+------------+---------------+ + |Bank |100 | | | + +-------------------------+--------------+------------+---------------+ + +.. h:div:: doc-aside + + A journal entry is created by registering the payment on the invoice. When + reconciling the bank statement, the statement line is linked to the + existing journal entry. + + .. rst-class:: table-condensed d-c-table + + +-------------------------+--------------+------------+---------------+---------------+ + |Account |Debit |Credit |Reconciliation |Bank Statement | + +=========================+==============+============+===============+===============+ + |Account Receivable | |100 |Invoice ABC | | + +-------------------------+--------------+------------+---------------+---------------+ + |Bank |100 | | |Statement XYZ | + +-------------------------+--------------+------------+---------------+---------------+ diff --git a/accounting/overview/process_overview.rst b/accounting/overview/process_overview.rst new file mode 100644 index 000000000..8929703dc --- /dev/null +++ b/accounting/overview/process_overview.rst @@ -0,0 +1,9 @@ +================ +Process overview +================ + +.. toctree:: + :titlesonly: + + process_overview/customer_invoice + process_overview/supplier_bill diff --git a/accounting/overview/process_overview/customer_invoice.rst b/accounting/overview/process_overview/customer_invoice.rst new file mode 100644 index 000000000..b89fe21b1 --- /dev/null +++ b/accounting/overview/process_overview/customer_invoice.rst @@ -0,0 +1,6 @@ +================================== +From Invoice to Payment Collection +================================== + +Odoo provides you easy flow to process various invoices easily and +collecting its payment with easy steps. diff --git a/accounting/overview/process_overview/supplier_bill.rst b/accounting/overview/process_overview/supplier_bill.rst new file mode 100644 index 000000000..c813fc388 --- /dev/null +++ b/accounting/overview/process_overview/supplier_bill.rst @@ -0,0 +1,9 @@ +============================== +From Billing to payment orders +============================== + +Creating Bills +============== + +You can create multiple Supplier Bills and instead of paying one by +one with direct payment button, you can pay later. diff --git a/accounting/overview/terminologies.rst b/accounting/overview/terminologies.rst new file mode 100644 index 000000000..7ea1cdefe --- /dev/null +++ b/accounting/overview/terminologies.rst @@ -0,0 +1,37 @@ +======================== +Accounting Terminologies +======================== + +.. glossary:: + + Journal + + A journal is like a folder in which you record all transactions + of the same type: all the statements of a bank account, all + customer invoices, all supplier bills. It’s used to organize + similar transactions together. + + Payment Terms + + Payment terms describe how and when a customer invoice (or + supplier bill) should be pay over the time. Example: 30% direct + payment, balance in two months. + + Bank Reconciliation + + Bank reconciliation is the process of matching your payment lines + with existing journal items or creating new journal items on the + fly. + + Reconciliation + + Journal items reconciliation is the process of linking several + journal items together like an invoice and a payment. This allows + to mark invoices as paid. + + Deposit Ticket + + Deposit tickets group several payment orders (usually checks) + that are deposited together at the bank. This allows an easy + reconciliation with the bank statement line if the line has one + line per deposit. diff --git a/accounting/payables.rst b/accounting/payables.rst new file mode 100644 index 000000000..1507f3830 --- /dev/null +++ b/accounting/payables.rst @@ -0,0 +1,11 @@ +================ +Account Payables +================ + +.. toctree:: + :titlesonly: + + payables/supplier_bills + payables/pay + payables/forecast + payables/employee_expenses diff --git a/accounting/payables/employee_expenses.rst b/accounting/payables/employee_expenses.rst new file mode 100644 index 000000000..96f14504a --- /dev/null +++ b/accounting/payables/employee_expenses.rst @@ -0,0 +1,9 @@ +================================ +How to record employee expenses? +================================ + +.. toctree:: + :titlesonly: + + employee_expenses/employee_paid + employee_expenses/company_paid diff --git a/accounting/payables/employee_expenses/company_paid.rst b/accounting/payables/employee_expenses/company_paid.rst new file mode 100644 index 000000000..9e19e944e --- /dev/null +++ b/accounting/payables/employee_expenses/company_paid.rst @@ -0,0 +1,3 @@ +================================= +Expenses paid with a company card +================================= diff --git a/accounting/payables/employee_expenses/employee_paid.rst b/accounting/payables/employee_expenses/employee_paid.rst new file mode 100644 index 000000000..b1eb74af7 --- /dev/null +++ b/accounting/payables/employee_expenses/employee_paid.rst @@ -0,0 +1,3 @@ +===================================== +Expenses paid by employee's own money +===================================== diff --git a/accounting/payables/forecast.rst b/accounting/payables/forecast.rst new file mode 100644 index 000000000..5bfb67399 --- /dev/null +++ b/accounting/payables/forecast.rst @@ -0,0 +1,3 @@ +==================================== +How to forecast future bills to pay? +==================================== diff --git a/accounting/payables/pay.rst b/accounting/payables/pay.rst new file mode 100644 index 000000000..e415aed12 --- /dev/null +++ b/accounting/payables/pay.rst @@ -0,0 +1,10 @@ +================== +Pay supplier bills +================== + +.. toctree:: + :titlesonly: + + pay/sepa + pay/wire + pay/cheque diff --git a/accounting/payables/pay/cheque.rst b/accounting/payables/pay/cheque.rst new file mode 100644 index 000000000..08c4a1759 --- /dev/null +++ b/accounting/payables/pay/cheque.rst @@ -0,0 +1,3 @@ +================ +Pay with cheques +================ diff --git a/accounting/payables/pay/sepa.rst b/accounting/payables/pay/sepa.rst new file mode 100644 index 000000000..0395a4abe --- /dev/null +++ b/accounting/payables/pay/sepa.rst @@ -0,0 +1,3 @@ +============= +Pay with SEPA +============= diff --git a/accounting/payables/pay/wire.rst b/accounting/payables/pay/wire.rst new file mode 100644 index 000000000..56f127e26 --- /dev/null +++ b/accounting/payables/pay/wire.rst @@ -0,0 +1,3 @@ +============================= +Pay with a bank wire transfer +============================= diff --git a/accounting/payables/supplier_bills.rst b/accounting/payables/supplier_bills.rst new file mode 100644 index 000000000..2557c1c96 --- /dev/null +++ b/accounting/payables/supplier_bills.rst @@ -0,0 +1,9 @@ +============== +Supplier Bills +============== + +.. toctree:: + :titlesonly: + + supplier_bills/overview + supplier_bills/bills_or_receipts diff --git a/accounting/payables/supplier_bills/bills_or_receipts.rst b/accounting/payables/supplier_bills/bills_or_receipts.rst new file mode 100644 index 000000000..be281dd50 --- /dev/null +++ b/accounting/payables/supplier_bills/bills_or_receipts.rst @@ -0,0 +1,3 @@ +====================================================== +When should I use supplier bills or purchase receipts? +====================================================== diff --git a/accounting/payables/supplier_bills/overview.rst b/accounting/payables/supplier_bills/overview.rst new file mode 100644 index 000000000..07db3bb76 --- /dev/null +++ b/accounting/payables/supplier_bills/overview.rst @@ -0,0 +1,3 @@ +==================================== +Overview of the bill control process +==================================== diff --git a/accounting/receivables.rst b/accounting/receivables.rst new file mode 100644 index 000000000..cc87982dc --- /dev/null +++ b/accounting/receivables.rst @@ -0,0 +1,10 @@ +=================== +Account Receivables +=================== + +.. toctree:: + :titlesonly: + + receivables/customer_invoices + receivables/customer_payments + receivables/getting_paid diff --git a/accounting/receivables/customer_invoices.rst b/accounting/receivables/customer_invoices.rst new file mode 100644 index 000000000..42da3ba6a --- /dev/null +++ b/accounting/receivables/customer_invoices.rst @@ -0,0 +1,14 @@ +================= +Customer Invoices +================= + +.. toctree:: + :titlesonly: + + customer_invoices/overview + customer_invoices/customize + customer_invoices/cash_discounts + customer_invoices/payment_terms + customer_invoices/installment_plans + customer_invoices/deferred_revenues + customer_invoices/refund diff --git a/accounting/receivables/customer_invoices/cash_discounts.rst b/accounting/receivables/customer_invoices/cash_discounts.rst new file mode 100644 index 000000000..e46725d59 --- /dev/null +++ b/accounting/receivables/customer_invoices/cash_discounts.rst @@ -0,0 +1,3 @@ +============================ +How to setup cash discounts? +============================ diff --git a/accounting/receivables/customer_invoices/customize.rst b/accounting/receivables/customer_invoices/customize.rst new file mode 100644 index 000000000..263abbe1e --- /dev/null +++ b/accounting/receivables/customer_invoices/customize.rst @@ -0,0 +1,3 @@ +=========================================== +How to customize header/footer of invoices? +=========================================== diff --git a/accounting/receivables/customer_invoices/deferred_revenues.rst b/accounting/receivables/customer_invoices/deferred_revenues.rst new file mode 100644 index 000000000..39e01a737 --- /dev/null +++ b/accounting/receivables/customer_invoices/deferred_revenues.rst @@ -0,0 +1,3 @@ +======================================== +Deferred revenues: how to automate them? +======================================== diff --git a/accounting/receivables/customer_invoices/installment_plans.rst b/accounting/receivables/customer_invoices/installment_plans.rst new file mode 100644 index 000000000..31d0c80a2 --- /dev/null +++ b/accounting/receivables/customer_invoices/installment_plans.rst @@ -0,0 +1,3 @@ +================================================ +How to define an installment plan for an invoice +================================================ diff --git a/accounting/receivables/customer_invoices/overview.rst b/accounting/receivables/customer_invoices/overview.rst new file mode 100644 index 000000000..eabb8dc7c --- /dev/null +++ b/accounting/receivables/customer_invoices/overview.rst @@ -0,0 +1,3 @@ +================================= +Overview of the invoicing process +================================= diff --git a/accounting/receivables/customer_invoices/payment_terms.rst b/accounting/receivables/customer_invoices/payment_terms.rst new file mode 100644 index 000000000..3f4ef0fa1 --- /dev/null +++ b/accounting/receivables/customer_invoices/payment_terms.rst @@ -0,0 +1,3 @@ +================================ +Defining and using payment terms +================================ diff --git a/accounting/receivables/customer_invoices/refund.rst b/accounting/receivables/customer_invoices/refund.rst new file mode 100644 index 000000000..bed1a7b10 --- /dev/null +++ b/accounting/receivables/customer_invoices/refund.rst @@ -0,0 +1,3 @@ +================================= +How to edit or refund an invoice? +================================= diff --git a/accounting/receivables/customer_payments.rst b/accounting/receivables/customer_payments.rst new file mode 100644 index 000000000..78828d56c --- /dev/null +++ b/accounting/receivables/customer_payments.rst @@ -0,0 +1,12 @@ +================= +Customer Payments +================= + +.. toctree:: + :titlesonly: + + customer_payments/recording + customer_payments/credit_cards + customer_payments/paypal + customer_payments/cheques + customer_payments/refund diff --git a/accounting/receivables/customer_payments/cheques.rst b/accounting/receivables/customer_payments/cheques.rst new file mode 100644 index 000000000..40b3d4219 --- /dev/null +++ b/accounting/receivables/customer_payments/cheques.rst @@ -0,0 +1,3 @@ +=================================== +How to record a payment by cheques? +=================================== diff --git a/accounting/receivables/customer_payments/credit_cards.rst b/accounting/receivables/customer_payments/credit_cards.rst new file mode 100644 index 000000000..3374a08f9 --- /dev/null +++ b/accounting/receivables/customer_payments/credit_cards.rst @@ -0,0 +1,3 @@ +=============================================== +How to handle credit card payments on invoices? +=============================================== diff --git a/accounting/receivables/customer_payments/paypal.rst b/accounting/receivables/customer_payments/paypal.rst new file mode 100644 index 000000000..93969998e --- /dev/null +++ b/accounting/receivables/customer_payments/paypal.rst @@ -0,0 +1,3 @@ +========================================== +How to accept paypal payments on invoices? +========================================== diff --git a/accounting/receivables/customer_payments/recording.rst b/accounting/receivables/customer_payments/recording.rst new file mode 100644 index 000000000..7e0055293 --- /dev/null +++ b/accounting/receivables/customer_payments/recording.rst @@ -0,0 +1,3 @@ +===================================== +The different ways to record payments +===================================== diff --git a/accounting/receivables/customer_payments/refund.rst b/accounting/receivables/customer_payments/refund.rst new file mode 100644 index 000000000..1de1f5c9e --- /dev/null +++ b/accounting/receivables/customer_payments/refund.rst @@ -0,0 +1,3 @@ +================ +Refund a payment +================ diff --git a/accounting/receivables/getting_paid.rst b/accounting/receivables/getting_paid.rst new file mode 100644 index 000000000..1d98a4534 --- /dev/null +++ b/accounting/receivables/getting_paid.rst @@ -0,0 +1,10 @@ +================ +How to get paid? +================ + +.. toctree:: + :titlesonly: + + getting_paid/organize_followups + getting_paid/customer_followups + getting_paid/automated_followups diff --git a/accounting/receivables/getting_paid/automated_followups.rst b/accounting/receivables/getting_paid/automated_followups.rst new file mode 100644 index 000000000..c7dedc5b4 --- /dev/null +++ b/accounting/receivables/getting_paid/automated_followups.rst @@ -0,0 +1,3 @@ +======================== +Automated followup plans +======================== diff --git a/accounting/receivables/getting_paid/customer_followups.rst b/accounting/receivables/getting_paid/customer_followups.rst new file mode 100644 index 000000000..167af6091 --- /dev/null +++ b/accounting/receivables/getting_paid/customer_followups.rst @@ -0,0 +1,3 @@ +======================== +Doing customer followups +======================== diff --git a/accounting/receivables/getting_paid/organize_followups.rst b/accounting/receivables/getting_paid/organize_followups.rst new file mode 100644 index 000000000..e82c4c6e5 --- /dev/null +++ b/accounting/receivables/getting_paid/organize_followups.rst @@ -0,0 +1,3 @@ +=================================== +how to organize customer followups? +=================================== diff --git a/applications.rst b/applications.rst new file mode 100644 index 000000000..ccf6806de --- /dev/null +++ b/applications.rst @@ -0,0 +1,12 @@ +============ +Applications +============ + +.. toctree:: + :titlesonly: + + accounting + crm + expenses + recruitment + warehouse diff --git a/conf.py b/conf.py index e4cb247d3..2e7215e16 100644 --- a/conf.py +++ b/conf.py @@ -282,8 +282,28 @@ def setup(app): app.connect('html-page-context', analytics) app.add_config_value('google_analytics_key', '', 'env') + app.connect('doctree-resolved', tag_toctrees) + def analytics(app, pagename, templatename, context, doctree): if not app.config.google_analytics_key: return context['google_analytics_key'] = app.config.google_analytics_key + +from sphinx import addnodes +def tag_toctrees(app, doctree, docname): + """ Adds a 'toc' metadata entry to all documents containing a toctree node""" + # document + # section + # title + # compound@toctree-wrapper + if not len(doctree.children) == 1: + return + [section] = doctree.children + if not len(section.children) == 2: + return; + [_, compound] = section.children + if not 'toctree-wrapper' in compound['classes']: + return + + app.env.metadata[docname]['has-toc'] = True diff --git a/crm.rst b/crm.rst new file mode 100644 index 000000000..4a69280ba --- /dev/null +++ b/crm.rst @@ -0,0 +1,5 @@ +:banner: banners/crm.png + +=== +CRM +=== diff --git a/expenses.rst b/expenses.rst new file mode 100644 index 000000000..2f7725b43 --- /dev/null +++ b/expenses.rst @@ -0,0 +1,5 @@ +:banner: banners/expense.png + +======== +Expenses +======== diff --git a/index.rst b/index.rst index 02f2c2880..3f62b3892 100644 --- a/index.rst +++ b/index.rst @@ -7,5 +7,4 @@ Odoo Business Mementoes .. toctree:: :titlesonly: - accounting - inventory + applications diff --git a/recruitment.rst b/recruitment.rst new file mode 100644 index 000000000..1230190d8 --- /dev/null +++ b/recruitment.rst @@ -0,0 +1,5 @@ +:banner: banners/recruitment.png + +=========== +Recruitment +=========== diff --git a/inventory.rst b/warehouse.rst similarity index 53% rename from inventory.rst rename to warehouse.rst index f118810ef..3c809e141 100644 --- a/inventory.rst +++ b/warehouse.rst @@ -1,3 +1,5 @@ +:banner: banners/warehouse.png + ========= Warehouse ========= @@ -5,5 +7,4 @@ Warehouse .. toctree:: :titlesonly: - double-entry - valuation + warehouse/overview diff --git a/warehouse/overview.rst b/warehouse/overview.rst new file mode 100644 index 000000000..5173f9a2a --- /dev/null +++ b/warehouse/overview.rst @@ -0,0 +1,9 @@ +======== +Overview +======== + +.. toctree:: + :titlesonly: + :glob: + + overview/* diff --git a/double-entry.rst b/warehouse/overview/double-entry.rst similarity index 100% rename from double-entry.rst rename to warehouse/overview/double-entry.rst diff --git a/valuation.rst b/warehouse/overview/valuation.rst similarity index 100% rename from valuation.rst rename to warehouse/overview/valuation.rst