[IMP] accounting: info about proforma label on invoices

task-3938154
task-3416326
task-2466972

closes odoo/documentation#11491

X-original-commit: 2920b764f1
Signed-off-by: Anne-Françoise Marcq (afma) <afma@odoo.com>
This commit is contained in:
afma-odoo 2024-09-12 12:59:58 +00:00
parent d53fbfc995
commit faa204e0a0
19 changed files with 184 additions and 158 deletions

View File

@ -4,225 +4,251 @@
Customer invoices Customer invoices
================= =================
From Customer Invoice to Payments Collection A customer invoice is a document issued by a company for products and/or services sold to a
============================================ customer. It records receivables as they are sent to customers. Customer invoices can include
amounts due for the goods and/or services provided, applicable sales taxes, shipping and handling
fees, and other charges.
Odoo supports multiple invoicing and payment workflows.
Odoo supports multiple invoicing and payment workflows, so you can .. seealso::
choose and use the ones that match your business needs. Whether you want :doc:`/applications/finance/accounting/customer_invoices/overview`
to accept a single payment for a single invoice, or process a payment
spanning multiple invoices and taking discounts for early payments, you
can do so efficiently and accurately.
From Draft Invoice to Profit and Loss From draft invoice to profit and loss report, the process involves several steps once the goods (or
------------------------------------- services) have been ordered/shipped (or rendered) to a customer, depending on the invoicing policy:
If we pick up at the end of a typical 'order to cash' scenario, after - :ref:`accounting/invoice/creation`
the goods have been shipped, you will: issue an invoice; receive - :ref:`accounting/invoice/confirmation`
payment; deposit that payment at the bank; make sure the Customer - :ref:`accounting/invoice/sending`
Invoice is closed; follow up if Customers are late; and finally present - :ref:`accounting/invoice/paymentandreconciliation`
your Income on the Profit and Loss report and show the decrease in - :ref:`accounting/invoice/followup`
Assets on the Balance Sheet report. - :ref:`accounting/invoice/reporting`
Invoicing in most countries occurs when a contractual obligation is met. .. _accounting/invoice/creation:
If you ship a box to a customer, you have met the terms of the contract
and can bill them. If your supplier sends you a shipment, they have met
the terms of that contract and can bill you. Therefore, the terms of the
contract is fulfilled when the box moves to or from the truck. At this
point, Odoo supports the creation of what is called a Draft Invoice by
Warehouse staff.
Invoice creation Invoice creation
---------------- ================
Draft invoices can be manually generated from other documents such as Draft invoices can be created directly from documents like sales orders or purchase orders or
Sales Orders, Purchase Orders,etc. Although you can create a draft manually from the :guilabel:`Customer Invoices` journal in the :guilabel:`Accounting Dashboard`.
invoice directly if you would like.
An invoice must be provided to the customer with the necessary An invoice must include the required information to enable the customer to pay promptly for their
information in order for them to pay for the goods and services ordered goods and services. Make sure the following fields are appropriately completed:
and delivered. It must also include other information needed to pay the
invoice in a timely and precise manner.
Draft invoices - :guilabel:`Customer`: When a customer is selected, Odoo automatically pulls information from the
-------------- customer record like the invoice address,
:doc:`preferred payment terms <customer_invoices/payment_terms>`,
:doc:`fiscal positions <taxes/fiscal_positions>`, receivable account, and more onto the invoice.
To change these values for this specific invoice, edit them directly on the invoice. To change
them for future invoices, change the values on the contact record.
- :guilabel:`Invoice Date`: If not set manually, this field is automatically set as the current date
upon confirmation.
- :guilabel:`Due Date` or :doc:`payment terms <customer_invoices/payment_terms>`: To specify when
the customer has to pay the invoice.
- :guilabel:`Journal`: Is automatically set and can be changed if needed.
- :doc:`Currency <get_started/multi_currency>`
- :guilabel:`Product`: Click :guilabel:`Add a line` to add a product.
- :guilabel:`Quantity`
- :guilabel:`Price`
- :doc:`Taxes <taxes>` (if applicable)
The system generates invoice which are initially set to the Draft state. .. tip::
While these invoices remain unvalidated, they have no accounting impact within the system. To display the total amount of the invoice in words, go to :menuselection:`Accounting -->
There is nothing to stop users from creating their own draft invoices. Configuration --> Settings` and activate the :guilabel:`Total amount of invoice in letters`
option.
Let's create a customer invoice with following information: The :guilabel:`Journal Items` tab displays the accounting entries created.
Additional invoice information such as the :guilabel:`Customer Reference`, :doc:`Fiscal Positions
<taxes/fiscal_positions>`, :doc:`Incoterms <customer_invoices/incoterms>`, and more can be added or
modified in the :guilabel:`Other Info` tab.
- Customer: Agrolait .. note::
- Product: iMac Odoo initially creates invoices in :guilabel:`Draft` status. Draft invoices have no accounting
- Quantity: 1 impact until they are :ref:`confirmed <accounting/invoice/confirmation>`.
- Unit Price: 100
- Taxes: Tax 15%
.. image:: customer_invoices/invoice01.png .. seealso::
:doc:`/applications/sales/sales/invoicing/proforma`
.. image:: customer_invoices/invoice02.png .. _accounting/invoice/confirmation:
The document is composed of three parts: Invoice confirmation
====================
- the top of the invoice, with customer information, Click :guilabel:`Confirm` when the document is completed. The document's status changes to
- the main body of the invoice, with detailed invoice lines, :guilabel:`Posted`, and a journal entry is generated based on the invoice configuration. On
- the bottom of the page, with detail about the taxes, and the totals. confirmation, Odoo assigns each document a unique number from a defined
:ref:`sequence <accounting/invoice/sequence>`.
Open or Pro-forma invoices .. note::
-------------------------- - Once confirmed, an invoice can no longer be updated. Click :guilabel:`Reset to draft` if
changes are needed.
- If required, invoices and other journal entries can be locked once posted
using the :ref:`Secure posted entries with hash <data-inalterability/restricted>` feature.
An invoice will usually include the quantity and the price of goods .. _accounting/invoice/sending:
and/or services, the date, any parties involved, the unique invoice
number, and any tax information.
"Validate" the invoice when you are ready to approve it. The invoice Invoice sending
then moves from the Draft state to the Open state. ===============
When you have validated an invoice, Odoo gives it a unique number from a To send the invoice to the customer, click :guilabel:`Send & Print`. A :guilabel:`Configure your
defined, and modifiable, sequence. document layout` pop-up window will appear if a :ref:`default invoice layout
<studio/pdf-reports/default-layout>` hasn't been customized. Then, select how to send this invoice
to the customer in the :guilabel:`Send` window.
.. image:: customer_invoices/invoice03.png To send and print multiple invoices, go to :menuselection:`Accounting --> Customers --> Invoices`
and select them. Then click the :icon:`fa-cog` :guilabel:`Actions` menu and select
:guilabel:`Send & Print`. A banner will appear on the selected invoices to indicate they are part of
an ongoing send and print batch. This helps prevent the process from being triggered manually again,
as it may take some time to complete for exceptionally large batches.
Accounting entries corresponding to this invoice are automatically .. _accounting/invoice/paymentandreconciliation:
generated when you validate the invoice. You can see the details by
clicking on the entry in the Journal Entry field in the "Other Info"
tab.
.. image:: customer_invoices/invoice04.png Payment and reconciliation
==========================
Send the invoice to customer In Odoo, an invoice is considered :guilabel:`Paid` when the associated accounting entry has been
---------------------------- reconciled with a corresponding bank transaction.
After validating the customer invoice, you can directly send it to the .. seealso::
customer via the 'Send by email' functionality. - :doc:`payments`
- :doc:`bank/reconciliation`
.. image:: customer_invoices/invoice05.png .. _accounting/invoice/followup:
A typical journal entry generated from a validated invoice will look Payment follow-up
like as follows: =================
+-----------------------+---------------+----------------+-------------+--------------+ Odoo's :doc:`follow-up actions <payments/follow_up>` help companies follow up on customer invoices.
| **Account** | **Partner** | **Due date** | **Debit** | **Credit** | Different actions can be set up to remind customers to pay their outstanding invoices, depending on
+=======================+===============+================+=============+==============+ how much the customer is overdue. These actions are bundled into follow-up levels that trigger when
| Accounts Receivable | Agrolait | 01/07/2015 | 115 | | an invoice is overdue by a certain number of days. If there are multiple overdue invoices for the
+-----------------------+---------------+----------------+-------------+--------------+ same customer, the actions are performed on the most overdue invoice.
| Taxes | Agrolait | | | 15 |
+-----------------------+---------------+----------------+-------------+--------------+
| Sales | | | | 100 |
+-----------------------+---------------+----------------+-------------+--------------+
Payment .. _accounting/invoice/sequence:
-------
In Odoo, an invoice is considered to be paid when the associated Sequence
accounting entry has been reconciled with the payment entries. If there ========
has not been a reconciliation, the invoice will remain in the Open state
until you have entered the payment.
A typical journal entry generated from a payment will look like as The sequence that Odoo assigns to each document is a unique number made up of a prefix and a number.
follows: The prefix combines the journal code and the entry date and is used to group entries by period. The
number is unique for each period and is used to identify the entry. The default sequence on customer
invoices is INV/YYYY/number. In some specific cases,
:ref:`resequencing <accounting/invoice/resequencing>` invoices might be necessary.
+-----------------------+---------------+----------------+-------------+--------------+ .. _accounting/invoice/resequencing:
| **Account** | **Partner** | **Due date** | **Debit** | **Credit** |
+=======================+===============+================+=============+==============+
| Bank | Agrolait | | 115 | |
+-----------------------+---------------+----------------+-------------+--------------+
| Accounts Receivable | Agrolait | | | 115 |
+-----------------------+---------------+----------------+-------------+--------------+
Receive a partial payment through the bank statement Resequencing
---------------------------------------------------- ------------
You can manually enter your bank statements in Odoo, or you can import Resequencing is not possible:
them in from a csv file or from several other predefined formats
according to your accounting localisation.
Create a bank statement from the accounting dashboard with the related - When entries are before a lock date.
journal and enter an amount of $100 . - When the sequence leads to a duplicate.
- When the :guilabel:`Invoice Date` doesn't match the date contained in the new sequence number,
e.g., if the sequence is changed to INV/2023/XXXXX for a document with an :guilabel:`Invoice Date`
of 2024.
.. image:: customer_invoices/invoice06.png To change the invoice sequence with the structure INV/YYYY/MM/number, add `/MM` with the number of
the month of the :guilabel:`Invoice date`. Odoo will recognize the "/" term as a month and update
the future invoice sequence appropriately with the month of the :guilabel:`Invoice date`. For
example, if the invoice date is January, change the sequence to `INV/2024/01/XXXXX`.
Reconcile In this case, if the :guilabel:`Invoice date` isn't aligned with the sequence number, a
--------- :guilabel:`Validation Error` message appears.
Now let's reconcile! .. note::
.. image:: customer_invoices/invoice07.png - All sequence changes are logged in the chatter to keep the information.
- Sequence changes also affect the format of future invoices' sequences.
You can now go through every transaction and reconcile them or you can mass reconcile with instructions at the bottom. .. _accounting/invoice/resequencing-one-invoice:
After reconciling the items in the sheet, the related invoice will now Resequencing a single invoice
display "You have outstanding payments for this customer. You can ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
reconcile them to pay this invoice. "
.. image:: customer_invoices/invoice08.png To resequence the last confirmed invoice, click :guilabel:`Reset to Draft`, then change the
sequence. The invoice now appears in red on the :guilabel:`Customer Invoices` list.
.. image:: customer_invoices/invoice09.png .. _accounting/invoice/mass-resequencing:
Apply the payment. Below, you can see that the payment has been added to Mass-resequencing invoices
the invoice. ~~~~~~~~~~~~~~~~~~~~~~~~~~
.. image:: customer_invoices/invoice10.png It can be helpful to resequence multiple invoice numbers. For example, when importing invoices from
another invoicing or accounting system and the reference originates from the previous software,
continuity for the current year must be maintained without restarting from the beginning.
Payment Followup .. note::
---------------- This feature is only available to users with administrator or advisor access.
There's a growing trend of customers paying bills later and later. Follow these steps to resequence invoice numbers:
Therefore, collectors must make every effort to collect money and
collect it faster.
Odoo will help you define your follow-up strategy. To remind customers #. Activate the :ref:`developer mode <developer-mode>`.
to pay their outstanding invoices, you can define different actions #. From the :guilabel:`Accounting Dashboard`, open the :guilabel:`Customer Invoices` journal.
depending on how severely overdue the customer is. These actions are #. Select the invoices that need a new sequence.
bundled into follow-up levels that are triggered when the due date of an #. Click the :icon:`fa-cog` :guilabel:`Actions` menu and select :guilabel:`Resequence`.
invoice has passed a certain number of days. If there are other overdue #. In the :guilabel:`Ordering` field, choose to
invoices for the same customer, the actions of the most overdue invoice
will be executed.
By going to the customer record and diving into the "Overdue Payments" - :guilabel:`Keep current order`: The order of the numbers remains the same.
you will see the follow-up message and all overdue invoices. - :guilabel:`Reorder by accounting date`: The number is reordered by accounting date.
#. Set the :guilabel:`First New Sequence`.
#. :guilabel:`Preview Modifications` and click :guilabel:`Confirm`.
.. image:: customer_invoices/invoice11.png The first invoice using the new sequence appears in red in the :guilabel:`Customer Invoices` list.
.. image:: customer_invoices/invoice12.png .. image:: customer_invoices/invoice-sequencing.png
:alt: Resequence options window
.. _customer-invoices/aging-report: .. _accounting/invoice/reporting:
Customer aging report: Reporting
~~~~~~~~~~~~~~~~~~~~~~ =========
The customer aging report will be an additional key tool for the .. _accounting/invoice/partner-reports:
collector to understand the customer credit issues, and to prioritize
their work.
Use the aging report to determine which customers are overdue and begin Partner reports
your collection efforts.
.. image:: customer_invoices/invoice13.png
Profit and loss
--------------- ---------------
The Profit and Loss statement displays your revenue and expense details. .. _accounting/invoices/partner-ledger:
Ultimately, this gives you a clear image of your Net Profit and Loss. It
is sometimes referred to as the "Income Statement" or "Statement of
Revenues and Expenses."
.. image:: customer_invoices/invoice14.png Partner Ledger
~~~~~~~~~~~~~~
The :guilabel:`Partner Ledger` report shows the balance of customers and suppliers. To access it,
go to :menuselection:`Accounting --> Reporting --> Partner Ledger`.
.. _accounting/invoices/aging-report:
Aged Receivable
~~~~~~~~~~~~~~~
To review outstanding customer invoices and their related due dates, use the
:ref:`Aged Receivable <accounting/reporting/aged-receivable>` report. To access it, go to
:menuselection:`Accounting --> Reporting --> Aged Receivable`.
.. _accounting/invoices/aged-payable:
Aged Payable
~~~~~~~~~~~~
To review outstanding vendor bills and their related due dates, use the
:ref:`Aged Payable <accounting/reporting/aged-payable>` report. To access it, go to
:menuselection:`Accounting --> Reporting --> Aged Payable`.
.. _accounting/invoices/profit-and-loss:
Profit and Loss
---------------
The :ref:`Profit and Loss <accounting/reporting/profit-and-loss>` statement shows details of income
and expenses.
.. _accounting/invoices/balance-sheet:
Balance sheet Balance sheet
------------- -------------
The balance sheet summarizes your company's liabilities, The :ref:`Balance Sheet <accounting/reporting/balance-sheet>` summarizes the company's assets,
assets and equity at a specific moment in time. liabilities, and equity at a specific time.
.. image:: customer_invoices/invoice15.png
.. image:: customer_invoices/invoice16.png
For example, if you manage your inventory using the perpetual accounting
method, you should expect a decrease in account "Current Assets" once
the material has been shipped to the customer.
.. toctree:: .. toctree::
:titlesonly: :titlesonly:

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

View File

@ -116,7 +116,7 @@ for every computed *due date*.
This makes for easier :doc:`follow-ups </applications/finance/accounting/payments/follow_up>` and This makes for easier :doc:`follow-ups </applications/finance/accounting/payments/follow_up>` and
:doc:`reconciliation </applications/finance/accounting/bank/reconciliation>` since Odoo takes each :doc:`reconciliation </applications/finance/accounting/bank/reconciliation>` since Odoo takes each
due date into account, rather than just the balance due date. It also helps to get an accurate due date into account, rather than just the balance due date. It also helps to get an accurate
:ref:`aged receivable report <customer-invoices/aging-report>`. :ref:`aged receivable report <accounting/invoices/aging-report>`.
.. example:: .. example::
.. image:: payment_terms/journal-entry.png .. image:: payment_terms/journal-entry.png