[REF][MOV] documentation apocalypse

Prior to this commit, the Odoo documentation was mainly split between
two repositories: odoo/odoo/doc and odoo/documentation-user. Some bits
of documentation were also hosted elsewhere (e.g., wiki, upgrade, ...).
This was causing several problems among which:
  - The theme, config, Makefile, and similar technical resources had to
    be duplicated. This resulted in inconsistent layout, features, and
    build environments from one documentation to another.
  - Some pages did not fit either documentation as they were relevant
    for both users and developers. Some were relevant to neither of the
    two (e.g., DB management).
  - Cross-doc references had to be absolute links and they broke often.
  - Merging large image files in the developer documentation would bloat
    the odoo/odoo repository. Some contributions had to be lightened to
    avoid merging too many images (e.g., Odoo development tutorials).
  - Long-time contributors to the user documentation were chilly about
    going through the merging process of the developer documentation
    because of the runbot, mergebot, `odoo-dev` repository, etc.
  - Some contributors would look for the developer documentation in the
    `odoo/documentation-user` repository.
  - Community issues about the user documentation were submitted on the
    `odoo/odoo` repository and vice-versa.

Merging all documentations in one repository will allow us to have one
place, one theme, one work process, and one set of tools (build
environment, ...) for all of the Odoo docs.

As this is a good opportunity to revamp the layout of the documentation,
a brand new theme replaces the old one. It features a new way to
navigate the documentation, centered on the idea of always letting the
reader know what is the context (enclosing section, child pages, page
structure ...) of the page they are reading. The previous theme would
quickly confuse readers as they navigated the documentation and followed
cross-application links.

The chance is also taken to get rid of all the technical dangling parts,
performance issues, and left-overs. Except for some page-specific JS
scripts, the Odoo theme Sphinx extension is re-written from scratch
based on the latest Sphinx release to benefit from the improvements and
ease future contributions.

task-2351938
task-2352371
task-2205684
task-2352544

