Compare commits
38 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
c61b9b1426 |
[ADD] Purchase: Templates
Co-authored-by: dikd-odoo <dikd@odoo.com> Co-authored-by: Felicia Kuan <feku@odoo.com> Co-authored-by: Sam Lieber (sali) <36018073+samueljlieber@users.noreply.github.com> |
||
|
|
d2c610179a |
[IMP] accounting: clarify invoice sequence format
task-4564980 closes odoo/documentation#12053 Signed-off-by: Xavier Platteau (xpl) <xpl@odoo.com> |
||
|
|
35f2768359 |
[IMP] accounting/transactions: view/edit/print statements
Explains how to view, edit, and print statements from both kanban and list views of transactions.
task-4320158
closes odoo/documentation#12028
X-original-commit:
|
||
|
|
7529565384 | [I18N] *: fetch 18.0 translations | ||
|
|
1e412a8780 | [I18N] Update translation terms from Transifex | ||
|
|
77d4d6e359 |
[IMP] data cleaning: content improvements
closes odoo/documentation#12092
X-original-commit:
|
||
|
|
c0dd6b7d1c |
[ADD] sales: gelato integration
edit image sizes edits Apply suggestions from FEKU review edits Apply suggestions from FEKU review edits Apply suggestions from FEKU review edits Update content/applications/sales/sales/gelato.rst edits Apply suggestions from ZST review edits edits sales file Apply suggestions from SALI review Apply suggestions from SALI review2 images Edits closes odoo/documentation#12001 Signed-off-by: Dina Klarisse Dugar (dikd) <dikd@odoo.com> Co-authored-by: Felicia Kuan <feku@odoo.com> Co-authored-by: Felicia Kuan <feku@odoo.com> Co-authored-by: Felicia Kuan <feku@odoo.com> Co-authored-by: Felicia Kuan <feku@odoo.com> Co-authored-by: Zachary Straub <zst@odoo.com> Co-authored-by: Sam Lieber (sali) <36018073+samueljlieber@users.noreply.github.com> Co-authored-by: Sam Lieber (sali) <36018073+samueljlieber@users.noreply.github.com> |
||
|
|
cd2e27084d |
[IMP] sales: subscription products in ecommerce
closes odoo/documentation#12043
X-original-commit:
|
||
|
|
a00a6f5583 |
[FIX] developer/mixins: chatter integration instructions in form view
Previously, the chatter integration instructions described an outdated method using fields and widgets. However, the integration approach has changed, requiring only the `<chatter/ >` element in the form view with configurable options. This commit updates the instructions accordingly. See odoo/odoo@351b047c37 closes odoo/documentation#12057 Signed-off-by: Victor Feyens (vfe) <vfe@odoo.com> |
||
|
|
84051ad9de |
[ADD] sale_shopee: Shopee Connector
Documentation on the benefits of the new shopee connector and guidelines for odoo users. tasks-3623720 closes odoo/documentation#11984 Signed-off-by: Samuel Lieber (sali) <sali@odoo.com> |
||
|
|
5fbab9eba4 |
[IMP] inventory: add a delivery
closes odoo/documentation#12033 Signed-off-by: Jessica Rogers (jero) <jero@odoo.com> Co-authored-by: dikd-odoo <dikd@odoo.com> Co-authored-by: Sam Lieber (sali) <36018073+samueljlieber@users.noreply.github.com> |
||
|
|
01cf1d3dd7 |
[IMP] inventory: notifs for expiration dates
closes odoo/documentation#12054 Signed-off-by: Jessica Rogers (jero) <jero@odoo.com> Co-authored-by: larm-odoo <121518652+larm-odoo@users.noreply.github.com> Co-authored-by: Sam Lieber (sali) <36018073+samueljlieber@users.noreply.github.com> |
||
|
|
a55fdb6313 |
[FIX] resource folder match
closes odoo/documentation#12074 Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com> Signed-off-by: Samuel Lieber (sali) <sali@odoo.com> |
||
|
|
a4b841afce |
[FIX] clean unused resource files
Part-of: odoo/documentation#12074 Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com> Signed-off-by: Samuel Lieber (sali) <sali@odoo.com> |
||
|
|
3f1f02200b |
[IMP] tests: check resource file referenced
Part-of: odoo/documentation#12074 Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com> Signed-off-by: Samuel Lieber (sali) <sali@odoo.com> |
||
|
|
faca8a4bda |
[ADD] l10n_in: add TDS/TCS threshold alert (India)
This PR is backporting of this commit: https://github.com/odoo/documentation/pull/11109/commits/4452b60b5cddb46d45bb8a6b992f0cf10df75c96 This commit introduces TDS/TCS Alert documentation for Indian localization. closes odoo/documentation#12075 Signed-off-by: Raj Bhuva (bhra) <bhra@odoo.com> |
||
|
|
c9fca6c3b6 |
[ADD] Barcode: Processing a transfer
closes odoo/documentation#11979 Signed-off-by: Samuel Lieber (sali) <sali@odoo.com> Co-authored-by: Felicia Kuan <feku@odoo.com> |
||
|
|
3941e55043 |
[IMP] marketing automation: content improvements
closes odoo/documentation#12060
X-original-commit:
|
||
|
|
4b6e34efc5 |
[IMP] studio: automation rules correction
Task-3761784 closes odoo/documentation#12052 Signed-off-by: Audrey Vandromme (auva) <auva@odoo.com> |
||
|
|
7368ad782b | [I18N] *: fetch 18.0 translations | ||
|
|
c4bfeb9cae |
[IMP] website: remove slash in redirect rule expression
task-4113085
closes odoo/documentation#12049
X-original-commit:
|
||
|
|
f4c16bc722 |
[IMP] data cleaning: field cleaning
closes odoo/documentation#12038
X-original-commit:
|
||
|
|
aa5d9911b3 |
[IMP] Inventory: Adjustments edit
closes odoo/documentation#12034 Signed-off-by: Samuel Lieber (sali) <sali@odoo.com> |
||
|
|
5c72ee6f63 |
[IMP] studio: adding link about accessing studio
Task-3761784 closes odoo/documentation#11999 Signed-off-by: Xavier Platteau (xpl) <xpl@odoo.com> Signed-off-by: Siobhan McGonigle (mcsi) <mcsi@odoo.com> |
||
|
|
123ea24f91 |
[IMP] Calendar: Outlook calendar configuration
closes odoo/documentation#12021
X-original-commit:
|
||
|
|
8495357d6e |
[IMP] fiscal_localizations: Documentation for l10n_it_riba
Since the feature was released, lots of partners ask for
information/documentation about the RIBA feature. Add a concise
documentation explaining what users should know.
Ref: odoo/enterprise#74097
task-4497749
closes odoo/documentation#12005
X-original-commit:
|
||
|
|
52d8565f02 |
[IMP] accounting: update payment matching feature
task-3518648 closes odoo/documentation#11923 Signed-off-by: Audrey Vandromme (auva) <auva@odoo.com> |
||
|
|
b6e6515fbf |
[IMP] accounting: Update customer invoices page for 18.0
task-3416326 closes odoo/documentation#11813 Signed-off-by: Audrey Vandromme (auva) <auva@odoo.com> |
||
|
|
49b75e3213 |
[IMP] project: project dashboard minor corrections
closes odoo/documentation#12009 Signed-off-by: Audrey Vandromme (auva) <auva@odoo.com> |
||
|
|
bb69f01e71 |
[IMP] pos_urban_piper: clarify combo product handling
In this commit: - Added a note explaining that UrbanPiper does not support combo products. - Users need to create a new product and add combo items as variants to use them with UrbanPiper. task-4546712 closes odoo/documentation#11954 Signed-off-by: Loredana Perazzo (lrpz) <lrpz@odoo.com> |
||
|
|
c7fb228d91 | [I18N] Update translation terms from Transifex | ||
|
|
75f0258d19 |
[IMP] inventory: CRL - replenishment & visibility days
closes odoo/documentation#11966
X-original-commit:
|
||
|
|
7e375cfd54 |
[IMP] Inventory: Adjustments 18.0
closes odoo/documentation#11930 Signed-off-by: Jessica Rogers (jero) <jero@odoo.com> Co-authored-by: larm-odoo <121518652+larm-odoo@users.noreply.github.com> Co-authored-by: Felicia Kuan <feku@odoo.com> |
||
|
|
853583b0ce |
[FIX] coding_guidelines: fix the alphabetic orders for the import
In odoo, as we suggest everyone to follow an alphebetic order.
The translator(`_`), ASCII is 95 and `a` ASCII value is 97
which '_' < 'a', the translator should be defined first in the
import before the `api` not at the end of the import
This commits adds an example to import static class `Command`
with a Capital alphabet with a ASCII value of `C` as 67
which will be before than the `_`
'C' < '_' < 'a'
This order of import should be followed while the import
closes odoo/documentation#11990
X-original-commit:
|
||
|
|
d7c0cdddbf |
[IMP] l10n_vn: SInvoice documentation
Recently, a new module released to support integration of Odoo with SInvoice to support e-invoicing for Vietnam.
task - 3631616
closes odoo/documentation#11974
X-original-commit:
|
||
|
|
be14393043 |
[IMP] Inventory: Merged cycle count docs and updated for 17.0
closes odoo/documentation#11731
X-original-commit:
|
||
|
|
6ad97e2fea |
[IMP] applications/sales: prepare files for future Gelato documentation
task-3935688 closes odoo/documentation#11823 Related: odoo/odoo#193457 Related: odoo/enterprise#77839 Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com> |
||
|
|
27acb59d79 |
[IMP] accounting/l10n_ar: purchase withholding automation
Add new section Withholding Management Content based on v18 closes odoo/documentation#11770 Signed-off-by: Samuel Lieber (sali) <sali@odoo.com> Co-authored-by: Liz Bender (beli) <beli@odoo.com> Co-authored-by: samueljlieber <sali@odoo.com> Co-authored-by: dade-odoo <87431108+dade-odoo@users.noreply.github.com> |
@@ -23,7 +23,7 @@ Edit Security Settings --> Delete Account`. It can also be accessed by going to
|
||||
Upon clicking the :guilabel:`Delete Account` button, a pop-up window appears, requesting
|
||||
confirmation for the account deletion.
|
||||
|
||||
.. image:: odoo_account/delete-account.png
|
||||
.. image:: odoo_accounts/delete-account.png
|
||||
:align: center
|
||||
:alt: Clicking on the Delete Account button will populate a window verifying the change.
|
||||
|
||||
|
||||
|
Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 18 KiB |
|
Before Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 8.7 KiB |
|
Before Width: | Height: | Size: 3.4 KiB |
@@ -120,6 +120,8 @@ You can edit the currency used to enter the transactions.
|
||||
.. seealso::
|
||||
:doc:`get_started/multi_currency`
|
||||
|
||||
.. _accounting/bank/account-number:
|
||||
|
||||
Account number
|
||||
--------------
|
||||
|
||||
|
||||
|
Before Width: | Height: | Size: 9.0 KiB |
@@ -21,25 +21,23 @@ Import transactions
|
||||
|
||||
Odoo supports multiple file formats to import transactions:
|
||||
|
||||
- SEPA recommended Cash Management format (CAMT.053);
|
||||
- Comma-separated values (.CSV);
|
||||
- Open Financial Exchange (.OFX);
|
||||
- Quicken Interchange Format (.QIF);
|
||||
- Belgium: Coded Statement of Account (.CODA).
|
||||
- SEPA recommended Cash Management format (CAMT.053)
|
||||
- Comma-separated values (CSV)
|
||||
- Open Financial Exchange (OFX)
|
||||
- Quicken Interchange Format (QIF)
|
||||
- Belgium: Coded Statement of Account (CODA)
|
||||
|
||||
To import a file, go to the **Accounting Dashboard**, and in the :guilabel:`Bank` journal,
|
||||
To import a file, go to the :guilabel:`Accounting Dashboard`, and in the :guilabel:`Bank` journal,
|
||||
click on :guilabel:`Import File`.
|
||||
|
||||
.. tip::
|
||||
Alternatively, you can also:
|
||||
|
||||
- click :guilabel:`⋮` on the :guilabel:`Bank` journal and select :guilabel:`Import file`;
|
||||
- or access the transaction list by clicking :guilabel:`⋮` on the :guilabel:`Bank` journal and
|
||||
selecting :guilabel:`Transactions`, then click the gear icon :guilabel:`(⚙)` and select
|
||||
:guilabel:`Import records`.
|
||||
|
||||
.. image:: transactions/import-transactions.png
|
||||
:alt: Import bank transactions from the bank journal
|
||||
- click the :icon:`fa-ellipsis-v` :guilabel:`(ellipsis)` icon on the :guilabel:`Bank`
|
||||
journal and select :guilabel:`Import file`;
|
||||
- or access the transaction list by clicking the :icon:`fa-ellipsis-v` :guilabel:`(ellipsis)`
|
||||
icon on the :guilabel:`Bank` journal and selecting :guilabel:`Transactions`, then click
|
||||
the :icon:`fa-cog` :guilabel:`(gear)` icon and select :guilabel:`Import records`.
|
||||
|
||||
Next, select the file and upload it.
|
||||
|
||||
@@ -75,22 +73,28 @@ on your business flow, you may want to record them for control purposes.
|
||||
account balance as of the date you begin synchronizing or importing transactions. This is
|
||||
necessary to ensure the accuracy of your accounting.
|
||||
|
||||
To access a list of statements, go to your :guilabel:`Accounting Dashboard`, click on the vertical
|
||||
ellipsis (:guilabel:`⋮`) button next to the bank or cash journal you want to check, then on
|
||||
:guilabel:`Statements`
|
||||
To access a list of existing statements, go to the :guilabel:`Accounting Dashboard`, click the
|
||||
:icon:`fa-ellipsis-v` :guilabel:`(ellipsis)` icon next to the bank or cash journal you want to
|
||||
check, then click :guilabel:`Statements`.
|
||||
|
||||
.. _transactions/statement-kanban:
|
||||
|
||||
Statement creation from the kanban view
|
||||
---------------------------------------
|
||||
|
||||
Open the bank reconciliation view by clicking on the name of the bank journal, and identify the
|
||||
transaction corresponding to the last transaction of your bank statement. Click on the
|
||||
:guilabel:`STATEMENT` button when hovering on the upper separator line.
|
||||
Open the bank reconciliation (kanban) view from the :guilabel:`Accounting Dashboard` by clicking on
|
||||
the name of the bank journal and identify the transaction corresponding to the last (most recent)
|
||||
transaction of your bank statement. Click on the :guilabel:`Statement` button when hovering on the
|
||||
upper separator line to create a statement from that transaction down to the oldest transaction that
|
||||
is not yet part of a statement.
|
||||
|
||||
.. image:: transactions/statements-kanban.png
|
||||
:alt: A "STATEMENT" button is visible when hovering on the line separating two transactions.
|
||||
:alt: A "Statement" button is visible when hovering on the line separating two transactions.
|
||||
|
||||
Fill out the statement's details and save. The newly created statement includes the previous
|
||||
transactions following the last statement.
|
||||
In the :guilabel:`Create Statement` window, fill out the statement's :guilabel:`Reference`, verify
|
||||
its :guilabel:`Starting Balance` and :guilabel:`Ending Balance`, and click :guilabel:`Save`.
|
||||
|
||||
.. _transactions/statement-list:
|
||||
|
||||
Statement creation from the list view
|
||||
-------------------------------------
|
||||
@@ -100,3 +104,35 @@ view. Select all the transactions corresponding to the bank statement, and, in t
|
||||
:guilabel:`Statement` column, select an existing statement or create a new one by typing its
|
||||
reference, clicking on :guilabel:`Create and edit...`, filling out the statement's details, and
|
||||
saving.
|
||||
|
||||
.. _transactions/view-edit-print:
|
||||
|
||||
Statement viewing, editing, and printing
|
||||
----------------------------------------
|
||||
|
||||
To view an existing statement, click on the statement amount in the reconciliation (kanban) view or
|
||||
click on the statement name in the bank transaction list view. From here, you can edit the
|
||||
:guilabel:`Reference`, :guilabel:`Starting Balance`, or :guilabel:`Ending Balance`.
|
||||
|
||||
.. note::
|
||||
Manually updating the :guilabel:`Starting Balance` automatically updates the :guilabel:`Ending
|
||||
Balance` based on the new value of the :guilabel:`Starting Balance` and the value of the
|
||||
statement's transactions.
|
||||
|
||||
.. warning::
|
||||
If the :guilabel:`Starting Balance` doesn't equal the previous statement's :guilabel:`Ending
|
||||
Balance`, or if the :guilabel:`Ending Balance` doesn't equal the running balance
|
||||
(:guilabel:`Starting Balance` plus the statement's transactions), a warning appears explaining
|
||||
the issue. To maintain flexibility, it is still possible to save without first resolving the
|
||||
issue.
|
||||
|
||||
To attach a digital copy (i.e., JPEG, PNG, or PDF) of the bank statement for enhanced recordkeeping,
|
||||
click the :icon:`fa-paperclip` :guilabel:`Attachments` button and select the file to attach.
|
||||
|
||||
To generate and print a PDF of the bank statement, click the :guilabel:`Print` button (if accessed
|
||||
via the reconciliation view) or click on the :icon:`fa-cog`:guilabel:`(gear)` icon and click
|
||||
:icon:`fa-print`:guilabel:`Statement` (if accessed via the list view).
|
||||
|
||||
.. note::
|
||||
When a bank statement is generated to be printed, it is automatically added to the
|
||||
:guilabel:`Attachments`.
|
||||
|
||||
|
Before Width: | Height: | Size: 13 KiB |
|
Before Width: | Height: | Size: 17 KiB After Width: | Height: | Size: 23 KiB |
@@ -7,8 +7,7 @@ Customer invoices
|
||||
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.
|
||||
fees, and other charges. Odoo supports multiple invoicing and payment workflows.
|
||||
|
||||
.. seealso::
|
||||
:doc:`/applications/finance/accounting/customer_invoices/overview`
|
||||
@@ -44,22 +43,31 @@ goods and services. Make sure the following fields are appropriately completed:
|
||||
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:`Journal`: Automatically set and can be changed if needed.
|
||||
- :doc:`Currency <get_started/multi_currency>`. If the invoice's currency differs from the
|
||||
company's currency, the currency exchange rate is automatically displayed.
|
||||
|
||||
In the :guilabel:`Invoice Lines` tab:
|
||||
|
||||
- :guilabel:`Product`: Click :guilabel:`Add a line`, then search for and select the product.
|
||||
- :guilabel:`Quantity`
|
||||
- :guilabel:`Price`
|
||||
- :doc:`Taxes <taxes>` (if applicable)
|
||||
|
||||
To access the product catalog and view all items in an organized display, click :doc:`Catalog
|
||||
</applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/product_catalog>`.
|
||||
When the products and quantities are selected, click :guilabel:`Back to Invoice` to return to the
|
||||
invoice; the selected catalog items will appear in the invoice lines.
|
||||
|
||||
.. tip::
|
||||
To display the total amount of the invoice in words, go to :menuselection:`Accounting -->
|
||||
Configuration --> Settings` and activate the :guilabel:`Total amount of invoice in letters`
|
||||
option.
|
||||
|
||||
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.
|
||||
The :guilabel:`Journal Items` tab displays the accounting entries created. Additional invoice
|
||||
information such as the :guilabel:`Customer Reference`, :guilabel:`Payment 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.
|
||||
|
||||
.. note::
|
||||
Odoo initially creates invoices in :guilabel:`Draft` status. Draft invoices have no accounting
|
||||
@@ -73,32 +81,72 @@ modified in the :guilabel:`Other Info` tab.
|
||||
Invoice confirmation
|
||||
====================
|
||||
|
||||
Click :guilabel:`Confirm` when the document is completed. The document's status changes to
|
||||
Click :guilabel:`Confirm` when the invoice is completed. The invoice's status changes to
|
||||
:guilabel:`Posted`, and a journal entry is generated based on the invoice configuration. On
|
||||
confirmation, Odoo assigns each document a unique number from a defined
|
||||
:ref:`sequence <accounting/invoice/sequence>`.
|
||||
confirmation, Odoo assigns each invoice a unique number from a defined :ref:`sequence
|
||||
<accounting/invoice/sequence>`.
|
||||
|
||||
.. 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.
|
||||
- If required, invoices and other journal entries can be locked once posted using the
|
||||
:ref:`Secure posted entries with hash <data-inalterability/restricted>` feature.
|
||||
|
||||
.. _accounting/invoice/sending:
|
||||
|
||||
Invoice sending
|
||||
===============
|
||||
|
||||
To send the invoice to the customer, click :guilabel:`Send & Print`. A :guilabel:`Configure your
|
||||
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.
|
||||
To set a preferred :guilabel:`Invoice sending` method for a customer, go to
|
||||
:menuselection:`Accounting --> Customers --> Customers` and select the customer. In the
|
||||
:guilabel:`Accounting` tab of the contact form, select the preferred :guilabel:`Invoice sending`
|
||||
method in the :guilabel:`Customer Invoices` section.
|
||||
|
||||
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.
|
||||
.. note::
|
||||
Sending letters in Odoo requires :doc:`In-App Purchase (IAP) <../../essentials/in_app_purchase>`
|
||||
credit or tokens.
|
||||
|
||||
To send the invoice to the customer, navigate back to the invoice record and follow these steps:
|
||||
|
||||
#. Click :guilabel:`Print & Send`.
|
||||
#. If the :ref:`default invoice layout <studio/pdf-reports/default-layout>` has not been customized
|
||||
yet, a :guilabel:`Configure your document layout` pop-up window appears. Configure the layout and
|
||||
click :guilabel:`Continue`.
|
||||
|
||||
.. note::
|
||||
- The document layout can be changed at any time in the general settings.
|
||||
- To add a QR code for banking app payments to the invoice, enable the :guilabel:`QR Code`
|
||||
option in the :guilabel:`Configure Your Document Layout` window. To modify this option, go
|
||||
to :menuselection:`Accounting --> Configuration --> Settings`, scroll down to the
|
||||
:guilabel:`Customer Payments` section, and enable/disable the :guilabel:`QR Codes` option.
|
||||
|
||||
#. In the :guilabel:`Print & Send` window:
|
||||
|
||||
- If a preferred :guilabel:`Invoice sending` method was set in the contact form, it is selected
|
||||
by default. Select another one if needed.
|
||||
- If no preferred :guilabel:`Invoice sending` method was set in the contact form, select the
|
||||
method to use for sending the invoice to the customer.
|
||||
|
||||
#. Click :guilabel:`Print & Send` if the :guilabel:`by Email` option is selected, or click
|
||||
:guilabel:`Print`.
|
||||
|
||||
.. _accounting/invoice/sending-multiple-invoices:
|
||||
|
||||
Sending multiple invoices
|
||||
-------------------------
|
||||
|
||||
To send and print multiple invoices, go to :menuselection:`Accounting --> Customers --> Invoices`,
|
||||
select them in the :guilabel:`Invoices` list view and click :guilabel:`Print & Send`. The
|
||||
:guilabel:`Print & Send` window displays the selected invoice sending methods based on the preferred
|
||||
method set.
|
||||
|
||||
A banner is added to 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.
|
||||
|
||||
To check all invoices that have not yet been sent, go to :menuselection:`Accounting --> Customers
|
||||
--> Invoices`. In the :guilabel:`Invoices` list view, click into the search bar and filter on
|
||||
:guilabel:`Not Sent`.
|
||||
|
||||
.. _accounting/invoice/paymentandreconciliation:
|
||||
|
||||
@@ -125,53 +173,45 @@ same customer, the actions are performed on the most overdue invoice.
|
||||
|
||||
.. _accounting/invoice/sequence:
|
||||
|
||||
Sequence
|
||||
========
|
||||
Invoice sequence
|
||||
================
|
||||
|
||||
The sequence that Odoo assigns to each document is a unique number made up of a prefix and a number.
|
||||
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.
|
||||
When confirming an invoice, Odoo generates a unique invoice reference number. By default, Odoo uses
|
||||
the following sequence format `INV/year/incrementing-number` (e.g., `INV/2025/00001`), which
|
||||
restarts from `00001` each year.
|
||||
|
||||
However, it is possible to :ref:`change the sequence format <accounting/invoice/resequencing>` and
|
||||
its periodicity, and to :ref:`mass-resequence invoices <accounting/invoice/mass-resequencing>`.
|
||||
|
||||
.. note::
|
||||
Changes made to reference numbers are logged in the chatter.
|
||||
|
||||
.. _accounting/invoice/resequencing:
|
||||
|
||||
Resequencing
|
||||
------------
|
||||
Changing the default sequence
|
||||
-----------------------------
|
||||
|
||||
Resequencing is not possible:
|
||||
To customize the default sequence, open the last confirmed invoice, click :guilabel:`Reset to
|
||||
Draft`, and edit the invoice's reference number.
|
||||
|
||||
- When entries are before a lock date.
|
||||
- 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/reference-number.png
|
||||
:alt: Editing the reference number of an invoice.
|
||||
|
||||
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`.
|
||||
Odoo then explains how the detected format will be applied to all future invoices. For example, if
|
||||
the current invoice's month is added, the sequence's periodicity will change to every month instead
|
||||
of every year.
|
||||
|
||||
In this case, if the :guilabel:`Invoice date` isn't aligned with the sequence number, a
|
||||
:guilabel:`Validation Error` message appears.
|
||||
.. image:: customer_invoices/sequence-dialog.png
|
||||
:alt: Editing the reference number of an invoice.
|
||||
|
||||
.. note::
|
||||
|
||||
- All sequence changes are logged in the chatter to keep the information.
|
||||
- Sequence changes also affect the format of future invoices' sequences.
|
||||
|
||||
.. _accounting/invoice/resequencing-one-invoice:
|
||||
|
||||
Resequencing a single invoice
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
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.
|
||||
.. tip::
|
||||
The sequence format can be edited directly when creating the first invoice of a given sequence
|
||||
period.
|
||||
|
||||
.. _accounting/invoice/mass-resequencing:
|
||||
|
||||
Mass-resequencing invoices
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
--------------------------
|
||||
|
||||
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,
|
||||
@@ -190,6 +230,7 @@ Follow these steps to resequence invoice numbers:
|
||||
|
||||
- :guilabel:`Keep current order`: The order of the numbers remains the same.
|
||||
- :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`.
|
||||
|
||||
@@ -221,18 +262,18 @@ go to :menuselection:`Accounting --> Reporting --> Partner Ledger`.
|
||||
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`.
|
||||
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`.
|
||||
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:
|
||||
|
||||
|
||||
|
Before Width: | Height: | Size: 6.9 KiB |
|
After Width: | Height: | Size: 6.7 KiB |
|
After Width: | Height: | Size: 9.1 KiB |
|
Before Width: | Height: | Size: 3.0 KiB |
|
Before Width: | Height: | Size: 4.2 KiB |
|
Before Width: | Height: | Size: 3.1 KiB |
@@ -20,39 +20,110 @@ for use at a later date:
|
||||
- `Odoo Tutorials: Bank Configuration
|
||||
<https://www.odoo.com/slides/slide/bank-configuration-6832>`_
|
||||
|
||||
.. _accounting/payments/payment-methods:
|
||||
|
||||
Payment methods
|
||||
===============
|
||||
|
||||
Several payment methods are available in Odoo to allow different configurations for different types
|
||||
of payments. Examples of payment methods include manual payments (such as cash), :doc:`checks
|
||||
<payments/pay_checks>`, and batch payment files (such as :ref:`NACHA
|
||||
<l10n_us/ach-electronic-transfers>` and :doc:`SEPA <payments/pay_sepa>`). Payment methods can be
|
||||
configured in the :guilabel:`Incoming Payments` and :guilabel:`Outgoing Payments` tabs of a bank or
|
||||
cash journal.
|
||||
|
||||
.. seealso::
|
||||
:doc:`../../sales/point_of_sale/payment_methods` for Point of Sale
|
||||
|
||||
.. _accounting/payments/preferred-payment-methods:
|
||||
|
||||
Preferred payment method
|
||||
------------------------
|
||||
|
||||
A contact's preferred payment method can be set so that when a payment is created for that contact,
|
||||
the payment method is automatically selected by default. Invoices and bills can be filtered by
|
||||
:guilabel:`Payment Method` to simplify :ref:`group <accounting/payments/group-payments>` payments.
|
||||
|
||||
To set a preferred :guilabel:`Payment Method` for a customer or a vendor, go to
|
||||
:menuselection:`Accounting --> Customers --> Customers` or :menuselection:`Accounting --> Vendors
|
||||
--> Vendors` and select the customer or vendor. In the :guilabel:`Sales & Purchase` tab of the
|
||||
contact form, select the preferred :guilabel:`Payment Method` in the :guilabel:`Sales` section for
|
||||
invoice payments or for vendor bill payments in the :guilabel:`Purchase` section.
|
||||
|
||||
.. tip::
|
||||
Access a full list of all contacts from the :guilabel:`Customers` or :guilabel:`Vendors` list
|
||||
view by removing the :guilabel:`Customers` or :guilabel:`Vendors` filter. Alternatively, access
|
||||
the full contact list through the Contacts app.
|
||||
|
||||
.. _accounting/payments/from-invoice-bill:
|
||||
|
||||
Registering payment from an invoice or bill
|
||||
===========================================
|
||||
|
||||
When clicking :guilabel:`Register payment` in a customer invoice or vendor bill, it generates a new
|
||||
journal entry and changes the amount due according to the payment amount. The counterpart is
|
||||
reflected in an :ref:`outstanding <accounting/bank/outstanding-accounts>` **receipts** or
|
||||
**payments** account. At this point, the customer invoice or vendor bill is marked as :guilabel:`In
|
||||
payment`. Then, when the outstanding account is reconciled with a bank transaction line, the invoice
|
||||
or vendor bill changes to the :guilabel:`Paid` status.
|
||||
To register a payment for an invoice or a bill, follow these steps:
|
||||
|
||||
The :icon:`fa-info-circle` information icon next to the payment line displays more
|
||||
information about the payment. To access additional information, such as the related journal, click
|
||||
:guilabel:`View`.
|
||||
#. Click :guilabel:`Pay` on a customer invoice or vendor bill. In the :guilabel:`Pay` window, select
|
||||
the :guilabel:`Journal` and the :guilabel:`Payment Date`.
|
||||
#. If previously set, the contact's preferred :guilabel:`Payment Method` is automatically selected
|
||||
by default but can be updated if necessary.
|
||||
#. If using :doc:`payment terms <customer_invoices/payment_terms>`, the :guilabel:`Amount` is
|
||||
automatically set based on the installment amounts defined by the payment term. To pay the full
|
||||
amount instead, click :guilabel:`full amount`.
|
||||
#. If necessary, edit the :guilabel:`Memo`.
|
||||
#. Click :guilabel:`Create Payment`.
|
||||
|
||||
.. image:: payments/information-icon.png
|
||||
:alt: See detailed information of a payment.
|
||||
After the payment is registered, the customer invoice or vendor bill is marked as
|
||||
:guilabel:`In payment`.
|
||||
|
||||
.. note::
|
||||
- The customer invoice or vendor bill must be in the :guilabel:`Posted` status to register the
|
||||
payment.
|
||||
- If a payment is unreconciled, it still appears in the books but is no longer linked to the
|
||||
invoice.
|
||||
- If a payment is (un)reconciled in a different currency, a journal entry is automatically
|
||||
created to post the currency exchange gains/losses (reversal) amount.
|
||||
- If a payment is (un)reconciled and an invoice with cash-basis taxes, a journal entry is
|
||||
automatically created to post the cash-basis tax (reversal) amount.
|
||||
.. tabs::
|
||||
|
||||
.. tip::
|
||||
If the main bank account is set as an :ref:`outstanding account
|
||||
<accounting/bank/outstanding-accounts>`, and the payment is registered in Odoo (not through a
|
||||
related bank transaction), invoices and bills are directly registered as :guilabel:`Paid`.
|
||||
.. group-tab:: Without outstanding accounts
|
||||
|
||||
If no :ref:`outstanding accounts <accounting/bank/outstanding-accounts>` are configured, no
|
||||
journal entry is created. To display more information about the payment, click the
|
||||
:guilabel:`Payments` smart button.
|
||||
|
||||
When the invoice or vendor bill is :doc:`reconciled <bank/reconciliation>` with a bank
|
||||
transaction, its status is updated to :guilabel:`Paid`.
|
||||
|
||||
.. note::
|
||||
- If a bank transaction is reconciled in a different currency, a journal entry is
|
||||
automatically created to post the currency exchange gains/loss amount.
|
||||
- When a bank transaction is reconciled with an invoice with cash-basis, a journal entry is
|
||||
automatically created to post the cash-basis tax amount.
|
||||
|
||||
.. group-tab:: Using outstanding accounts
|
||||
|
||||
By default, payments in Odoo do not create journal entries, but they can easily be configured
|
||||
to create journal entries using :ref:`outstanding accounts
|
||||
<accounting/bank/outstanding-accounts>`.
|
||||
|
||||
Registering a payment on a customer invoice or vendor bill generates a new journal entry and
|
||||
reduces the :guilabel:`Amount Due` based on the payment amount. The counterpart is
|
||||
reflected in an :ref:`outstanding <accounting/bank/outstanding-accounts>` **receipts** or
|
||||
**payments** account. At this point, the customer invoice or vendor bill is marked as
|
||||
:guilabel:`In payment`. Then, when the payment is :doc:`reconciled <bank/reconciliation>` with
|
||||
a bank transaction, the invoice or vendor bill status changes to :guilabel:`Paid`.
|
||||
|
||||
The :icon:`fa-info-circle` information icon next to the payment line displays more
|
||||
information about the payment. To access additional information, such as the related journal,
|
||||
click :guilabel:`View`.
|
||||
|
||||
.. image:: payments/information-icon.png
|
||||
:alt: See detailed information of a payment.
|
||||
|
||||
.. note::
|
||||
- Unreconciling a payment unlinks it from the invoice or bill but does not delete the
|
||||
payment.
|
||||
- If a payment is (un)reconciled in a different currency, a journal entry is automatically
|
||||
created to post the currency exchange gains/losses (reversal) amount.
|
||||
- If a payment is (un)reconciled on an invoice with cash-basis taxes, a journal entry is
|
||||
automatically created to post the cash-basis tax (reversal) amount.
|
||||
|
||||
.. tip::
|
||||
If the main bank account is set as the outstanding account on the bank journal's payment
|
||||
method, registering the full payment on an invoice or bill moves the invoice/bill directly
|
||||
to the :guilabel:`Paid` status without requiring bank reconciliation.
|
||||
|
||||
.. _accounting/payments/not-tied:
|
||||
|
||||
@@ -60,71 +131,185 @@ Registering payments not tied to an invoice or bill
|
||||
===================================================
|
||||
|
||||
When a new payment is registered via :menuselection:`Customers / Vendors --> Payments`, it is not
|
||||
directly linked to an invoice or bill. Instead, the account receivable or the account payable is
|
||||
matched with the **outstanding account** until it is manually matched with its related invoice or
|
||||
bill.
|
||||
directly linked to an invoice or bill.
|
||||
|
||||
.. tabs::
|
||||
|
||||
.. group-tab:: Without outstanding accounts
|
||||
|
||||
Payments that are not linked to an invoice or bill should not be registered without using
|
||||
:ref:`outstanding accounts <accounting/bank/outstanding-accounts>`, as there is no way to
|
||||
associate the payment with the invoice or bill since no journal entry is created for the
|
||||
payment. The amount paid or received is not reflected in the accounting and the
|
||||
:guilabel:`Amount Due` is not updated based on the payment amount.
|
||||
|
||||
.. group-tab:: Using outstanding accounts
|
||||
|
||||
Instead, the payment's journal entry matches the :guilabel:`outstanding account` with the
|
||||
account receivable or the account payable until the payment is manually matched with its
|
||||
related invoice or bill. Then, :doc:`reconciling <bank/reconciliation>` the payment with the
|
||||
bank transaction completes the payment workflow.
|
||||
|
||||
.. _accounting/payments/payments-matching:
|
||||
|
||||
Payments matching
|
||||
-----------------
|
||||
|
||||
.. note::
|
||||
During the :doc:`bank reconciliation <bank/reconciliation>` process, a remaining balance is
|
||||
identified if the total debits and credits do not match when records are compared with bank
|
||||
transactions. This balance must either be reconciled later or written off immediately.
|
||||
|
||||
.. _accounting/payments/matching-invoices-bills:
|
||||
|
||||
Matching invoices and bills with payments
|
||||
-----------------------------------------
|
||||
For a single invoice or bill
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
A blue banner appears when validating a new invoice/bill and an **outstanding payment** exists for
|
||||
this specific customer or vendor. To match it with the invoice or bill, click :guilabel:`ADD`
|
||||
under :guilabel:`Outstanding Credits` or :guilabel:`Outstanding Debits`.
|
||||
.. tabs::
|
||||
|
||||
.. image:: payments/add-option.png
|
||||
:alt: Shows the ADD option to reconcile an invoice or a bill with a payment.
|
||||
.. group-tab:: Without outstanding accounts
|
||||
|
||||
The invoice or bill is now marked as :guilabel:`In payment` until it is reconciled with its
|
||||
corresponding bank transaction.
|
||||
By default, payments in Odoo do not create journal entries. As a result, there is no payment
|
||||
to match.
|
||||
|
||||
.. group-tab:: Using outstanding accounts
|
||||
|
||||
A blue banner appears when validating a new invoice/bill and an **outstanding payment** exists
|
||||
for this specific customer or vendor. To match it with the invoice or bill, click
|
||||
:guilabel:`Add` under :guilabel:`Outstanding Credits` or :guilabel:`Outstanding Debits`.
|
||||
|
||||
.. image:: payments/add-option.png
|
||||
:alt: Shows the Add option to reconcile an invoice or a bill with a payment.
|
||||
|
||||
The invoice or bill is then marked as :guilabel:`In payment` until the payment is
|
||||
:doc:`reconciled <bank/reconciliation>` with its corresponding :doc:`bank transaction(s)
|
||||
<bank/transactions>`.
|
||||
|
||||
.. _accounting/payments/auto-reconcile-tool:
|
||||
|
||||
For multiple invoices or bills
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
.. tabs::
|
||||
|
||||
.. group-tab:: Without outstanding accounts
|
||||
|
||||
By default, payments in Odoo do not create journal entries. As a result, there is no payment
|
||||
to match, but this feature can still be used to match miscellaneous journal items.
|
||||
|
||||
.. group-tab:: Using outstanding accounts
|
||||
|
||||
The :guilabel:`Payments matching` or :guilabel:`Auto-reconcile` tool allows reconciling
|
||||
journal items with each other (i.e., payments with customer invoices or vendor bills) either
|
||||
individually or in batches. Access the :guilabel:`Accounting Dashboard`, click the
|
||||
:icon:`fa-ellipsis-v` (:guilabel:`ellipsis`) button from the :guilabel:`Customer
|
||||
Invoices` or :guilabel:`Vendor Bills` journals, and select :guilabel:`Payments Matching`.
|
||||
Alternatively, go to :menuselection:`Accounting --> Accounting --> Reconcile`.
|
||||
|
||||
To manually :guilabel:`Reconcile` journal items, select the individual items from the list
|
||||
view and click :guilabel:`Reconcile`.
|
||||
|
||||
.. _accounting/payments/auto-reconcile-feature:
|
||||
|
||||
Auto-Reconcile Feature
|
||||
**********************
|
||||
|
||||
.. tabs::
|
||||
|
||||
.. group-tab:: Without outstanding accounts
|
||||
|
||||
To use the :guilabel:`Auto-Reconcile` feature, follow these steps:
|
||||
|
||||
#. In the :guilabel:`Journal Items to reconcile` list view, click :guilabel:`Auto-Reconcile`
|
||||
next to the receivable or payable account (or a specific contact's group of journal items
|
||||
in that account).
|
||||
#. In the :guilabel:`Reconcile automatically` window, click :guilabel:`Reconcile`.
|
||||
|
||||
.. group-tab:: Using outstanding accounts
|
||||
|
||||
To use the :guilabel:`Auto-Reconcile` feature, follow these steps:
|
||||
|
||||
#. In the :guilabel:`Journal Items to reconcile` list view, click :guilabel:`Auto-Reconcile`
|
||||
next to the receivable or payable account (or a specific contact's group of journal items
|
||||
in that account).
|
||||
#. In the :guilabel:`Reconcile Automatically` window, set the
|
||||
:guilabel:`Reconcile` field depending on how you want to match journal items:
|
||||
|
||||
- :guilabel:`Perfect Match`: Each debit journal item will be matched with
|
||||
the corresponding credit journal item of the same value.
|
||||
- :guilabel:`Clear Accounts`: All reconciled journal items will have the same
|
||||
matching number, as they are selected from the same account.
|
||||
|
||||
#. Click :guilabel:`Reconcile`.
|
||||
|
||||
Invoices and bills are automatically matched to their corresponding payments and marked as
|
||||
:guilabel:`In payment` until they are :doc:`reconciled <bank/reconciliation>` with their
|
||||
corresponding :doc:`bank transactions <bank/transactions>`.
|
||||
|
||||
.. _accounting/payments/group-payments:
|
||||
|
||||
Group payments
|
||||
--------------
|
||||
Registering payments on multiple invoices/credit notes or bills/refunds (group payments)
|
||||
========================================================================================
|
||||
|
||||
Group payments allow combining outgoing and incoming payments from the same contact into a single
|
||||
payment to simplify the process and improve payment usability. To register a group payment:
|
||||
To register payments on multiple invoices/credit notes or bills/refunds, follow these steps:
|
||||
|
||||
#. Go to :menuselection:`Accounting --> Customers --> Invoices/Credit Notes` or
|
||||
:menuselection:`Accounting --> Vendors --> Bills/Refunds`.
|
||||
#. Select the relevant invoices/credit notes or bills/refunds linked to a specific contact.
|
||||
#. Click the :icon:`fa-cog` (:guilabel:`Action menu`) icon and select :guilabel:`Register Payment`.
|
||||
#. In the :guilabel:`Register Payment` window, select the :guilabel:`Journal`, the
|
||||
:guilabel:`Payment Method`, and the :guilabel:`Payment Date`.
|
||||
#. Enable the :guilabel:`Group Payments` option and click :guilabel:`Create payment`.
|
||||
#. In the list view, click into the search bar, group by :guilabel:`Payment Method`, select the
|
||||
relevant invoices/credit notes or bills/refunds and click :guilabel:`Pay`.
|
||||
#. In the :guilabel:`Pay` window, select the :guilabel:`Journal` and the :guilabel:`Payment Date`.
|
||||
#. If previously set, the contact's preferred :guilabel:`Payment Method` is automatically selected
|
||||
by default but can be updated if necessary.
|
||||
#. If using :doc:`payment terms <customer_invoices/payment_terms>`, the :guilabel:`Amount` is
|
||||
automatically set based on the installment amounts defined by the payment term. To pay the full
|
||||
amount instead, click :guilabel:`full amount`.
|
||||
#. To combine all payments from the same contact into a single payment, enable the :guilabel:`Group
|
||||
Payments` option, or leave it unchecked to create separate payments.
|
||||
#. Click :guilabel:`Create payment`.
|
||||
|
||||
The invoices or bills are now marked as :guilabel:`In payment` until they are reconciled with the
|
||||
corresponding bank transactions. The credit notes or refunds are marked as :guilabel:`Paid`.
|
||||
.. tabs::
|
||||
|
||||
.. group-tab:: Without outstanding accounts
|
||||
|
||||
The invoices or bills are then marked as :guilabel:`In payment` until they are
|
||||
:doc:`reconciled <bank/reconciliation>` with the bank transactions.
|
||||
|
||||
.. group-tab:: Using outstanding accounts
|
||||
|
||||
The invoices or bills are then marked as :guilabel:`In payment` until the bank transactions
|
||||
are :doc:`reconciled <bank/reconciliation>` with the payments.
|
||||
|
||||
.. _accounting/payments/batch-payments:
|
||||
|
||||
Batch payments
|
||||
--------------
|
||||
Registering a single payment for multiple customers or vendors (batch payments)
|
||||
===============================================================================
|
||||
|
||||
Batch payments allow grouping payments from multiple contacts to ease
|
||||
:doc:`reconciliation <bank/reconciliation>`. They are also useful when depositing :doc:`checks
|
||||
<payments/checks>` to the bank or for :doc:`SEPA payments <payments/pay_sepa>`. To do so, go to
|
||||
:menuselection:`Accounting --> Customers --> Batch Payments` or :menuselection:`Accounting -->
|
||||
Vendors --> Batch Payments`. In the list view of payments, to group several payments in a
|
||||
batch, select them and click :menuselection:`Action --> Create Batch Payment`.
|
||||
Batch payments allow grouping payments from multiple contacts to ease :doc:`reconciliation
|
||||
<bank/reconciliation>`. They are also useful when depositing :doc:`checks <payments/checks>` to the
|
||||
bank or for generating bank payment files such as :doc:`SEPA <payments/pay_sepa>` or :ref:`NACHA
|
||||
<l10n_us/nacha>`. To do so, go to :menuselection:`Accounting --> Customers --> Payments` or
|
||||
:menuselection:`Accounting --> Vendors --> Payments`. In the payments list view, select the payments
|
||||
to be grouped in a batch, click :icon:`fa-cog` :guilabel:`Actions`, and select :guilabel:`Create
|
||||
Batch Payment`.
|
||||
|
||||
.. note::
|
||||
All payments in a batch must have the same :ref:`payment method
|
||||
<accounting/payments/payment-methods>`.
|
||||
|
||||
.. seealso::
|
||||
- :doc:`payments/batch`
|
||||
- :doc:`payments/batch_sdd`
|
||||
- :doc:`payments/batch`
|
||||
- :doc:`payments/batch_sdd`
|
||||
|
||||
.. _accounting/payments/matching:
|
||||
|
||||
Payments matching
|
||||
-----------------
|
||||
|
||||
The :guilabel:`Payments matching` tool opens all unreconciled customer invoices or vendor bills and
|
||||
allows them to be processed individually, matching all payments and invoices in one place. Go to the
|
||||
:guilabel:`Accounting Dashboard`, click the :icon:`fa-ellipsis-v` (:guilabel:`dropdown menu`)
|
||||
button from the :guilabel:`Customer Invoices` or :guilabel:`Vendor Bills` journals, and select
|
||||
:guilabel:`Payments Matching`, or go to :menuselection:`Accounting --> Accounting -->
|
||||
Reconciliation`.
|
||||
The :guilabel:`Payments matching` tool opens all unreconciled journal items and allows them to be
|
||||
processed individually, matching all payments and journal items. Go to the
|
||||
:guilabel:`Accounting Dashboard`, go to :menuselection:`Accounting --> Accounting --> Reconcile` or
|
||||
click the :icon:`fa-ellipsis-v` (:guilabel:`ellipsis`) button from the :guilabel:`Customer
|
||||
Invoices` or :guilabel:`Vendor Bills` journals, and select :guilabel:`Payments Matching`.
|
||||
|
||||
.. image:: payments/payments-journal.png
|
||||
:alt: Payments matching menu in the drop-down menu.
|
||||
@@ -134,47 +319,56 @@ Reconciliation`.
|
||||
not match, there is a remaining balance. This either needs to be reconciled at a later date or
|
||||
written off directly.
|
||||
|
||||
.. _accounting/payments/batch-payments-matching:
|
||||
|
||||
Batch payments matching
|
||||
-----------------------
|
||||
|
||||
Use the batch reconciliation feature to reconcile several outstanding payments or invoices
|
||||
simultaneously for a specific customer or vendor. Go to :menuselection:`Accounting --> Reporting -->
|
||||
Aged Receivable / Aged Payable`. All transactions that have not yet been reconciled for that
|
||||
contact are visible, and when a customer or vendor is selected, the :guilabel:`Reconcile` option is
|
||||
displayed.
|
||||
|
||||
.. image:: payments/reconcile-option.png
|
||||
:alt: The batch payment reconcile option.
|
||||
|
||||
.. _accounting/payments/partial-payment:
|
||||
|
||||
Registering a partial payment
|
||||
=============================
|
||||
|
||||
To register a partial payment, click on :guilabel:`Register Payment` from the related invoice or
|
||||
bill. In the case of a partial payment (when the :guilabel:`Amount` paid is less than the total
|
||||
remaining amount on the invoice or the bill), the :guilabel:`Payment Difference` field displays the
|
||||
outstanding balance. There are two options:
|
||||
To register a partial payment, click on :guilabel:`Pay` from the related invoice or bill.
|
||||
|
||||
- :guilabel:`Keep open`: Keep the invoice or the bill open and mark it with a :guilabel:`Partial`
|
||||
banner;
|
||||
- :guilabel:`Mark as fully paid`: Select an account in the :guilabel:`Post Difference In` field and
|
||||
change the :guilabel:`Label` if needed. A journal entry will be created to balance the accounts
|
||||
payable or receivable with the selected account.
|
||||
.. tabs::
|
||||
|
||||
.. image:: payments/partial-payment.png
|
||||
:alt: register a partial payment
|
||||
.. group-tab:: Without outstanding accounts
|
||||
|
||||
In the case of a partial payment (when the :guilabel:`Amount` paid is less than the total
|
||||
remaining amount on the invoice or the bill), fill in the :guilabel:`Amount` in the
|
||||
:guilabel:`Pay` window.
|
||||
|
||||
.. group-tab:: Using outstanding accounts
|
||||
|
||||
In the case of a partial payment (when the :guilabel:`Amount` paid is less than the total
|
||||
remaining amount on the invoice or the bill), the :guilabel:`Payment Difference` field
|
||||
displays the outstanding balance. There are two options:
|
||||
|
||||
- :guilabel:`Keep open`: Keep the invoice or the bill open and mark it with a
|
||||
:guilabel:`Partial` banner;
|
||||
- :guilabel:`Mark as fully paid`: Select an account in the :guilabel:`Post Difference In`
|
||||
field and change the :guilabel:`Label` if needed. A journal entry will be created to balance
|
||||
the accounts payable or receivable with the selected account.
|
||||
|
||||
.. image:: payments/partial-payment.png
|
||||
:alt: register a partial payment
|
||||
|
||||
.. _accounting/payments/reconciling-payments:
|
||||
|
||||
Reconciling payments with bank transactions
|
||||
===========================================
|
||||
|
||||
Once a payment has been registered, the status of the invoice or bill is :guilabel:`In payment`. The
|
||||
next step is :doc:`reconciling <bank/reconciliation>` it with the related bank transaction line to
|
||||
finalize the payment workflow and mark the invoice or bill as :guilabel:`Paid`.
|
||||
.. tabs::
|
||||
|
||||
.. group-tab:: Without outstanding accounts
|
||||
|
||||
Once a payment has been registered, the status of the invoice or bill is :guilabel:`In
|
||||
payment`. The next step is :doc:`reconciling <bank/reconciliation>` the related :doc:`bank
|
||||
transaction <bank/transactions>` line with the invoice or bill to finalize the payment
|
||||
workflow and mark the invoice or bill as :guilabel:`Paid`.
|
||||
|
||||
.. group-tab:: Using outstanding accounts
|
||||
|
||||
Once a payment has been registered, the status of the invoice or bill is :guilabel:`In
|
||||
payment`. The next step is :doc:`reconciling <bank/reconciliation>` the payment with the
|
||||
related :doc:`bank transaction <bank/transactions>` line to finalize the payment workflow and
|
||||
mark the invoice or bill as :guilabel:`Paid`.
|
||||
|
||||
.. toctree::
|
||||
:titlesonly:
|
||||
|
||||
|
Before Width: | Height: | Size: 6.3 KiB After Width: | Height: | Size: 4.7 KiB |
|
Before Width: | Height: | Size: 22 KiB |
|
Before Width: | Height: | Size: 9.2 KiB |
|
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 13 KiB |
|
Before Width: | Height: | Size: 9.0 KiB After Width: | Height: | Size: 8.0 KiB |
|
Before Width: | Height: | Size: 32 KiB |
@@ -62,7 +62,7 @@ Then, to close the fiscal year:
|
||||
<accounting/reporting/aged-payable>` reports.
|
||||
- Audit all accounts, being sure to fully understand all transactions and their nature, making
|
||||
sure to include loans and fixed assets.
|
||||
- Optionally, run :ref:`payments matching <accounting/payments/matching>` to validate any open
|
||||
- Optionally, :ref:`match payments <accounting/payments/auto-reconcile-tool>` to validate any open
|
||||
vendor bills and customer invoices with their payments. While this step is optional, it could
|
||||
assist the year-end closing process if all outstanding payments and invoices are reconciled,
|
||||
potentially finding errors or mistakes in the system.
|
||||
|
||||
|
Before Width: | Height: | Size: 13 KiB |
|
Before Width: | Height: | Size: 31 KiB |
|
Before Width: | Height: | Size: 9.9 KiB |
|
Before Width: | Height: | Size: 11 KiB |
@@ -37,7 +37,7 @@ appropriately completed:
|
||||
- :guilabel:`Vendor`: Odoo automatically fills some information based on the vendor's registered
|
||||
information, previous purchase orders, or bills.
|
||||
- :guilabel:`Bill Reference`: add the sales order reference provided by the vendor and is used to do
|
||||
the :ref:`matching <accounting/payments/matching>` when you receive the products.
|
||||
the :ref:`matching <accounting/payments/payments-matching>` when you receive the products.
|
||||
- :guilabel:`Auto-Complete`: select a past bill/purchase order to automatically complete the
|
||||
document. The :guilabel:`Vendor` field should be completed prior to completing this field.
|
||||
- :guilabel:`Bill Date`: is the issuance date of the document.
|
||||
|
||||
|
Before Width: | Height: | Size: 2.9 KiB |
|
Before Width: | Height: | Size: 48 KiB |
@@ -48,6 +48,9 @@ localization:
|
||||
- `l10n_ar_website_sale`
|
||||
- (optional) Allows the user to see Identification Type and AFIP Responsibility in the
|
||||
eCommerce checkout form in order to create electronic invoices.
|
||||
* - :ref:`Argentina - Payment Withholdings <l10n_ar/payment-withholdings>`
|
||||
- `l10n_ar_withholding`
|
||||
- Allows registering withholdings during the payment of an invoice.
|
||||
|
||||
.. _argentina/configure-your-company:
|
||||
|
||||
@@ -681,6 +684,147 @@ the invoice can then be validated.
|
||||
:align: center
|
||||
:alt: Enter the perception amount.
|
||||
|
||||
.. _l10n_ar/payment-withholdings:
|
||||
|
||||
Withholding management
|
||||
----------------------
|
||||
|
||||
The Argentinean fiscal localization module is already loaded with the necessary withholdings
|
||||
records, which can be seen by navigating to :menuselection:`Accounting app --> Configuration -->
|
||||
Taxes` and removing the default :guilabel:`Sale or Purchase` filter. To verify these records, the
|
||||
**Argentina Payment Withholdings** (`l10n_ar_withholding`) module must be :ref:`installed
|
||||
<general/install>`:
|
||||
|
||||
Journal entries are *not* created when payments are posted unless :ref:`outstanding accounts
|
||||
<accounting/bank/outstanding-accounts>` are set up. Thus, for this feature to work properly, it is
|
||||
important to verify that *all* payment methods within the bank journals have an outstanding payment
|
||||
and receipt account set.
|
||||
|
||||
.. image:: argentina/l10n-ar-outstanding-payments.png
|
||||
:alt: An outstanding payment account must be set.
|
||||
|
||||
This configuration is crucial for the proper accounting of withholding transactions with clients
|
||||
and vendors.
|
||||
|
||||
.. note::
|
||||
In Argentina, withholdings represent the cancellation of a specific portion of the total debt
|
||||
owed to a supplier or a reduction in the total payment to be collected from a customer.
|
||||
Therefore, one or multiple withholdings can be recorded for each payment applied to an invoice.
|
||||
|
||||
Configuration
|
||||
~~~~~~~~~~~~~
|
||||
|
||||
While Odoo already creates most of the required withholdings inside the :guilabel:`Taxes`
|
||||
menu, in several cases, it is necessary to apply or modify certain configurations to correctly
|
||||
calculate the withholding amount on vendor payments. The following withholding types are available:
|
||||
|
||||
- :ref:`Earnings <l10n_ar/earnings-withholdings>`
|
||||
- :ref:`Earnings Scale <l10n_ar/earnings-scale-withholdings>`
|
||||
- :ref:`IIBB Total Amount <l10n_ar/iib-total-amount-withholdings>`
|
||||
- :ref:`IIBB Non-Taxable <l10n_ar/iib-nontax-withholdings>`
|
||||
|
||||
.. _l10n_ar/earnings-withholdings:
|
||||
|
||||
Earnings
|
||||
********
|
||||
|
||||
For :guilabel:`Earnings` withholdings, Odoo already has a record for each regime group, which is
|
||||
stated under the name of the tax and the AFIP code.
|
||||
|
||||
Each of these records are ready to be used. As a good practice, the configuration should be double
|
||||
checked to make sure the configuration is updated and well-applied. The fields to validate are:
|
||||
|
||||
- :guilabel:`Amount`: This is the percentage of the total payment amount which is withheld.
|
||||
- :guilabel:`Non-Taxable Amount`: Up to this amount, the withholding does not apply.
|
||||
- :guilabel:`Minimum Withholding`: If the calculated withholding amount is smaller than this value,
|
||||
the total withholding amount is set to `0.0`.
|
||||
- :guilabel:`Withholding Sequence`: This field helps to automate the capture of a withholding number
|
||||
under the payment line. If this field is not set, a number is manually captured while adding a
|
||||
withholding to a payment.
|
||||
|
||||
.. image:: argentina/l10n-ar-earnings.png
|
||||
:alt: Earnings withholding type.
|
||||
|
||||
.. _l10n_ar/earnings-scale-withholdings:
|
||||
|
||||
Earnings Scale
|
||||
**************
|
||||
|
||||
In this particular case, a percentage does not need to be set. Instead, this withholding is
|
||||
calculated based on the value of the :guilabel:`Scale` field.
|
||||
|
||||
To view, modify, or create new scales, navigate to :menuselection:`Accounting app --> Configuration
|
||||
--> Earnings Scale`. By default, the Argentinian localization is preconfigured with two main scales.
|
||||
However, scales should be created and updated as necessary to suit a business's needs.
|
||||
|
||||
.. note::
|
||||
Earnings scales are cumulative, which means that Odoo keeps track of the different records
|
||||
created for a bill and automatically calculates the proper withholding amount.
|
||||
|
||||
.. _l10n_ar/iib-total-amount-withholdings:
|
||||
|
||||
IIBB Total Amount
|
||||
*****************
|
||||
|
||||
In this case, the necessary records related to the applicable province need to be created. The
|
||||
withholding amount is calculated based on the percentage :guilabel:`Amount` set on the tax
|
||||
configuration. Since Odoo does not automatically synchronize the percentages applicable to each
|
||||
province, this information needs to be manually updated.
|
||||
|
||||
The recommendation, in this case, is to always duplicate and apply the different configurations for
|
||||
each record to safeguard any technical configurations that allow the proper calculation and
|
||||
accounting of the withholding.
|
||||
|
||||
.. _l10n_ar/iib-nontax-withholdings:
|
||||
|
||||
IIBB Untaxed
|
||||
************
|
||||
|
||||
The configuration of non-taxable gross income withholdings is very similar to that of a :ref:`total
|
||||
amount withholding <l10n_ar/iib-total-amount-withholdings>`, so the percentage :guilabel:`Amount` in
|
||||
each of the records needs to be maintained. However, Odoo comes preconfigured with several records
|
||||
that apply to different provinces. The difference, in this case, is that it is not necessary to
|
||||
establish a non-taxable amount or minimum withholding for this record type.
|
||||
|
||||
Partner withholding assignation
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
Once the proper configuration is set on each possible withholding for partners, the applicable
|
||||
withholdings need to be assigned to each contact. To do this, open the :guilabel:`Contacts` app and
|
||||
select the desired partner. In the :guilabel:`Accounting` tab, find the :guilabel:`Purchase
|
||||
Withholdings` table.
|
||||
|
||||
By using the additional fields :guilabel:`From Date` and :guilabel:`To Date`, the applicability of
|
||||
multiple withholdings can be automated across different date ranges. The :guilabel:`ref` field
|
||||
allows you to apply an internal control number to each withholding line, which is just for internal
|
||||
reference, so it does not affect any transactions and is not visible on them. These fields are
|
||||
accessible from the :icon:`oi-settings-adjust` :guilabel:`(adjust settings)` menu.
|
||||
|
||||
- :guilabel:`From Date`: the start of the withholding date range.
|
||||
- :guilabel:`To Date`: the end of the withholding date range.
|
||||
- :guilabel:`ref`: apply an internal control number to each withholding line that is only visible
|
||||
for internal reference and does not affect any transactions.
|
||||
|
||||
Automatic withholding calculation and application per payment
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
By applying new payments to vendor bills, Odoo automatically applies and calculates the proper
|
||||
withholding into the payment. Based on the record's configuration, it may be necessary to use a
|
||||
reference number for each withholding line.
|
||||
|
||||
More withholdings can be added, or computed withholdings can be edited if necessary.
|
||||
|
||||
.. image:: argentina/l10n-ar-payment.png
|
||||
:alt: Payment with applied withholdings.
|
||||
|
||||
.. important::
|
||||
The total amount of the debt to be canceled is the total amount of the payment. However, Odoo
|
||||
still captures the net amount (i.e. the amount to be reconciled with the bank), which will be
|
||||
represented as the payment amount after the withholding application.
|
||||
|
||||
.. image:: argentina/l10n-ar-payment-registered.png
|
||||
:alt: Payment registered form.
|
||||
|
||||
Check management
|
||||
----------------
|
||||
|
||||
|
||||
|
After Width: | Height: | Size: 15 KiB |
|
After Width: | Height: | Size: 20 KiB |
|
After Width: | Height: | Size: 21 KiB |
|
After Width: | Height: | Size: 21 KiB |
|
Before Width: | Height: | Size: 17 KiB |
|
Before Width: | Height: | Size: 31 KiB |
|
Before Width: | Height: | Size: 24 KiB |
@@ -589,3 +589,96 @@ goods (i.e :guilabel:`Opening Stock` + purchases during the period - :guilabel:`
|
||||
|
||||
.. image:: india/profit-and-loss-report.png
|
||||
:alt: Profit and Loss report
|
||||
|
||||
.. _india/tds-tcs-threshold:
|
||||
|
||||
TDS/TCS threshold alert
|
||||
=======================
|
||||
|
||||
:abbr:`TDS (tax deducted at source)` and :abbr:`TCS (tax collected at source)` are tax provisions
|
||||
under Indian law, triggered when transaction amounts exceed specified thresholds. This alert
|
||||
notifies users when the value of invoices or bills surpasses these limits, prompting the application
|
||||
of the appropriate TDS/TCS.
|
||||
|
||||
To configure Odoo to advise you on when to apply TDS/TCS, set the :guilabel:`TDS/TCS section`
|
||||
field on the corresponding account in the chart of accounts. Odoo will display a banner suggesting
|
||||
the TDS/TCS section under which tax might be applicable when recording an invoice or bill.
|
||||
|
||||
Configuration
|
||||
-------------
|
||||
|
||||
#. Navigate to :menuselection:`Accounting --> Configuration --> Settings`.
|
||||
#. In the :guilabel:`Indian Integration` section, enable the :guilabel:`TDS and TCS` feature.
|
||||
#. Navigate to :menuselection:`Accounting --> Configuration --> Chart of Accounts`.
|
||||
#. Click :guilabel:`View` on the desired account, and set the :guilabel:`TDS/TCS Section` field.
|
||||
|
||||
.. note::
|
||||
The TDS/TCS sections are pre-configured with threshold limits. If you need to modify these
|
||||
limits, go to :menuselection:`Accounting --> Configuration --> Taxes`. In the :guilabel:`Advanced
|
||||
Options` tab, click on the :icon:`fa-arrow-right` :guilabel:`(internal link)` icon of the
|
||||
:guilabel:`Section` field.
|
||||
|
||||
.. image:: india/tds-tcs-section-modify.png
|
||||
:alt: TDS/TCS section modify
|
||||
|
||||
Applying TCS/TDS on invoices and bills
|
||||
--------------------------------------
|
||||
|
||||
Based on the account used on the customer invoice or vendor bill, Odoo checks the TCS/TDS threshold
|
||||
limit. If the limit specified in the :guilabel:`TCS/TDS Section` of the account is exceeded, Odoo
|
||||
displays an alert that suggests applying the appropriate TCS/TDS. The alert will disappear once the
|
||||
TCS/TDS is applied.
|
||||
|
||||
.. image:: india/tcs-warning.png
|
||||
:alt: TCS advice
|
||||
|
||||
**TCS** is directly applicable in the tax on the invoice lines. To apply **TDS**, click the
|
||||
:guilabel:`TDS Entry` smart button on the vendor bill/payment. The popup window allows specifying
|
||||
the TDS details. Confirm the entry to apply the TDS.
|
||||
|
||||
.. image:: india/tds-apply.png
|
||||
:alt: TDS application
|
||||
|
||||
In Odoo, the aggregate total is calculated for partners sharing the same PAN number, across all
|
||||
company branches.
|
||||
|
||||
.. example::
|
||||
|
||||
.. list-table::
|
||||
:header-rows: 1
|
||||
:widths: 10 20 10 20 15
|
||||
|
||||
* - **Branch**
|
||||
- **Customer**
|
||||
- **Invoice**
|
||||
- **Transaction Amount (₹)**
|
||||
- **PAN Number**
|
||||
* - IN - MH
|
||||
- XYZ Enterprise - GJ
|
||||
- Invoice 1
|
||||
- ₹50,000
|
||||
- ABCPX1234E
|
||||
* - IN - MH
|
||||
- XYZ Enterprise - GJ
|
||||
- Invoice 2
|
||||
- ₹30,000
|
||||
- ABCPX1234E
|
||||
* - IN - MH
|
||||
- XYZ Enterprise - MH
|
||||
- Invoice 3
|
||||
- ₹40,000
|
||||
- ABCPX1234E
|
||||
* - IN - DL
|
||||
- XYZ Enterprise - GJ
|
||||
- Invoice 4
|
||||
- ₹20,000
|
||||
- ABCPX1234E
|
||||
* - IN - GJ
|
||||
- XYZ Enterprise - MH
|
||||
- Invoice 5
|
||||
- ₹60,000
|
||||
- ABCPX1234E
|
||||
|
||||
- **Aggregate total** = 50,000 + 30,000 + 40,000 + 20,000 + 60,000 = ₹200,000
|
||||
- The aggregate total for all customers (XYZ Enterprise - GJ, MH, DL) sharing the PAN number
|
||||
ABCPX1234E across all branches is ₹200,000.
|
||||
|
||||
|
After Width: | Height: | Size: 5.9 KiB |
|
After Width: | Height: | Size: 10 KiB |
|
After Width: | Height: | Size: 9.2 KiB |
@@ -705,3 +705,60 @@ Then, to ensure :doc:`Odoo Point of Sale </applications/sales/point_of_sale>` is
|
||||
fiscal printer, go to :menuselection:`Point of Sale --> Configuration --> Settings`. In the
|
||||
:guilabel:`Connected Devices` section, add the IP address in the :guilabel:`Italian Fiscal Printer
|
||||
IP address` and enable :guilabel:`Use HTTPS`.
|
||||
|
||||
Ri.Ba. (Ricevuta Bancaria)
|
||||
==========================
|
||||
|
||||
:abbr:`Ri.Ba. (Ricevuta Bancaria)` is a payment method widely used in Italy where vendors request
|
||||
payments through their bank, which forwards the request to the customer's own bank and takes
|
||||
responsibility for the collection. This enables payment automation and reduces risks for the vendor.
|
||||
|
||||
The vendor generally uploads a fixed-format text file with the list of payments to the bank's web
|
||||
portal.
|
||||
|
||||
.. note::
|
||||
- Ri.Ba. are exclusively for **domestic payments** in Italy. For recurring international
|
||||
payments, please use `SEPA Direct Debt (SDD) <../accounting/payments/batch_sdd>`_
|
||||
|
||||
Configuration
|
||||
-------------
|
||||
|
||||
#. Check that the `l10n_it_riba` module is :ref:`installed <general/install>`.
|
||||
#. Go to :menuselection:`Settings --> Users & Companies --> Companies` and select the company that
|
||||
will use Ri.Ba.
|
||||
#. Fill out the required :guilabel:`SIA Code`.
|
||||
|
||||
.. image:: italy/sia-code.png
|
||||
:alt: The company's SIA code
|
||||
|
||||
.. note::
|
||||
The :guilabel:`SIA Code` identifies businesses within the Italian banking network and is used
|
||||
to receive money through specific payment methods. It consists of one letter and four digits
|
||||
(e.g., T1234) and can usually be found on the bank's portal or obtained by contacting the bank.
|
||||
|
||||
#. Ensure the Company's bank account has an Italian IBAN.
|
||||
|
||||
.. seealso::
|
||||
How to configure :doc:`Bank Accounts <../accounting/bank>`
|
||||
|
||||
Accept Ri.Ba. for your invoices
|
||||
-------------------------------
|
||||
|
||||
Payments of type :abbr:`Ri.Ba. (Ricevuta Bancaria)` can be registered from the :guilabel:`Invoices`
|
||||
(:menuselection:`Accounting --> Customers --> Invoices`).
|
||||
|
||||
.. important::
|
||||
Make sure that your invoice involves a Partner that has a bank account with an Italian IBAN.
|
||||
|
||||
Then, all Payments must be grouped in a **Batch Payment**.
|
||||
|
||||
.. seealso::
|
||||
- :doc:`Batch Payments <../accounting/payments>`
|
||||
- :doc:`Create a Batch Payment <../accounting/payments/batch>`
|
||||
|
||||
Once you press the :guilabel:`Validate` button for the Batch Payment, the :abbr:`Ri.Ba. (Ricevuta
|
||||
Bancaria)` file is generated and attached to the Batch Payment, so you can download it and upload it
|
||||
through your bank's web portal.
|
||||
|
||||
.. image:: italy/riba-attachment.png
|
||||
:alt: The Ri.Ba. file attached
|
||||
|
||||
|
After Width: | Height: | Size: 40 KiB |
|
After Width: | Height: | Size: 14 KiB |
|
Before Width: | Height: | Size: 8.2 KiB |
|
Before Width: | Height: | Size: 28 KiB |
|
Before Width: | Height: | Size: 11 KiB |
|
Before Width: | Height: | Size: 5.4 KiB |
|
Before Width: | Height: | Size: 73 KiB |
@@ -2,55 +2,271 @@
|
||||
Vietnam
|
||||
=======
|
||||
|
||||
Add Vietnamese QR banking codes to invoices
|
||||
===========================================
|
||||
.. _SInvoice: https://www.sinvoice.vn/
|
||||
|
||||
.. _localizations/vietnam/modules:
|
||||
|
||||
Modules
|
||||
=======
|
||||
|
||||
The following modules are installed automatically with the Vietnamese localization:
|
||||
|
||||
.. list-table::
|
||||
:header-rows: 1
|
||||
|
||||
* - Name
|
||||
- Technical name
|
||||
- Description
|
||||
* - :guilabel:`Vietnam - Accounting`
|
||||
- `l10n_vn`
|
||||
- This module includes the default
|
||||
:ref:`fiscal localization package <fiscal_localizations/packages>`.
|
||||
* - :guilabel:`Vietnam - E-invoicing`
|
||||
- `l10n_vn_edi_viettel`
|
||||
- This module includes the features required for integration with :ref:`SInvoice
|
||||
<localizations/vietnam/sinvoice>`.
|
||||
|
||||
.. note::
|
||||
In some cases, such as when upgrading to a version with additional modules, it is possible that
|
||||
modules may not be installed automatically. Any missing modules can be manually :ref:`installed
|
||||
<general/install>`.
|
||||
|
||||
.. _localizations/vietnam/company:
|
||||
|
||||
Company
|
||||
=======
|
||||
|
||||
To use all the features of this fiscal localization, the following fields are required on the
|
||||
:doc:`company record </applications/general/companies>`:
|
||||
|
||||
- :guilabel:`Name`
|
||||
- :guilabel:`Address`, including the :guilabel:`City`, :guilabel:`State`, :guilabel:`Zip Code`,
|
||||
and :guilabel:`Country`.
|
||||
|
||||
- In the :guilabel:`Street` field, enter the street name, number, and any additional address
|
||||
information.
|
||||
- In the :guilabel:`Street 2` field, enter the neighborhood.
|
||||
|
||||
- :guilabel:`Tax ID`: tax identification number.
|
||||
|
||||
.. _localizations/vietnam/sinvoice:
|
||||
|
||||
E-invoicing with SInvoice
|
||||
=========================
|
||||
|
||||
SInvoice_ is an e-invoice service platform provided by Viettel, one of the biggest e-invoice service
|
||||
providers in Vietnam. Odoo supports integration with SInvoice to submit invoices generated in Odoo.
|
||||
|
||||
Configuration
|
||||
-------------
|
||||
|
||||
SInvoice platform
|
||||
~~~~~~~~~~~~~~~~~
|
||||
|
||||
To send electronic invoices to SInvoice, the following must be created on SInvoice_:
|
||||
|
||||
- :ref:`SInvoice account <localizations/vietname/sinvoice-registration>`
|
||||
- :ref:`Invoice template <localizations/vietname/sinvoice-template>`
|
||||
- :ref:`Invoice symbol <localizations/vietname/sinvoice-symbol>`
|
||||
- :ref:`Invoice issuance notice <localizations/vietname/sinvoice-notice>`
|
||||
|
||||
.. _localizations/vietname/sinvoice-registration:
|
||||
|
||||
SInvoice registration
|
||||
*********************
|
||||
|
||||
To create an account, go to SInvoice_ and register for the desired plan. Fill in the form that
|
||||
opens to be contacted by SInvoice_ to create an account.
|
||||
|
||||
Once you have an account, log into SInvoice_ using your :guilabel:`Username` and
|
||||
:guilabel:`Password`.
|
||||
|
||||
.. _localizations/vietname/sinvoice-template:
|
||||
|
||||
Invoice template creation
|
||||
*************************
|
||||
|
||||
#. On the left side of the overview page, in the :guilabel:`Release management` menu, click
|
||||
:guilabel:`Create business information`.
|
||||
#. In the :guilabel:`Update key information` step, fill in the following fields and other optional
|
||||
information if needed: :guilabel:`Unit name`, :guilabel:`Address`, :guilabel:`Contact person`,
|
||||
:guilabel:`Type of representative documents`.
|
||||
#. Click :guilabel:`Update`.
|
||||
#. In the :guilabel:`Look up digital certificate` step, click :guilabel:`Add new` to add a digital
|
||||
certificate.
|
||||
#. Select the :guilabel:`Branch/Enterprise` and the :guilabel:`Type of digital certificate`, then
|
||||
fill in the required fields for each type:
|
||||
|
||||
- :guilabel:`Supplier`: CloudCA
|
||||
- :guilabel:`Signer ID`: CloudCA
|
||||
- :guilabel:`Digital Certificate`: CloudCA
|
||||
- :guilabel:`How to download file`: HSM
|
||||
- :guilabel:`File Upload`: HSM, USB-TOKEN
|
||||
|
||||
#. Click :guilabel:`Generate key pair` to generate encryption keys for authentication, and
|
||||
:guilabel:`Save`.
|
||||
#. In the :guilabel:`Manage invoice templates` step, add a new :guilabel:`Invoice template`.
|
||||
#. Select the :guilabel:`Invoice type` and fill in the :guilabel:`Invoice template code`,
|
||||
:guilabel:`Invoice template name`, and other optional information if needed.
|
||||
#. Click :guilabel:`Update`.
|
||||
|
||||
.. seealso::
|
||||
`SInvoice documentation on electronic invoice template creation
|
||||
<https://www.sinvoice.vn/2021/02/hdsd-tai-lieu-nghiep-vu-tao-mau-hoa-don-dien-tu.html?debug=1>`_
|
||||
|
||||
.. _localizations/vietname/sinvoice-symbol:
|
||||
|
||||
Invoice symbol creation
|
||||
***********************
|
||||
|
||||
On the left side of the main screen, in the :guilabel:`Release management` menu, click
|
||||
:guilabel:`Invoice symbol` and follow these steps:
|
||||
|
||||
#. Click :guilabel:`Add new` and select the :guilabel:`Invoice template`.
|
||||
#. Set the :guilabel:`Status` to :guilabel:`Active` to activate the symbol and fill in the
|
||||
:guilabel:`Invoice symbol`.
|
||||
#. Enable :guilabel:`Stop automatic sending to tax authorities` and :guilabel:`Default for built-in
|
||||
API` based on preference.
|
||||
#. Click :guilabel:`Save`.
|
||||
|
||||
.. _localizations/vietname/sinvoice-notice:
|
||||
|
||||
Invoice issuance notice
|
||||
***********************
|
||||
|
||||
On the left side of the main screen, in the :guilabel:`Release management` menu, click
|
||||
:guilabel:`Create issuance notice` and follow these steps:
|
||||
|
||||
#. Click :guilabel:`Add new`, select the :guilabel:`Name of the business unit to issue an e-invoice`
|
||||
and the :guilabel:`Tax agency name`. Based on the business unit and tax agency selected, the
|
||||
:guilabel:`Tax code`, :guilabel:`Address`, :guilabel:`Phone number`, and :guilabel:`Separator
|
||||
used` are automatically filled and uneditable.
|
||||
#. Click :guilabel:`Select the invoice type for issuance`, and then select and fill in the
|
||||
following information :
|
||||
|
||||
- :guilabel:`Invoice type`: The invoice type on which to declare an issuance notice.
|
||||
- :guilabel:`Invoice template`: Select from the list of templates available based on the invoice
|
||||
type.
|
||||
- :guilabel:`Symbol`: Select from the list of symbols available based on the invoice type.
|
||||
- :guilabel:`Quantity`: Total number of invoices to issue for the selected type. Based on the
|
||||
type and template selected, this field is filled in automatically. It can be changed if needed.
|
||||
- :guilabel:`Start date of use`: The date from which the invoice template, range, and quantity
|
||||
are used for the issuance notice.
|
||||
|
||||
#. Click :guilabel:`Save` and select more invoice types if necessary by repeating the steps above.
|
||||
Click :guilabel:`Save` to finish drafting the notice.
|
||||
#. Click :guilabel:`Send to tax authorities` for approval. Once approved, the notice's
|
||||
:guilabel:`Status` is changed to :guilabel:`Active`.
|
||||
|
||||
.. _localizations/vietnam/sinvoice-odoo:
|
||||
|
||||
Odoo database
|
||||
~~~~~~~~~~~~~
|
||||
|
||||
Link Odoo to SInvoice
|
||||
*********************
|
||||
|
||||
To connect Odoo with SInvoice, go to :menuselection:`Accounting --> Configuration --> Settings`.
|
||||
In the :guilabel:`Vietnamese Integration` section, fill in your SInvoice :guilabel:`Username` and
|
||||
:guilabel:`Password`. Add a :guilabel:`Default symbol` to generate a prefix for the invoice number
|
||||
managed in SInvoice if needed.
|
||||
|
||||
Invoice template
|
||||
****************
|
||||
|
||||
To create SInvoice templates, go to :menuselection:`Accounting --> Configuration --> Templates`.
|
||||
Click :guilabel:`New` and add a :guilabel:`Template code` and a :guilabel:`Template Invoice Type`.
|
||||
The :guilabel:`Template code` is the initial sequence of digits in the name assigned by SInvoice.
|
||||
For example, if the invoice template is `1/001 - Hóa đơn GTGT - ND123`, the :guilabel:`Template
|
||||
code` is `1/001`. The SInvoice templates in Odoo must match the ones in SInvoice.
|
||||
|
||||
To add :guilabel:`Invoice Symbols`, click :guilabel:`Add a new line`.
|
||||
|
||||
Sending invoices to SInvoice
|
||||
----------------------------
|
||||
|
||||
Invoices can be sent to SInvoice once they have been confirmed. To do so, follow the
|
||||
:ref:`invoice sending <accounting/invoice/sending>` steps. In the :guilabel:`Send` popup, enable
|
||||
:guilabel:`Send to SInvoice` and click :guilabel:`Send & Print`.
|
||||
|
||||
Once the invoice has been successfully submitted to SInvoice, the :guilabel:`SInvoice Status` field
|
||||
in the :guilabel:`SInvoice` tab of the invoice is updated to :guilabel:`Sent`. The
|
||||
:guilabel:`SInvoice Number`, :guilabel:`Issue Date`, :guilabel:`Secret Code` and :guilabel:`eInvoice
|
||||
Number` fields are also updated. The same information is available on SInvoice.
|
||||
|
||||
Replacement or adjustment invoices
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
A replacement invoice is issued to correct an invoice that has **yet to be tax declared**, whereas
|
||||
an adjustment invoice is issued to correct one that has **already been tax declared**. Follow these
|
||||
steps to issue a replacement or adjustment invoice:
|
||||
|
||||
#. Open the invoice and click :guilabel:`Credit Note`.
|
||||
#. In the :guilabel:`Credit Note` popup, fill in the following fields:
|
||||
|
||||
- :guilabel:`Reason displayed on Credit Note`
|
||||
- :guilabel:`Adjustment type`
|
||||
- :guilabel:`Agreement Name`
|
||||
- :guilabel:`Agreement Date`
|
||||
- :guilabel:`Journal`
|
||||
- :guilabel:`Reversal date`
|
||||
|
||||
#. Click :guilabel:`Reverse and Create Invoice` to issue a replacement invoice, or
|
||||
:guilabel:`Reverse` to issue an adjustment invoice.
|
||||
|
||||
The :guilabel:`SInvoice Status` in the :guilabel:`SInvoice` invoice tab is updated to
|
||||
:guilabel:`Replaced` for a replacement invoice or :guilabel:`Adjusted` for an adjustment invoice.
|
||||
|
||||
Invoice cancellation
|
||||
~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
If an invoice needs to be canceled, open the invoice and click :guilabel:`Request Cancel`. In the
|
||||
:guilabel:`Invoice Cancellation` popup, enter the cancellation :guilabel:`Reason`,
|
||||
:guilabel:`Agreement Name`, and :guilabel:`Agreement Date`, and click :guilabel:`Request
|
||||
Cancellation`.
|
||||
|
||||
The :guilabel:`SInvoice Status` in the :guilabel:`SInvoice` invoice tab is updated to
|
||||
:guilabel:`Canceled`.
|
||||
|
||||
.. _localizations/vietnam/qrcode:
|
||||
|
||||
QR banking codes
|
||||
================
|
||||
|
||||
Vietnamese QR banking is a payment service platform that allows customers to make instant domestic
|
||||
payments to individuals and merchants in Vietnamese dong via online and mobile banking.
|
||||
|
||||
Activate QR codes
|
||||
-----------------
|
||||
Configuration
|
||||
-------------
|
||||
|
||||
Go to :menuselection:`Accounting --> Configuration --> Settings`. Under the :guilabel:`Customer
|
||||
Payments` section, activate the :guilabel:`QR Codes` feature.
|
||||
To activate QR banking codes, go to :menuselection:`Accounting --> Configuration --> Settings` and
|
||||
enable :guilabel:`QR Codes` in the :guilabel:`Customer Payments` section.
|
||||
|
||||
Vietnamese QR banking bank account configuration
|
||||
------------------------------------------------
|
||||
Bank account
|
||||
~~~~~~~~~~~~
|
||||
|
||||
Go to :menuselection:`Contacts --> Configuration --> Bank Accounts` and select the bank account for
|
||||
which you want to activate Vietnamese QR banking. Set the :guilabel:`Bank Identifier Code` on the
|
||||
bank. Then set the :guilabel:`Proxy Type` and fill in the :guilabel:`Proxy Value` field depending on
|
||||
the type you chose.
|
||||
To activate QR banking for a bank account, go to :menuselection:`Contacts --> Configuration -->
|
||||
Bank Accounts` and select the bank account. Fill in the :guilabel:`Bank Identifier Code`,
|
||||
:guilabel:`Proxy Type` (based on the information used to identify the :guilabel:`Merchant Account`,
|
||||
such as the card number and bank account numbers), and :guilabel:`Proxy Value` fields.
|
||||
|
||||
Enable :guilabel:`Include Reference` to include the invoice number in the QR code.
|
||||
|
||||
.. important::
|
||||
- The account holder's country must be set to `Vietnam` on its contact form.
|
||||
- The account holder's city is mandatory.
|
||||
- You could also include the invoice number in the QR code by checking the :guilabel:`Include
|
||||
Reference` checkbox.
|
||||
|
||||
.. image:: vietnam/vn-paynow-bank-setting.png
|
||||
:alt: Vietnamese QR banking bank account configuration
|
||||
- The account holder's country must be set to `Vietnam`, and their city must be specified on the
|
||||
contact form.
|
||||
- The :ref:`account number <accounting/bank/account-number>` and bank must be set on the
|
||||
:guilabel:`Bank` journal.
|
||||
|
||||
.. seealso::
|
||||
:doc:`../accounting/bank`
|
||||
|
||||
Bank journal configuration
|
||||
--------------------------
|
||||
Generating QR codes on invoices
|
||||
-------------------------------
|
||||
|
||||
Go to :menuselection:`Accounting --> Configuration --> Journals`, open the bank journal, then fill
|
||||
out the :guilabel:`Account Number` and :guilabel:`Bank` under the :guilabel:`Journal Entries` tab.
|
||||
When creating a new invoice, open the :guilabel:`Other Info` tab and select :guilabel:`EMV
|
||||
Merchant-Presented QR-code` in the :guilabel:`Payment QR-code` field.
|
||||
|
||||
.. image:: vietnam/vn-bank-account-journal-setting.png
|
||||
:alt: Bank Account's journal configuration
|
||||
|
||||
Issue invoices with Vietnamese QR banking QR codes
|
||||
--------------------------------------------------
|
||||
|
||||
When creating a new invoice, open the :guilabel:`Other Info` tab and set the :guilabel:`Payment
|
||||
QR-code` option to *EMV Merchant-Presented QR-code*.
|
||||
|
||||
.. image:: vietnam/vn-qr-code-invoice-setting.png
|
||||
:alt: Select EMV Merchant-Presented QR-code option
|
||||
|
||||
Ensure that the :guilabel:`Recipient Bank` is the one you configured, as Odoo uses this field to
|
||||
generate the Vietnamese QR banking QR code.
|
||||
.. note::
|
||||
Ensure the :guilabel:`Recipient Bank` is configured, as Odoo uses this field to generate QR
|
||||
codes.
|
||||
|
||||
|
Before Width: | Height: | Size: 4.3 KiB |
|
Before Width: | Height: | Size: 4.4 KiB |
|
Before Width: | Height: | Size: 2.8 KiB |
|
Before Width: | Height: | Size: 14 KiB |
|
Before Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 9.6 KiB |
|
Before Width: | Height: | Size: 13 KiB |
|
Before Width: | Height: | Size: 9.6 KiB |
|
Before Width: | Height: | Size: 7.9 KiB |
|
Before Width: | Height: | Size: 3.3 KiB |
|
Before Width: | Height: | Size: 39 KiB |
|
Before Width: | Height: | Size: 5.5 KiB |
|
Before Width: | Height: | Size: 11 KiB |
|
Before Width: | Height: | Size: 24 KiB |
|
Before Width: | Height: | Size: 5.5 KiB |
|
Before Width: | Height: | Size: 21 KiB |
|
Before Width: | Height: | Size: 33 KiB |
|
Before Width: | Height: | Size: 9.8 KiB |
|
Before Width: | Height: | Size: 6.9 KiB |
|
Before Width: | Height: | Size: 38 KiB |
|
Before Width: | Height: | Size: 51 KiB |
|
Before Width: | Height: | Size: 15 KiB |
|
Before Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 65 KiB |
|
Before Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 13 KiB |
|
Before Width: | Height: | Size: 51 KiB |
|
Before Width: | Height: | Size: 33 KiB |
|
Before Width: | Height: | Size: 13 KiB |
|
Before Width: | Height: | Size: 14 KiB |
|
Before Width: | Height: | Size: 4.4 KiB |
|
Before Width: | Height: | Size: 21 KiB |
|
Before Width: | Height: | Size: 14 KiB |
|
Before Width: | Height: | Size: 20 KiB |
|
Before Width: | Height: | Size: 20 KiB |
|
Before Width: | Height: | Size: 13 KiB |
|
Before Width: | Height: | Size: 31 KiB |
|
Before Width: | Height: | Size: 36 KiB |
|
Before Width: | Height: | Size: 30 KiB |
|
Before Width: | Height: | Size: 16 KiB |
|
Before Width: | Height: | Size: 32 KiB |
|
Before Width: | Height: | Size: 10 KiB |
@@ -10,6 +10,7 @@ Daily operations
|
||||
|
||||
operations/adjustments
|
||||
operations/receipts_deliveries
|
||||
operations/process_transfers
|
||||
operations/transfers_scratch
|
||||
operations/barcode_nomenclature
|
||||
operations/gs1_nomenclature
|
||||
|
||||
|
Before Width: | Height: | Size: 76 KiB |
|
Before Width: | Height: | Size: 61 KiB |
|
Before Width: | Height: | Size: 64 KiB |
|
Before Width: | Height: | Size: 37 KiB |