[ADD] demo/POC functional documentation
* by-application (odoo-wise) grouping * use part of the accounting TOC defined on pad * support for "internal" tocs & fixup front toc * various changes and improvements to extensions May be missing: inherited document banners?
This commit is contained in:
parent
705e0d56b2
commit
c4e798e970
@ -49,6 +49,27 @@ def navbarify(node, navbar=None):
|
|||||||
link.attributes['data-toggle'] = 'dropdown'
|
link.attributes['data-toggle'] = 'dropdown'
|
||||||
# list_item.bullet_list
|
# list_item.bullet_list
|
||||||
list_item.children[1]['classes'].append('dropdown-menu')
|
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(
|
def resolve_content_toctree(
|
||||||
environment, docname, builder, toctree, prune=True, maxdepth=0,
|
environment, docname, builder, toctree, prune=True, maxdepth=0,
|
||||||
|
@ -83,8 +83,7 @@
|
|||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{{ toctree(titles_only=True, maxdepth=2, includehidden=True,
|
{{ toctree(titles_only=True, maxdepth=2, includehidden=True, collapse=False, navbar='main') }}
|
||||||
collapse=False, navbar='main') }}
|
|
||||||
</nav>
|
</nav>
|
||||||
</div>
|
</div>
|
||||||
</nav>
|
</nav>
|
||||||
@ -99,6 +98,7 @@
|
|||||||
<main class="{{ container }} {{ ' '.join(classes) }}">
|
<main class="{{ container }} {{ ' '.join(classes) }}">
|
||||||
{% if pagename != master_doc %}
|
{% if pagename != master_doc %}
|
||||||
<div class="row">
|
<div class="row">
|
||||||
|
{% if 'has-toc' not in meta %}
|
||||||
<aside>
|
<aside>
|
||||||
<div class="navbar-aside text-center">
|
<div class="navbar-aside text-center">
|
||||||
<div class="logo_box">
|
<div class="logo_box">
|
||||||
@ -113,7 +113,8 @@
|
|||||||
{% endif %}
|
{% endif %}
|
||||||
</div>
|
</div>
|
||||||
</aside>
|
</aside>
|
||||||
<article class="doc-body">
|
{% endif %}
|
||||||
|
<article class="doc-body {% if 'has-toc' in meta %}doc-toc{% endif %}">
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% block body %} {% endblock %}
|
{% block body %} {% endblock %}
|
||||||
{% if pagename != master_doc %}</article>
|
{% if pagename != master_doc %}</article>
|
||||||
|
@ -118,6 +118,9 @@ main{
|
|||||||
padding-left: 30px;
|
padding-left: 30px;
|
||||||
@media (min-width: @w-size-medium) {
|
@media (min-width: @w-size-medium) {
|
||||||
width: 75%;
|
width: 75%;
|
||||||
|
&.doc-toc {
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
> *{
|
> *{
|
||||||
max-width: 100%;
|
max-width: 100%;
|
||||||
|
@ -8599,6 +8599,9 @@ main article.doc-body {
|
|||||||
main article.doc-body {
|
main article.doc-body {
|
||||||
width: 75%;
|
width: 75%;
|
||||||
}
|
}
|
||||||
|
main article.doc-body.doc-toc {
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
main article.doc-body > * {
|
main article.doc-body > * {
|
||||||
max-width: 100%;
|
max-width: 100%;
|
||||||
|
@ -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 {
|
.intro-list p {
|
||||||
margin: 0;
|
margin: 0;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
|
BIN
_static/banners/accounting.png
Normal file
BIN
_static/banners/accounting.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 2.6 KiB |
BIN
_static/banners/crm.png
Normal file
BIN
_static/banners/crm.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 926 B |
BIN
_static/banners/expense.png
Normal file
BIN
_static/banners/expense.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 793 B |
BIN
_static/banners/recruitment.png
Normal file
BIN
_static/banners/recruitment.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 800 B |
BIN
_static/banners/warehouse.png
Normal file
BIN
_static/banners/warehouse.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 804 B |
253
accounting.rst
253
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
|
accounting/overview
|
||||||
|
accounting/receivables
|
||||||
The **Profit and Loss** (P&L) report shows the performance of the company
|
accounting/payables
|
||||||
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
|
|
||||||
<accounting/reconciliation>` 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 |
|
|
||||||
+-------------------------+--------------+------------+---------------+---------------+
|
|
||||||
|
11
accounting/overview.rst
Normal file
11
accounting/overview.rst
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
========
|
||||||
|
Overview
|
||||||
|
========
|
||||||
|
|
||||||
|
.. toctree::
|
||||||
|
:titlesonly:
|
||||||
|
|
||||||
|
overview/main_concepts
|
||||||
|
overview/getting_started
|
||||||
|
overview/process_overview
|
||||||
|
overview/terminologies
|
5
accounting/overview/getting_started.rst
Normal file
5
accounting/overview/getting_started.rst
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
===============
|
||||||
|
Getting Started
|
||||||
|
===============
|
||||||
|
|
||||||
|
(copy of planner but add screenshots)
|
9
accounting/overview/main_concepts.rst
Normal file
9
accounting/overview/main_concepts.rst
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
=============
|
||||||
|
Main Concepts
|
||||||
|
=============
|
||||||
|
|
||||||
|
.. toctree::
|
||||||
|
:titlesonly:
|
||||||
|
|
||||||
|
main_concepts/in_odoo
|
||||||
|
main_concepts/memento
|
141
accounting/overview/main_concepts/in_odoo.rst
Normal file
141
accounting/overview/main_concepts/in_odoo.rst
Normal file
@ -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.
|
247
accounting/overview/main_concepts/memento.rst
Normal file
247
accounting/overview/main_concepts/memento.rst
Normal file
@ -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
|
||||||
|
<accounting/reconciliation>` 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 |
|
||||||
|
+-------------------------+--------------+------------+---------------+---------------+
|
9
accounting/overview/process_overview.rst
Normal file
9
accounting/overview/process_overview.rst
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
================
|
||||||
|
Process overview
|
||||||
|
================
|
||||||
|
|
||||||
|
.. toctree::
|
||||||
|
:titlesonly:
|
||||||
|
|
||||||
|
process_overview/customer_invoice
|
||||||
|
process_overview/supplier_bill
|
@ -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.
|
9
accounting/overview/process_overview/supplier_bill.rst
Normal file
9
accounting/overview/process_overview/supplier_bill.rst
Normal file
@ -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.
|
37
accounting/overview/terminologies.rst
Normal file
37
accounting/overview/terminologies.rst
Normal file
@ -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.
|
11
accounting/payables.rst
Normal file
11
accounting/payables.rst
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
================
|
||||||
|
Account Payables
|
||||||
|
================
|
||||||
|
|
||||||
|
.. toctree::
|
||||||
|
:titlesonly:
|
||||||
|
|
||||||
|
payables/supplier_bills
|
||||||
|
payables/pay
|
||||||
|
payables/forecast
|
||||||
|
payables/employee_expenses
|
9
accounting/payables/employee_expenses.rst
Normal file
9
accounting/payables/employee_expenses.rst
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
================================
|
||||||
|
How to record employee expenses?
|
||||||
|
================================
|
||||||
|
|
||||||
|
.. toctree::
|
||||||
|
:titlesonly:
|
||||||
|
|
||||||
|
employee_expenses/employee_paid
|
||||||
|
employee_expenses/company_paid
|
3
accounting/payables/employee_expenses/company_paid.rst
Normal file
3
accounting/payables/employee_expenses/company_paid.rst
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
=================================
|
||||||
|
Expenses paid with a company card
|
||||||
|
=================================
|
3
accounting/payables/employee_expenses/employee_paid.rst
Normal file
3
accounting/payables/employee_expenses/employee_paid.rst
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
=====================================
|
||||||
|
Expenses paid by employee's own money
|
||||||
|
=====================================
|
3
accounting/payables/forecast.rst
Normal file
3
accounting/payables/forecast.rst
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
====================================
|
||||||
|
How to forecast future bills to pay?
|
||||||
|
====================================
|
10
accounting/payables/pay.rst
Normal file
10
accounting/payables/pay.rst
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
==================
|
||||||
|
Pay supplier bills
|
||||||
|
==================
|
||||||
|
|
||||||
|
.. toctree::
|
||||||
|
:titlesonly:
|
||||||
|
|
||||||
|
pay/sepa
|
||||||
|
pay/wire
|
||||||
|
pay/cheque
|
3
accounting/payables/pay/cheque.rst
Normal file
3
accounting/payables/pay/cheque.rst
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
================
|
||||||
|
Pay with cheques
|
||||||
|
================
|
3
accounting/payables/pay/sepa.rst
Normal file
3
accounting/payables/pay/sepa.rst
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
=============
|
||||||
|
Pay with SEPA
|
||||||
|
=============
|
3
accounting/payables/pay/wire.rst
Normal file
3
accounting/payables/pay/wire.rst
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
=============================
|
||||||
|
Pay with a bank wire transfer
|
||||||
|
=============================
|
9
accounting/payables/supplier_bills.rst
Normal file
9
accounting/payables/supplier_bills.rst
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
==============
|
||||||
|
Supplier Bills
|
||||||
|
==============
|
||||||
|
|
||||||
|
.. toctree::
|
||||||
|
:titlesonly:
|
||||||
|
|
||||||
|
supplier_bills/overview
|
||||||
|
supplier_bills/bills_or_receipts
|
3
accounting/payables/supplier_bills/bills_or_receipts.rst
Normal file
3
accounting/payables/supplier_bills/bills_or_receipts.rst
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
======================================================
|
||||||
|
When should I use supplier bills or purchase receipts?
|
||||||
|
======================================================
|
3
accounting/payables/supplier_bills/overview.rst
Normal file
3
accounting/payables/supplier_bills/overview.rst
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
====================================
|
||||||
|
Overview of the bill control process
|
||||||
|
====================================
|
10
accounting/receivables.rst
Normal file
10
accounting/receivables.rst
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
===================
|
||||||
|
Account Receivables
|
||||||
|
===================
|
||||||
|
|
||||||
|
.. toctree::
|
||||||
|
:titlesonly:
|
||||||
|
|
||||||
|
receivables/customer_invoices
|
||||||
|
receivables/customer_payments
|
||||||
|
receivables/getting_paid
|
14
accounting/receivables/customer_invoices.rst
Normal file
14
accounting/receivables/customer_invoices.rst
Normal file
@ -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
|
@ -0,0 +1,3 @@
|
|||||||
|
============================
|
||||||
|
How to setup cash discounts?
|
||||||
|
============================
|
3
accounting/receivables/customer_invoices/customize.rst
Normal file
3
accounting/receivables/customer_invoices/customize.rst
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
===========================================
|
||||||
|
How to customize header/footer of invoices?
|
||||||
|
===========================================
|
@ -0,0 +1,3 @@
|
|||||||
|
========================================
|
||||||
|
Deferred revenues: how to automate them?
|
||||||
|
========================================
|
@ -0,0 +1,3 @@
|
|||||||
|
================================================
|
||||||
|
How to define an installment plan for an invoice
|
||||||
|
================================================
|
3
accounting/receivables/customer_invoices/overview.rst
Normal file
3
accounting/receivables/customer_invoices/overview.rst
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
=================================
|
||||||
|
Overview of the invoicing process
|
||||||
|
=================================
|
@ -0,0 +1,3 @@
|
|||||||
|
================================
|
||||||
|
Defining and using payment terms
|
||||||
|
================================
|
3
accounting/receivables/customer_invoices/refund.rst
Normal file
3
accounting/receivables/customer_invoices/refund.rst
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
=================================
|
||||||
|
How to edit or refund an invoice?
|
||||||
|
=================================
|
12
accounting/receivables/customer_payments.rst
Normal file
12
accounting/receivables/customer_payments.rst
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
=================
|
||||||
|
Customer Payments
|
||||||
|
=================
|
||||||
|
|
||||||
|
.. toctree::
|
||||||
|
:titlesonly:
|
||||||
|
|
||||||
|
customer_payments/recording
|
||||||
|
customer_payments/credit_cards
|
||||||
|
customer_payments/paypal
|
||||||
|
customer_payments/cheques
|
||||||
|
customer_payments/refund
|
3
accounting/receivables/customer_payments/cheques.rst
Normal file
3
accounting/receivables/customer_payments/cheques.rst
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
===================================
|
||||||
|
How to record a payment by cheques?
|
||||||
|
===================================
|
@ -0,0 +1,3 @@
|
|||||||
|
===============================================
|
||||||
|
How to handle credit card payments on invoices?
|
||||||
|
===============================================
|
3
accounting/receivables/customer_payments/paypal.rst
Normal file
3
accounting/receivables/customer_payments/paypal.rst
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
==========================================
|
||||||
|
How to accept paypal payments on invoices?
|
||||||
|
==========================================
|
3
accounting/receivables/customer_payments/recording.rst
Normal file
3
accounting/receivables/customer_payments/recording.rst
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
=====================================
|
||||||
|
The different ways to record payments
|
||||||
|
=====================================
|
3
accounting/receivables/customer_payments/refund.rst
Normal file
3
accounting/receivables/customer_payments/refund.rst
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
================
|
||||||
|
Refund a payment
|
||||||
|
================
|
10
accounting/receivables/getting_paid.rst
Normal file
10
accounting/receivables/getting_paid.rst
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
================
|
||||||
|
How to get paid?
|
||||||
|
================
|
||||||
|
|
||||||
|
.. toctree::
|
||||||
|
:titlesonly:
|
||||||
|
|
||||||
|
getting_paid/organize_followups
|
||||||
|
getting_paid/customer_followups
|
||||||
|
getting_paid/automated_followups
|
@ -0,0 +1,3 @@
|
|||||||
|
========================
|
||||||
|
Automated followup plans
|
||||||
|
========================
|
@ -0,0 +1,3 @@
|
|||||||
|
========================
|
||||||
|
Doing customer followups
|
||||||
|
========================
|
@ -0,0 +1,3 @@
|
|||||||
|
===================================
|
||||||
|
how to organize customer followups?
|
||||||
|
===================================
|
12
applications.rst
Normal file
12
applications.rst
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
============
|
||||||
|
Applications
|
||||||
|
============
|
||||||
|
|
||||||
|
.. toctree::
|
||||||
|
:titlesonly:
|
||||||
|
|
||||||
|
accounting
|
||||||
|
crm
|
||||||
|
expenses
|
||||||
|
recruitment
|
||||||
|
warehouse
|
20
conf.py
20
conf.py
@ -282,8 +282,28 @@ def setup(app):
|
|||||||
app.connect('html-page-context', analytics)
|
app.connect('html-page-context', analytics)
|
||||||
app.add_config_value('google_analytics_key', '', 'env')
|
app.add_config_value('google_analytics_key', '', 'env')
|
||||||
|
|
||||||
|
app.connect('doctree-resolved', tag_toctrees)
|
||||||
|
|
||||||
def analytics(app, pagename, templatename, context, doctree):
|
def analytics(app, pagename, templatename, context, doctree):
|
||||||
if not app.config.google_analytics_key:
|
if not app.config.google_analytics_key:
|
||||||
return
|
return
|
||||||
|
|
||||||
context['google_analytics_key'] = app.config.google_analytics_key
|
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
|
||||||
|
5
expenses.rst
Normal file
5
expenses.rst
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
:banner: banners/expense.png
|
||||||
|
|
||||||
|
========
|
||||||
|
Expenses
|
||||||
|
========
|
@ -7,5 +7,4 @@ Odoo Business Mementoes
|
|||||||
.. toctree::
|
.. toctree::
|
||||||
:titlesonly:
|
:titlesonly:
|
||||||
|
|
||||||
accounting
|
applications
|
||||||
inventory
|
|
||||||
|
5
recruitment.rst
Normal file
5
recruitment.rst
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
:banner: banners/recruitment.png
|
||||||
|
|
||||||
|
===========
|
||||||
|
Recruitment
|
||||||
|
===========
|
@ -1,3 +1,5 @@
|
|||||||
|
:banner: banners/warehouse.png
|
||||||
|
|
||||||
=========
|
=========
|
||||||
Warehouse
|
Warehouse
|
||||||
=========
|
=========
|
||||||
@ -5,5 +7,4 @@ Warehouse
|
|||||||
.. toctree::
|
.. toctree::
|
||||||
:titlesonly:
|
:titlesonly:
|
||||||
|
|
||||||
double-entry
|
warehouse/overview
|
||||||
valuation
|
|
9
warehouse/overview.rst
Normal file
9
warehouse/overview.rst
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
========
|
||||||
|
Overview
|
||||||
|
========
|
||||||
|
|
||||||
|
.. toctree::
|
||||||
|
:titlesonly:
|
||||||
|
:glob:
|
||||||
|
|
||||||
|
overview/*
|
Loading…
Reference in New Issue
Block a user