Closes #945
This commit is contained in:
Antoine Vandevenne (anv)
2021-04-30 12:40:29 +02:00
committed by Antoine Vandevenne (anv)
parent eac5e9f865
commit e3fee2cf46
2471 changed files with 39885 additions and 60126 deletions
@@ -0,0 +1,151 @@
============================================
How to register customer payments by checks?
============================================
There are two ways to handle payments received by checks. Odoo support
both approaches so that you can use the one that better fits your
habits.
1. **Undeposited Funds:**
once you receive the check, you record a payment
by check on the invoice. (using a Check journal and posted on the
Undeposited Fund account) Then, once the check arrives in your
bank account, move money from Undeposited Funds to your bank
account.
2. **One journal entry only:**
once your receive the check, you record a
payment on your bank, paid by check, without going through the
**Undeposited Funds**. Once you process your bank statement, you do
the matching with your bank feed and the check payment, without
creating a dedicated journal entry.
We recommend the first approach as it is more accurate (your bank
account balance is accurate, taking into accounts checks that have not
been cashed yet). Both approaches require the same effort.
Even if the first method is cleaner, Odoo support the second approach
because some accountants are used to it (quickbooks and peachtree
users).
.. Note::
You may have a look at the *Deposit Ticket feature* if you deposit
several checks to your bank accounts in batch.
Option 1: Undeposited Funds
===========================
Configuration
-------------
- Create a journal **Checks**
- Set **Undeposited Checks** as a defaut credit/debit account
- Set the bank account related to this journal as **Allow Reconciliation**
From check payments to bank statements
--------------------------------------
The first way to handle checks is to create a check journal. Thus,
checks become a payment method in itself and you will record two
transactions.
Once you receive a customer check, go to the related invoice and click
on **Register Payment**. Fill in the information about the payment:
- Payment method: Check Journal (that you configured with the debit and
credit default accounts as **Undeposited Funds**)
- Memo: write the Check number
.. image:: ./media/check02.png
:align: center
This operation will produce the following journal entry:
+----------------------+-------------------+----------+----------+
| Account | Statement Match | Debit | Credit |
+======================+===================+==========+==========+
| Account Receivable | | | 100.00 |
+----------------------+-------------------+----------+----------+
| Undeposited Funds | | 100.00 | |
+----------------------+-------------------+----------+----------+
The invoice is marked as paid as soon as you record the check.
Then, once you get the bank statements, you will match this statement
with the check that is in Undeposited Funds.
+---------------------+-------------------+----------+----------+
| Account | Statement Match | Debit | Credit |
+=====================+===================+==========+==========+
| Undeposited Funds | X | | 100.00 |
+---------------------+-------------------+----------+----------+
| Bank | | 100.00 | |
+---------------------+-------------------+----------+----------+
If you use this approach to manage received checks, you get the list of
checks that have not been cashed in the **Undeposit Funds** account
(accessible, for example, from the general ledger).
.. Note::
Both methods will produce the same data in your accounting at the
end of the process. But, if you have checks that have not been cashed,
this one is cleaner because those checks have not been reported yet on
your bank account.
Option 2: One journal entry only
================================
Configuration
-------------
These is nothing to configure if you plan to manage your checks using
this method.
From check payments to bank statements
--------------------------------------
Once you receive a customer check, go to the related invoice and click
on **Register Payment**. Fill in the information about the payment:
- **Payment method:** the bank that will be used for the deposit
- Memo: write the check number
.. image:: ./media/check03.png
:align: center
The invoice is marked as paid as soon as you record the check.
Once you will receive the bank statements, you will do the matching with
the statement and this actual payment. (technically: point this payment
and relate it to the statement line)
With this approach, you will get the following journal entry in your
books:
+----------------------+-------------------+----------+----------+
| Account | Statement Match | Debit | Credit |
+======================+===================+==========+==========+
| Account Receivable | X | | 100.00 |
+----------------------+-------------------+----------+----------+
| Bank | | 100.00 | |
+----------------------+-------------------+----------+----------+
.. tip::
You may also record the payment directly without going on the
customer invoice, using the menu :menuselection:`Sales --> Payments`. This method may
be more convenient if you have a lot of checks to record in a batch but
you will have to reconcile entries afterwards (matching payments with
invoices)
If you use this approach to manage received checks, you can use the
report **Bank Reconciliation Report** to verify which checks have been
received or paid by the bank. (this report is available from the **More**
option from the Accounting dashboard on the related bank account).
.. image:: ./media/check01.png
:align: center
@@ -0,0 +1,169 @@
=================================================
How to register credit card payments on invoices?
=================================================
There are two ways to handle payments received by credit cards. Odoo
support both approaches so that you can use the one that better fits
your habits.
1. **Undeposited Funds** (mostly used in european countries): once you
receive the credit card payment authorization, you record a
payment by credit card on the invoice (using a Credit card
journal and posted on the Undeposited Fund account). Then, once
the credit card payments arrives in your bank account, move money
from Undeposited Funds to your bank account.
2. **One journal entry only** (mostly used in the U.S.): once your
receive the credit card payment, you record a payment on your
bank, paid by credit card, without going through the Undeposited
Funds. Once you process your bank statement, you do the matching
with your bank feed and the credit card payment, without creating
a dedicated journal entry .
We recommend the first approach as it is more accurate (your bank
account balance is accurate, taking into accounts credit cards that have
not been cashed yet). Both approaches require the same effort.
If you use eCommerce and an automated payment gateway, you will only
need to take care of the bank reconciliation part as paid invoice will
be automatically recorded in the right journal. You will use the second
approach.
Even if the first method is cleaner, Odoo support the second approach
because some accountants are used to it (*QuickBooks* and *Peachtree*
users).
Option 1: Undeposited Funds
===========================
Configuration
-------------
On the Accounting module, go to :menuselection:`Configuration --> Journals --> Create`
Create a Journal called 'Credit card payments' with the following data:
- **Journal Name**: Credit card
- **Default debit account**: Credit cards
- **Default credit account**: Credit cards
The account type should be "Credit Card". Once it's done, don't forget to set the "Credit cards" account as "Allow
Reconciliation".
.. image:: ./media/credit01.png
:align: center
From credit card payments to bank statements
--------------------------------------------
The first way to handle credit cards is to create a credit card journal.
Thus, credit cards become a payment method in itself and you will record
two transactions.
Once you receive a customer credit card payment, go to the related
invoice and click on Register Payment. Fill in the information about the
payment:
- **Payment method**: Credit card
- **Memo**: write the invoice reference
.. image:: ./media/credit02.png
:align: center
This operation will produce the following journal entry:
+----------------------+-------------------+----------+----------+
| Account | Statement Match | Debit | Credit |
+======================+===================+==========+==========+
| Account Receivable | | | 100.00 |
+----------------------+-------------------+----------+----------+
| Credit Cards | | 100.00 | |
+----------------------+-------------------+----------+----------+
The invoice is marked as paid as soon as you record the credit card
payment.
Then, once you get the bank statements, you will match this statement
with the credit card that is in the 'Credit card' account.
+----------------+-------------------+----------+----------+
| Account | Statement Match | Debit | Credit |
+================+===================+==========+==========+
| Credit cards | X | | 100.00 |
+----------------+-------------------+----------+----------+
| Bank | | 100.00 | |
+----------------+-------------------+----------+----------+
If you use this approach to manage credit cards payments, you get the
list of credit cards payments that have not been cashed in the "Credit
card" account (accessible, for example, from the general ledger).
.. note::
Both methods will produce the same data in your accounting at the end of the
process. But, if you have credit cards that have not been cashed, this one
is cleaner because those credit cards have not been reported yet on your bank
account.
Option 2: One journal entry only
================================
Configuration
-------------
There is nothing to configure if you plan to manage your credit cards
using this method.
From credit card payments to bank statements
--------------------------------------------
Once you receive a customer credit card payment, go to the related
invoice and click on Register Payment. Fill in the information about the
payment:
- **Payment method**: the bank that will be used for the deposit
- **Memo**: write the credit card transaction number
.. image:: ./media/credit03.png
:align: center
The invoice is marked as paid as soon as the credit card payment has
been recorded. Once you receive the bank statements, you will do the
matching with the statement and this actual payment (technically: point
this payment and relate it to the statement line).
With this approach, you will get the following journal entry in your
books:
+----------------------+-------------------+----------+----------+
| Account | Statement Match | Debit | Credit |
+======================+===================+==========+==========+
| Account Receivable | X | | 100.00 |
+----------------------+-------------------+----------+----------+
| Bank | | 100.00 | |
+----------------------+-------------------+----------+----------+
.. tip::
You may also record the payment directly without going on the customer
invoice, using the top menu :menuselection:`Sales --> Payments`. This method may be more
convenient if you have a lot of credit cards to record in a batch but you
will have to reconcile entries afterwards (matching payments with invoices).
If you use this approach to manage received credit cards, you can use
the report "Bank Reconciliation Report" to verify which credit cards
have been received or paid by the bank (this report is available from
the "More" option from the Accounting dashboard on the related bank
account).
.. image:: ./media/credit04.png
:align: center
.. seealso::
* :doc:`recording`
* :doc:`../../bank/feeds/paypal`
* :doc:`check`
* :doc:`followup`
@@ -0,0 +1,70 @@
=========================================
Follow-up on invoices and get paid faster
=========================================
It is essential for your business to collect payments when they are
overdue. Odoo will help you identify payments that are late and will
allow you to send the appropriate reminders.
Manage your follow-ups
======================
.. tip::
We recommend that you reconcile your bank statements before
launching your follow-up process. It will avoid you the trouble of
sending a statement to a customer that has already paid you.
The overdue invoices you need to follow-up on are available by default
in :menuselection:`Accounting --> Sales --> Follow-up Reports`. There,
you can easily send a reminder by email or print it as a letter. Then,
you can click on the *Done* button to view the next follow-up that
needs your attention.
Otherwise, if now is not the time for a reminder, click on *Remind me
later*. You will get the next report according to the *Next Reminder
Date* set on the statement.
.. tip::
To avoid sending too many reminders in a short period of time,
change the number of days calculated between each report by going to
:menuselection:`Accounting --> Configuration --> Settings --> Payment
Follow-up`.
You can also set a trust level for your customers by marking them as
bad, normal or good debtors on the follow-up reports.
.. image:: media/followup01.png
:align: center
Send reminders in batch
=======================
To get your follow-up process easier, you can send reminder emails in
batch from your follow-up reports page. Select all the reports you would
like to process, click on *Action* and then on *Process Follow-ups*.
A pdf document containing all of the follow-up letters for you to print
will also be automatically generated.
.. image:: media/followup02.png
:align: center
Plan a follow-up process
========================
To plan a follow-up process, go to :menuselection:`Accounting -->
Configuration --> Settings` and activate the *Follow-up Levels*
feature under the *Customer Payments* section. Then, click on the new
*Follow-up Levels* button that has appeared on your settings page.
A follow-up plan with several actions is available by default in Odoo,
but you can customize it any way you want. Depending on a specific
number of overdue days, plan to send an email, a letter or to undertake
a manual action. You can also edit the template used for the statement
according to the stage of the process.
.. image:: media/followup03.png
:align: center
.. tip::
If you would like to get a reminder before the actual due date,
set a negative number of due days.
Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

@@ -0,0 +1,102 @@
==================
Get paid with SEPA
==================
SEPA, the Single Euro Payments Area, is a payment-integration initiative
of the European Union for simplification of bank transfers denominated
in EURO. SEPA Direct Debit allows you to withdraw money from the bank
accounts of your customers with their approval.
SEPA is supported by the banks of the 28 EU member states as well as
Iceland, Norway, Switzerland, Andorra, Monaco and San Marino.
With Odoo, you can record customer mandates, generate an SDD XML file
containing customer payments and upload it in your bank interface. The
file follows the SEPA Direct Debit PAIN.008.001.02 specifications. This
is a well-defined standard that makes consensus among banks.
Configuration
-------------
Go in :menuselection:`Accounting --> Configuration --> Settings`
and activate the SEPA Direct Debit (SDD) Feature. Enter the Creditor
Identifier of your company. This number is provided by your bank.
.. image:: media/payment_sepa01.png
:align: center
Get paid with SEPA
------------------
Direct Debit Mandates
~~~~~~~~~~~~~~~~~~~~~
Before withdrawing money from a customer bank account, your customer has
to sign a mandate. Go in :menuselection:`Accounting --> Sales --> Direct Debit Mandates`
and create a new mandate.
.. image:: media/payment_sepa02.png
:align: center
.. tip:: SEPA Direct Debit only works between IBAN Bank Accounts.
Once you have entered all the information in the customer mandate, you
can print it and ask your customer to sign it. Once it is done, you can
upload the mandate signed by your customer on the mandate in Odoo.
.. image:: media/payment_sepa03.png
:align: center
You can now validate the mandate.
Customer Invoices
~~~~~~~~~~~~~~~~~
Let's create an invoice for that customer.
When you will validate this invoice, the payment will be automatically
generated and your invoice will be directly marked as paid.
.. tip::
If you already had some invoices for that customer that could be
paid using that mandate, it's still possible to do it. Go on the
invoice, click on register payment and choose the Sepa Direct Debit as
payment method.
Generate SDD Files
~~~~~~~~~~~~~~~~~~
You can generate the SDD File with all the customer payments to send to
your bank directly from the accounting dashboard :
.. image:: media/payment_sepa04.png
:align: center
You select the payments in the list that you want to include in your SDD
File, click on action and select "Generate Direct Debit XML".
.. image:: media/payment_sepa05.png
:align: center
You can now download the XML file generated by Odoo and upload it in
your bank interface.
.. tip::
You can retrieve all the generated XML by activating the developer
mode and going in :menuselection:`Accounting --> Configuration --> Payments --> SDD Payment File`.
Close or revoke a mandate
~~~~~~~~~~~~~~~~~~~~~~~~~~
The Direct Debit mandate will be closed automatically once the end date
defined on it is reached. However, you can **close** a mandate earlier
than initially planned. To do that, simply go on the mandate and click
on the "Close" button.The end date of the mandate will be updated to
today's date. This means you will not be able to pay invoices with an
invoice date superior to this end date. Be careful, once a mandate is
closed, it cannot be reopened.
You can also **revoke** a mandate. In that case, you won't be able to
pay any invoice using that mandate anymore, no matter the invoice
date.To do that, simply go on the mandate and click on the "Revoke"
button.
@@ -0,0 +1,130 @@
================================================
What are the different ways to record a payment?
================================================
In Odoo, a payment can either be linked directly to an invoice or be a
stand alone record for use on a later date:
- If a payment is linked to an invoice, it reduces the amount due of
the invoice. You can have multiple payments linked to the same
invoice.
- If a payment is not linked to an invoice, the customer has an
outstanding credit with your company, or your company as an
outstanding balance with a vendor. You can use this outstanding
credit/debit to pay future invoices or bills.
Paying an invoice
=================
If you register a payment on a customer invoice or a vendor bill, the
payment is automatically reconciled with the invoice reducing the amount
due.
.. image:: ./media/recording01.png
:align: center
The green icon near the payment line will display more information about
the payment. From there you can choose to open the journal entry or
reconcile the payment.
.. note::
If you unreconcile a payment, it is still registered in your books but not
linked to the specific invoice any longer. If you unreconcile a payment in a
different currency, Odoo will create a journal entry to reverse the Currency
Exchange Loss/Gain posted at the time of reconciliation.
Payments not tied to an invoice
===============================
Registering a payment
---------------------
In the Accounting application, you can create a new payment from the
Sales menu (register a customer payment) or the Purchases menu (pay a
vendor). If you use these menus, the payment is not linked to an
invoice, but can easily be reconciled on an invoice later on.
.. image:: ./media/recording02.png
:align: center
When registering a new payment, you must select a customer or vendor,
the payment method, and the amount of the payment. The currency of the
transaction is defined by the payment method. If the payment refers to a
document (sale order, purchase order or invoice), set the reference of
this document in the memo field.
Once confirmed, a journal entry will be posted reflecting the
transaction just made in the accounting application.
Reconciling invoice payments
----------------------------
The easiest way of reconciling a payment with an invoice is to do so on
the invoice directly.
When validating a new invoice, Odoo will warn you that an outstanding
payment for this customer or vendor is available. In this case, you can
reconcile this payment to the invoice near the totals at the bottom,
under "Outstanding Payments".
.. image:: ./media/recording03.png
:align: center
Reconciling all your outstanding payments and invoices
------------------------------------------------------
If you want to reconcile all outstanding payments and invoices at once
(instead of doing so one by one), you can use the batch reconciliation
feature within Odoo.
The batch reconciliation feature is available from the dashboard on the
Customer Invoices card and the Vendor Bills card for reconciling
Accounts Receivable and Payable, respectively.
.. image:: ./media/recording04.png
:align: center
The payments matching tool will open all unreconciled customers or
vendors and will give you the opportunity to process them all one by
one, doing the matching of all their payments and invoices at once.
.. image:: ./media/recording05.png
:align: center
During the reconciliation, if the sum of the debits and credits do not
match, it means there is still a remaining balance that either needs to
be reconciled at a later date, or needs to be written off directly.
Transferring money from one bank account to another
===================================================
Just like making a customer or vendor payment, you transfer cash
internally between your bank accounts from the dashboard or from the
menus up top.
.. image:: ./media/recording06.png
:align: center
This will take you to the same screen you have for receiving and making
payments.
.. image:: ./media/recording07.png
:align: center
.. note::
When making an internal transfer from one bank account to another, select
the bank you want to apply the transfer from in the dashboard, and in the
register payments screen, you select the transfer to account. Do not go
through this process again in the other bank account or else you will end up
with two journal entries for the same transaction.
.. seealso::
* :doc:`credit_cards`
* :doc:`../../bank/feeds/paypal`
* :doc:`check`
* :doc:`followup`