Compare commits

...

57 Commits

Author SHA1 Message Date
Julien Castiaux ec4ce88953 [IMP] core: make author field mandatory in manifests
External contributors (and namely Odoo PS) forget to set the author
field in their manifest file. The result is that the module is wrongly
registered with `'author': 'Odoo S.A.'`.

This work makes the field mandatory, with a warning when not set. It
also offers an upgrade-code script to mass-rewrite all the manifests in
order to set the author.

task-4485983
2025-02-23 13:42:59 +01:00
xpl-odoo e9269e8128 [MOV] accounting: invoice sequence section on a separate page
closes odoo/documentation#12142

X-original-commit: 009dd70bd3
Signed-off-by: Xavier Platteau (xpl) <xpl@odoo.com>
2025-02-22 06:15:03 +00:00
samueljlieber b86296750e [IMP] contributing: documentation macOS make install
closes odoo/documentation#12149

X-original-commit: d4ed263fa2
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: Samuel Lieber (sali) <sali@odoo.com>
2025-02-22 06:14:58 +00:00
jero-odoo c968e3814a [IMP] Purchase: Reordering Rules Update
closes odoo/documentation#12138

X-original-commit: 035e0ec1e8
Signed-off-by: Jessica Rogers (jero) <jero@odoo.com>
Co-authored-by: Dina Klarisse Dugar <dikd@odoo.com>
Co-authored-by: Felicia Kuan <feku@odoo.com>
Co-authored-by: Sam Lieber (sali) <36018073+samueljlieber@users.noreply.github.com>
2025-02-21 18:05:14 +00:00
LoredanaLrpz 03defbfc60 [IMP] pos: resize & scale content (table and screenshots)
task-4521596

closes odoo/documentation#11900

X-original-commit: 989f2faf9a
Signed-off-by: Loredana Perazzo (lrpz) <lrpz@odoo.com>
2025-02-21 16:38:11 +00:00
jero-odoo e55ae1cbf4 [IMP] inventory: view empty locations
closes odoo/documentation#12132

X-original-commit: 1262245b53
Signed-off-by: Samuel Lieber (sali) <sali@odoo.com>
Signed-off-by: Jessica Rogers (jero) <jero@odoo.com>
Co-authored-by: larm-odoo <121518652+larm-odoo@users.noreply.github.com>
2025-02-21 16:38:04 +00:00
Tiffany Chang (tic) 5f9b6e4825 [I18N] *: re-export pot files
As per usual, leave off developer.pot and contributing.pot since we
don't translate them (not useful, can't really contribute to/dev in
Odoo without knowing English)

closes odoo/documentation#12131

X-original-commit: aad8aa1314
Signed-off-by: Tiffany Chang (tic) <tic@odoo.com>
2025-02-21 13:39:15 +00:00
dikd-odoo 8c685239b4 [IMP] sales: gelato feedback
Apply suggestions from JERO review

edits

closes odoo/documentation#12123

X-original-commit: e32f4ec766
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
Co-authored-by: Jess Rogers <104637850+jero-odoo@users.noreply.github.com>
2025-02-21 08:16:00 +00:00
Logan Staelens 224e1f5982 [IMP] account_reports: Unambiguous cross_report aggregations
Before this commit, when using cross_report subformula it would search for a report that has an line with this code.
We had to ensure there was no duplicate codes and so it was difficult to maintain.

Now, when we use a cross_report subformula, we need to explicitly target the report from where the code is from.

task-4457667

closes odoo/documentation#11747

Related: odoo/odoo#193106
Related: odoo/enterprise#76845
Signed-off-by: Logan Staelens (lost) <lost@odoo.com>
2025-02-20 18:06:43 +00:00
Charles Mutabazi 606b56ccda [FIX] Use <chatter> instead of <div class="oe_chatter">
closes odoo/documentation#12110

X-original-commit: 0ae856bcf6
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2025-02-20 01:32:49 +00:00
jero-odoo c1154c0c5d [ADD] Purchase: Templates
closes odoo/documentation#12103

X-original-commit: 5bb043bd3b
Signed-off-by: Jessica Rogers (jero) <jero@odoo.com>
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>
2025-02-19 08:13:54 +00:00
dikd-odoo cd3086cea4 [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#12090

X-original-commit: c0dd6b7d1c
Signed-off-by: Dina Klarisse Dugar (dikd) <dikd@odoo.com>
Signed-off-by: Zachary Straub (zst) <zst@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>
2025-02-19 08:13:50 +00:00
xpl-odoo cc4e3a87f6 [IMP] accounting: clarify invoice sequence format
task-4564980

closes odoo/documentation#12100

X-original-commit: d2c610179a
Signed-off-by: Xavier Platteau (xpl) <xpl@odoo.com>
2025-02-19 05:31:02 +00:00
“Dallas” d15c4205be [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#12031

X-original-commit: f1f547ca58
Signed-off-by: Audrey Vandromme (auva) <auva@odoo.com>
Signed-off-by: Dallas Dean (dade) <dade@odoo.com>
2025-02-17 11:58:18 +00:00
samueljlieber 30619559c6 [IMP] data cleaning: content improvements
closes odoo/documentation#12094

X-original-commit: a762cabbb3
Signed-off-by: Samuel Lieber (sali) <sali@odoo.com>
Co-authored-by: dikd-odoo <dikd@odoo.com>
2025-02-16 00:37:11 +00:00
maad-odoo 689fdc428b [FW][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#12088

Forward-port-of: odoo/documentation#12057
Signed-off-by: Victor Feyens (vfe) <vfe@odoo.com>
Signed-off-by: Aditya Maurya (maad) <maad@odoo.com>
2025-02-15 14:20:39 +00:00
dikd-odoo e48614edb5 [IMP] sales: subscription products in ecommerce
closes odoo/documentation#12045

X-original-commit: 710854226d
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
Signed-off-by: Dina Klarisse Dugar (dikd) <dikd@odoo.com>
2025-02-14 23:38:30 +00:00
jero-odoo 1d7bb7f261 [IMP] inventory: notifs for expiration dates
closes odoo/documentation#12083

X-original-commit: 01cf1d3dd7
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>
2025-02-14 23:38:25 +00:00
jero-odoo 2311d07abe [IMP] inventory: add a delivery
closes odoo/documentation#12081

X-original-commit: 5fbab9eba4
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>
2025-02-14 23:38:24 +00:00
jbelloc2 10c0c4b5bf [ADD] sale_shopee: Shopee Connector
Documentation on the benefits of the new shopee connector and guidelines for odoo users.

tasks-3623720

closes odoo/documentation#12086

X-original-commit: 84051ad9de
Signed-off-by: Samuel Lieber (sali) <sali@odoo.com>
2025-02-14 23:38:23 +00:00
samueljlieber 85cd521464 [FIX] resource folder match
closes odoo/documentation#12082

X-original-commit: a55fdb6313
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: Samuel Lieber (sali) <sali@odoo.com>
2025-02-14 21:59:10 +00:00
samueljlieber 194ed8085a [FIX] clean unused resource files
X-original-commit: a4b841afce
Part-of: odoo/documentation#12082
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: Samuel Lieber (sali) <sali@odoo.com>
2025-02-14 21:59:10 +00:00
samueljlieber 9b8723e544 [IMP] tests: check resource file referenced
X-original-commit: 3f1f02200b
Part-of: odoo/documentation#12082
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: Samuel Lieber (sali) <sali@odoo.com>
2025-02-14 21:59:09 +00:00
Aaron Bohy ace11b6980 [IMP] developer/../view_architectures: add overflow option
This commit documents the new `overflow` option of the calendar
view.

Associated PR: odoo/odoo#197274
Task-4564270

closes odoo/documentation#12024

Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
2025-02-14 13:53:38 +00:00
jero-odoo 30e6d651bf [ADD] Barcode: Processing a transfer
closes odoo/documentation#12072

X-original-commit: c9fca6c3b6
Signed-off-by: Samuel Lieber (sali) <sali@odoo.com>
Signed-off-by: Jessica Rogers (jero) <jero@odoo.com>
Co-authored-by: Felicia Kuan <feku@odoo.com>
2025-02-13 19:13:41 +00:00
dikd-odoo cde28f2792 [IMP] sales: down payment intro
edits from FEKU

SALI edits

remove image

closes odoo/documentation#11970

X-original-commit: a94c8ed498
Signed-off-by: Dina Klarisse Dugar (dikd) <dikd@odoo.com>
Signed-off-by: Samuel Lieber (sali) <sali@odoo.com>
2025-02-13 16:25:49 +00:00
mcsi-odoo 7f3591a3c1 [IMP] studio: automation rules correction
Task-3761784

closes odoo/documentation#12067

X-original-commit: 4b6e34efc5
Signed-off-by: Audrey Vandromme (auva) <auva@odoo.com>
Signed-off-by: Siobhan McGonigle (mcsi) <mcsi@odoo.com>
2025-02-13 16:25:42 +00:00
samueljlieber 6bc849d0c2 [IMP] marketing automation: content improvements
closes odoo/documentation#12062

X-original-commit: 8f1d5d428c
Signed-off-by: Samuel Lieber (sali) <sali@odoo.com>
2025-02-13 14:53:50 +00:00
xpl-odoo 3e3aa95d4f [IMP] website: remove slash in redirect rule expression
task-4113085

closes odoo/documentation#12051

X-original-commit: a00b6cf990
Signed-off-by: Xavier Platteau (xpl) <xpl@odoo.com>
2025-02-12 17:48:22 +00:00
Sam Lieber (sali) c95440234b [IMP] data cleaning: field cleaning
closes odoo/documentation#12041

X-original-commit: 98b765babe
Signed-off-by: Samuel Lieber (sali) <sali@odoo.com>
2025-02-12 17:48:20 +00:00
jero-odoo d985407217 [IMP] Inventory: Adjustments edit
closes odoo/documentation#12036

X-original-commit: aa5d9911b3
Signed-off-by: Samuel Lieber (sali) <sali@odoo.com>
Signed-off-by: Jessica Rogers (jero) <jero@odoo.com>
2025-02-12 13:15:23 +00:00
Paolo Gatti 629e769654 [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#12026

X-original-commit: 8495357d6e
Related: odoo/enterprise#79079
Signed-off-by: Xavier Platteau (xpl) <xpl@odoo.com>
Signed-off-by: Paolo Gatti (pgi) <pgi@odoo.com>
2025-02-12 11:36:40 +00:00
mcsi-odoo c599d94588 [IMP] studio: adding link about accessing studio
Task-3761784

closes odoo/documentation#12032

X-original-commit: 5c72ee6f63
Signed-off-by: Xavier Platteau (xpl) <xpl@odoo.com>
Signed-off-by: Siobhan McGonigle (mcsi) <mcsi@odoo.com>
2025-02-12 08:47:23 +00:00
Meet Jivani [MEJI] f3c3c31787 [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#12014

X-original-commit: bb69f01e71
Signed-off-by: Loredana Perazzo (lrpz) <lrpz@odoo.com>
Signed-off-by: Meet Jivani (meji) <meji@odoo.com>
2025-02-11 11:57:30 +00:00
Zuzanna Luczynska 57977d2a10 [IMP] project: project dashboard minor corrections
closes odoo/documentation#12015

X-original-commit: 49b75e3213
Signed-off-by: Audrey Vandromme (auva) <auva@odoo.com>
Signed-off-by: Zuzanna Luczynska (zulu) <zulu@odoo.com>
2025-02-11 08:32:05 +00:00
afma-odoo e8bd3a105c [IMP] accounting: update payment matching feature
task-3518648

closes odoo/documentation#12019

X-original-commit: 52d8565f02
Signed-off-by: Audrey Vandromme (auva) <auva@odoo.com>
2025-02-11 08:32:03 +00:00
afma-odoo d4edd280b8 [IMP] accounting: Update customer invoices page for 18.0
task-3416326

closes odoo/documentation#12016

X-original-commit: b6e6515fbf
Signed-off-by: Audrey Vandromme (auva) <auva@odoo.com>
2025-02-11 07:12:51 +00:00
jero-odoo f415b7b9b2 [IMP] Calendar: Outlook calendar configuration
closes odoo/documentation#12023

X-original-commit: f1030c6e9f
Signed-off-by: Samuel Lieber (sali) <sali@odoo.com>
Signed-off-by: Jessica Rogers (jero) <jero@odoo.com>
2025-02-10 23:39:59 +00:00
Anita (anko) 7e58fc5a38 [IMP] applications/sales: prepare files for future Gelato documentation
task-3935688

closes odoo/documentation#11994

X-original-commit: 01c625c0be
Related: odoo/odoo#197027
Related: odoo/enterprise#78876
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: anko-odoo <anko@odoo.com>
2025-02-10 16:40:26 +00:00
jero-odoo 398b2660df [IMP] Inventory: Adjustments 18.0
closes odoo/documentation#12003

X-original-commit: 7e375cfd54
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>
2025-02-10 12:31:54 +00:00
Aaron Bohy 7d90b85f4f [IMP] developer/../view_architectures: show_date_picker option
This commit documents the newly added `show_date_picker` option in
the calendar view.

PR: https://github.com/odoo/odoo/pull/196945
Task-4510549

closes odoo/documentation#11985

Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
2025-02-10 08:23:51 +00:00
Aaron Bohy d3664e0596 [IMP] developer/../view_architectures: improve calendar doc
This commit reworks the documentation of the calendar view, by
using a style which is more aligned with other views. We also
reworded and re-organized it.

Part-of: odoo/documentation#11985
Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
2025-02-10 08:23:51 +00:00
Felicious 7e1e118ab0 [IMP] inventory: CRL - replenishment & visibility days
closes odoo/documentation#12007

X-original-commit: 75f0258d19
Signed-off-by: Felicia Kuan (feku) <feku@odoo.com>
Co-authored-by: Sam Lieber (sali) <36018073+samueljlieber@users.noreply.github.com>
Co-authored-by: Liz Bender <92882399+benderliz@users.noreply.github.com>
2025-02-08 23:44:27 +00:00
Harsh Modi 203bbe60a8 [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#11992

X-original-commit: c7a6b67a87
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2025-02-07 19:16:02 +00:00
Krzysztof Magusiak (krma) 4b9939c579 [IMP] core: PEP420 native namespace
task-4035335

closes odoo/documentation#11914

Related: odoo/odoo#195664
Signed-off-by: Krzysztof Magusiak (krma) <krma@odoo.com>
2025-02-07 10:56:22 +00:00
Nicolas Viseur (vin) ee5a13730d [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#11976

X-original-commit: 4b123b8464
Signed-off-by: Anne-Françoise Marcq (afma) <afma@odoo.com>
Signed-off-by: Kim Dohyun (kido) <kido@odoo.com>
2025-02-07 03:21:42 +00:00
evtf-odoo d6a11685b9 [IMP] accounting/l10n_ar: purchase withholding automation
Add new section Withholding Management
Content based on v18

closes odoo/documentation#11981

X-original-commit: 27acb59d79
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>
2025-02-06 21:02:09 +00:00
Parish Bracha 787230c156 [IMP] Sales: Quotation Templates update
closes odoo/documentation#11862

X-original-commit: a541383a1d
Signed-off-by: Parish Bracha (pabr) <pabr@odoo.com>
Signed-off-by: Samuel Lieber (sali) <sali@odoo.com>
2025-02-06 19:38:20 +00:00
John Holton (hojo) a5a176b431 [ADD] Manufacturing: Lots and serial numbers
closes odoo/documentation#11912

X-original-commit: 0fc08e02f8
Signed-off-by: John Holton (hojo) <hojo@odoo.com>
Signed-off-by: Samuel Lieber (sali) <sali@odoo.com>
2025-02-06 19:38:19 +00:00
John Holton (hojo) 851d7156e0 [IMP] Inventory: add delivery slip setting to lots
closes odoo/documentation#11739

X-original-commit: 02bcc265fb
Signed-off-by: John Holton (hojo) <hojo@odoo.com>
Signed-off-by: Samuel Lieber (sali) <sali@odoo.com>
2025-02-06 19:38:18 +00:00
dikd-odoo 70cf846931 [IMP] sales: pricelists tabs
closes odoo/documentation#11932

X-original-commit: 2f050805bb
Signed-off-by: Samuel Lieber (sali) <sali@odoo.com>
Signed-off-by: Dina Klarisse Dugar (dikd) <dikd@odoo.com>
2025-02-06 16:54:09 +00:00
jero-odoo c53be14fc2 [IMP] Calendar: Google integration update
closes odoo/documentation#11969

X-original-commit: b9e82b8c29
Signed-off-by: Jessica Rogers (jero) <jero@odoo.com>
Co-authored-by: pabr-odoo <pabr@odoo.com>
Co-authored-by: Felicia Kuan <feku@odoo.com>
Co-authored-by: Sam Lieber (sali) <36018073+samueljlieber@users.noreply.github.com>
2025-02-06 13:34:12 +00:00
Krzysztof Magusiak (krma) 2fcafbfca9 [IMP] core: api.private
New decorator for private methods. See #195402.

task-4505030

closes odoo/documentation#11944

Related: odoo/odoo#195402
Related: odoo/enterprise#77961
Signed-off-by: Krzysztof Magusiak (krma) <krma@odoo.com>
2025-02-06 13:34:09 +00:00
“Chiara c5bf2164f9 [ADD] accounting: einvoicing for america
closes odoo/documentation#11961

X-original-commit: 7d4f6dc77a
Signed-off-by: Chiara Prattico (chpr) <chpr@odoo.com>
2025-02-05 13:54:12 +00:00
Rémy Voet (ryv) 2958013fa3 [IMP] orm: Deprecated read_group
Update documentation for the deprecatation of read_group.

closes odoo/documentation#11354

Related: odoo/odoo#163300
Related: odoo/enterprise#62388
Related: odoo/upgrade#6682
Signed-off-by: Rémy Voet (ryv) <ryv@odoo.com>
2025-02-05 13:54:00 +00:00
benderliz e7779f1542 [IMP] Inventory: Rewrite aging report as stock valuation report
closes odoo/documentation#11838

X-original-commit: 90048d2484
Signed-off-by: Liz Bender (beli) <beli@odoo.com>
2025-02-05 01:07:56 +00:00
Ricardo Gomes Rodrigues 11d8fa4593 [IMP] belgium: update disallowed vs deductibility
Instead of talking about the disallowed amount (non-deductible),
we now talk about its reverse (deductibility).

Enterprise PR: https://github.com/odoo/enterprise/pull/76066

task-id 4421297

closes odoo/documentation#11634

Related: odoo/enterprise#76066
Related: odoo/upgrade#6971
Signed-off-by: Ricardo Gomes Rodrigues (rigr) <rigr@odoo.com>
2025-02-04 20:37:33 +00:00
391 changed files with 14439 additions and 9074 deletions
+1 -1
View File
@@ -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

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.7 KiB

Binary file not shown.

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
--------------
Binary file not shown.

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`.
Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

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 :doc:`sequence
<customer_invoices/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:
@@ -123,81 +171,6 @@ how much the customer is overdue. These actions are bundled into follow-up level
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.
.. _accounting/invoice/sequence:
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.
.. _accounting/invoice/resequencing:
Resequencing
------------
Resequencing is not possible:
- 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.
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`.
In this case, if the :guilabel:`Invoice date` isn't aligned with the sequence number, a
:guilabel:`Validation Error` message appears.
.. 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.
.. _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,
continuity for the current year must be maintained without restarting from the beginning.
.. note::
This feature is only available to users with administrator or advisor access.
Follow these steps to resequence invoice numbers:
#. Activate the :ref:`developer mode <developer-mode>`.
#. From the :guilabel:`Accounting Dashboard`, open the :guilabel:`Customer Invoices` journal.
#. Select the invoices that need a new sequence.
#. Click the :icon:`fa-cog` :guilabel:`Actions` menu and select :guilabel:`Resequence`.
#. In the :guilabel:`Ordering` field, choose to
- :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`.
The first invoice using the new sequence appears in red in the :guilabel:`Customer Invoices` list.
.. image:: customer_invoices/invoice-sequencing.png
:alt: Resequence options window
.. _accounting/invoice/reporting:
Reporting
@@ -221,18 +194,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:
@@ -262,6 +235,7 @@ liabilities, and equity at a specific time.
customer_invoices/cash_rounding
customer_invoices/deferred_revenues
customer_invoices/electronic_invoicing
customer_invoices/sequence
customer_invoices/snailmail
customer_invoices/epc_qr_code
customer_invoices/incoterms
@@ -15,10 +15,15 @@ one of the application of EDI.
Odoo supports e-invoicing in many countries. Refer to the country's page for more details:
- :doc:`Argentina <electronic_invoicing/argentina>`
- :doc:`Austria <electronic_invoicing/austria>`
- :doc:`Belgium <electronic_invoicing/belgium>`
- :doc:`Brazil <electronic_invoicing/brazil>`
- :doc:`Chile <electronic_invoicing/chile>`
- :doc:`Colombia <electronic_invoicing/colombia>`
- :doc:`Croatia <electronic_invoicing/croatia>`
- :doc:`Denmark <electronic_invoicing/denmark>`
- :doc:`Ecuador <electronic_invoicing/ecuador>`
- :doc:`Estonia <electronic_invoicing/estonia>`
- :doc:`Finland <electronic_invoicing/finland>`
- :doc:`France <electronic_invoicing/france>`
@@ -29,14 +34,17 @@ Odoo supports e-invoicing in many countries. Refer to the country's page for mor
- :doc:`Latvia <electronic_invoicing/latvia>`
- :doc:`Lithuania <electronic_invoicing/lithuania>`
- :doc:`Luxembourg <electronic_invoicing/luxembourg>`
- :doc:`Mexico <electronic_invoicing/mexico>`
- :doc:`Netherlands <electronic_invoicing/netherlands>`
- :doc:`Norway <electronic_invoicing/norway>`
- :doc:`Peru <electronic_invoicing/peru>`
- :doc:`Poland <electronic_invoicing/poland>`
- :doc:`Portugal <electronic_invoicing/portugal>`
- :doc:`Romania <electronic_invoicing/romania>`
- :doc:`Slovenia <electronic_invoicing/slovenia>`
- :doc:`Spain <electronic_invoicing/spain>`
- :doc:`Spain - Basque Country <electronic_invoicing/basque_country>`
- :doc:`Uruguay <electronic_invoicing/uruguay>`
.. seealso::
:doc:`Fiscal localizations documentation <../../fiscal_localizations>`
@@ -0,0 +1,54 @@
:orphan:
======================================
Odoo electronic invoicing in Argentina
======================================
Odoo Invoicing is your trusted partner for safe, efficient, and legally compliant e-invoicing
solutions tailored to meet Argentina's regulatory standards and compatible with the requirements set
forth by the `Administración Federal de Ingresos Públicos (AFIP) <https://www.afip.gob.ar/>`_.
Legal framework for e-invoicing in Argentina
============================================
In Argentina, e-invoicing is regulated by the :abbr:`AFIP (Administración Federal de Ingresos
Públicos)` and is mandatory for most businesses to ensure tax compliance and transparency. The
primary regulations governing e-invoicing include:
- `General Resolution No. 4290/2018 <https://biblioteca.afip.gob.ar/search/query/norma.aspx?p=t:RAG|n:4290|o:3|a:2018|f:02/08/2018>`_
which establishes the mandatory use of electronic invoices for specific economic activities and
turnover thresholds.
- Fiscal code regulations: Requires electronic invoices for all VAT-registered businesses, including
B2B, :abbr:`B2G (business-to-government)`, and B2C transactions.
- Implementation of :abbr:`CAE (Código de Autorización Electrónico)`: Every electronic invoice must
include a :abbr:`CAE (Código de Autorización Electrónico)` issued by the :abbr:`AFIP
(Administración Federal de Ingresos Públicos)`, ensuring its validity and authenticity.
Compliance with Argentinian e-invoicing regulations
===================================================
Odoo Invoicing simplifies the process of adhering to Argentina's e-invoicing regulations, offering
features designed to ensure compliance:
- **Supported formats**: Odoo supports Argentina's authorized e-invoice formats, including :abbr:`FE
(Factura Electrónica)` with :abbr:`AFIP (Administración Federal de Ingresos Públicos)`-compliant
digital validation, XML with :abbr:`CAE (Código de Autorización Electrónico)` authorization for
real-time integration with :abbr:`AFIP (Administración Federal de Ingresos Públicos)`, and
digitally signed PDF invoices featuring :abbr:`CAE (Código de Autorización Electrónico)` and
QR codes for secure validation.
- **Secure storage and retrieval**: Complying with Argentinas ten-year storage requirement, Odoo
provides tamper-proof archiving and easy retrieval for audits or tax inspections.
- **Automatic VAT calculation and reporting**: Odoo ensures compliance with Argentina's VAT
regulations by automatically calculating VAT, incorporating it into invoices, and adhering to
legal reporting requirements for accurate tax submissions.
.. seealso::
:doc:`Argentinian fiscal localization documentation <../../../fiscal_localizations/argentina>`
.. admonition:: Disclaimer
This page provides a general overview of Argentine e-invoicing laws and how Odoos invoicing
module supports compliance with AFIP regulations and the Fiscal Code. It is not intended as legal
advice. We recommend consulting with a tax advisor or legal professional familiar with
Argentinian e-invoicing regulations to ensure compliance tailored to your specific business
needs.
@@ -0,0 +1,53 @@
:orphan:
===================================
Odoo electronic invoicing in Brazil
===================================
Odoo Invoicing is your trusted partner for safe, efficient, and legally compliant e-invoicing
solutions tailored to meet Brazil's regulatory standards and compatible with the requirements set
forth by the `Secretaria da Fazenda (SEFAZ) <https://www.gov.br/receitafederal/pt-br>`_.
Legal framework for e-invoicing in Brazil
=========================================
In Brazil, e-invoicing is highly regulated and mandatory for most businesses to ensure tax
compliance and transparency. The key regulations governing e-invoicing include:
- :abbr:`NF-e (Nota Fiscal Eletrônica)`: A mandatory e-invoice for goods and services used in B2B
and :abbr:`B2G (business-to-government)` transactions.
- :abbr:`CT-e (Conhecimento de Transporte Eletrônico)`: Specific to freight and logistics services.
- :abbr:`NFS-e (Nota Fiscal de Serviços Eletrônica)`: Issued for service-based transactions, with
implementation varying by municipality.
- Integration with :abbr:`SEFAZ (Secretaria da Fazenda)`: Every electronic invoice must be
authorized by :abbr:`SEFAZ (Secretaria da Fazenda)` and issued with a unique authorization code
(Autorização de Uso).
Compliance with Brazilian e-invoicing regulations
=================================================
Odoo Invoicing simplifies the process of adhering to Brazils complex e-invoicing regulations,
offering features designed to ensure compliance:
- **Supported formats**: Odoo supports Brazil's authorized e-invoice formats, including :abbr:`NF-e
(Nota Fiscal Eletrônica)` for goods and services compliant with :abbr:`SEFAZ (Secretaria da
Fazenda)`, :abbr:`NFS-e (Nota Fiscal de Serviços Eletrônica)` customizable for municipal
requirements, :abbr:`CT-e (Conhecimento de Transporte Eletrônico)` for logistics and
transportation, and digital PDF invoices with :abbr:`SEFAZ (Secretaria da Fazenda)` authorization
codes and QR codes.
- **Secure storage and retrieval**: Complying with Brazil's five-year storage requirement, Odoo
offers tamper-proof archiving for easy retrieval during audits or inspections.
- **Automatic tax calculation and reporting**: Odoo automates tax calculations for ICMS, IPI, and
ISS, ensuring compliance with regional tax rules and generating reports compatible with
:abbr:`SEFAZ (Secretaria da Fazenda)` and municipal requirements.
.. seealso::
:doc:`Brazilian fiscal localization documentation <../../../fiscal_localizations/brazil>`
.. admonition:: Disclaimer
This page provides a general overview of Brazilian e-invoicing laws and how Odoos invoicing
module supports compliance with :abbr:`SEFAZ (Secretaria da Fazenda)` regulations. It is not
intended as legal advice. We recommend consulting with a tax advisor or legal professional
familiar with Brazilian e-invoicing regulations to ensure compliance tailored to your specific
business needs.
@@ -0,0 +1,51 @@
:orphan:
==================================
Odoo electronic invoicing in Chile
==================================
Odoo Invoicing is your trusted partner for safe, efficient, and legally compliant e-invoicing
solutions tailored to meet Chile's regulatory requirements and compatible with standards set by the
`Servicio de Impuestos Internos (SII) <https://homer.sii.cl/>`_.
Legal framework for e-invoicing in Chile
========================================
Chile is a pioneer in mandatory electronic invoicing, with comprehensive regulations to ensure tax
compliance and enhance transparency. Key elements include:
- **Factura Electrónica**: Mandatory for most businesses to issue invoices digitally through the
:abbr:`SII (Servicio de Impuestos Internos)`'s system.
- **Boleta Electrónica**: Required for retail transactions to report sales and tax information.
- **Guía de Despacho Electrónica**: Necessary for tracking the transport of goods.
- **Integration with SII**: All electronic invoices must be validated by the :abbr:`SII (Servicio
de Impuestos Internos)`, assigned a unique Folio authorization code, and reported for tax
purposes.
Compliance with Chilean e-invoicing regulations
===============================================
Odoo Invoicing simplifies adherence to Chile's e-invoicing requirements with features designed to
ensure compliance:
- **Supported formats**: Odoo supports all major Chilean e-invoice formats, including Factura
Electrónica, Boleta Electrónica, and Guía de Despacho Electrónica, ensuring :abbr:`SII (Servicio
de Impuestos Internos)` compatibility with digital validation and Folio assignment.
- **Integration with SII**: Odoo seamlessly connects with :abbr:`SII (Servicio de Impuestos
Internos)`'s systems, automating invoice submission and ensuring real-time validation for
compliant issuance.
- **Secure storage and retrieval**: Complying with Chile's mandatory storage period of six years,
Odoo provides tamper-proof archiving for invoices, enabling easy access for audits or tax
inspections.
- **Automatic tax calculation and reporting**: Odoo automates calculations for VAT (IVA) and other
applicable taxes, ensuring accurate invoicing and adherence to Chile's tax reporting standards.
.. seealso::
:doc:`Chilean fiscal localization documentation <../../../fiscal_localizations/chile>`
.. admonition:: Disclaimer
This page provides a general overview of Chilean e-invoicing laws and how Odoo supports
compliance with :abbr:`SII (Servicio de Impuestos Internos)` regulations. It is not intended as
legal or tax advice. We recommend consulting a tax advisor or legal professional familiar with
Chilean e-invoicing regulations to ensure compliance tailored to your specific business needs.
@@ -0,0 +1,51 @@
:orphan:
=====================================
Odoo electronic invoicing in Colombia
=====================================
Odoo Invoicing is your trusted partner for safe, efficient, and legally compliant e-invoicing
solutions tailored to meet Colombia's regulatory requirements and fully compatible with the
guidelines established by the `Dirección de Impuestos y Aduanas Nacionales (DIAN)
<https://www.dian.gov.co/>`_.
Legal framework for e-invoicing in Colombia
===========================================
Colombia has implemented mandatory e-invoicing for most businesses to enhance tax compliance and
improve transparency. Key elements include:
- **Factura Electrónica**: Mandatory for B2B, B2C, and :abbr:`B2G (business-to-government)`
transactions, requiring compliance with :abbr:`DIAN (Dirección de Impuestos y Aduanas
Nacionales)`'s technical specifications.
- **Integration with DIAN**: All electronic invoices must be submitted to :abbr:`DIAN (Dirección de
Impuestos y Aduanas Nacionales)` for validation, where they are assigned a unique :abbr:`CUFE
(Código Único de Factura Electrónica)` authorization code.
- **Adoption of XML Standards**: Colombian e-invoicing uses XML as the standard format for
electronic invoices, ensuring interoperability and standardized reporting.
Compliance with Colombian e-invoicing regulations
=================================================
Odoo Invoicing simplifies the complexities of e-invoicing compliance in Colombia, offering tailored
features:
- **Supported formats**: Odoo supports Factura Electrónica in :abbr:`DIAN (Dirección de Impuestos y
Aduanas Nacionales)`-compliant XML formats, including legally required :abbr:`CUFE (Código Único
de Factura Electrónica)` codes and additional fields for B2B, B2C, and :abbr:`B2G
(business-to-government)` transactions.
- **Secure storage and retrieval**: In compliance with Colombia's six-year mandatory storage
requirement, Odoo provides tamper-proof invoice archiving, ensuring easy access for audits or
inspections.
- **Automatic tax calculation and reporting**: Odoo automates tax calculations for VAT (IVA) and
other applicable taxes, ensuring accuracy and compliance with DIAN's tax reporting standards.
.. seealso::
:doc:`Colombian fiscal localization documentation <../../../fiscal_localizations/colombia>`
.. admonition:: Disclaimer
This page provides a general overview of Colombian e-invoicing regulations and how Odoo supports
compliance with DIAN requirements. It is not intended as legal or tax advice. We recommend
consulting with a tax advisor or legal professional familiar with Colombian e-invoicing
regulations to ensure compliance tailored to your specific business needs.
@@ -0,0 +1,50 @@
:orphan:
====================================
Odoo electronic invoicing in Ecuador
====================================
Odoo Invoicing is your trusted partner for safe, efficient, and legally compliant e-invoicing
solutions tailored to meet Ecuador's regulatory requirements and fully compatible with the
guidelines established by the `Servicio de Rentas Internas (SRI)
<https://www.sri.gob.ec/web/intersri/home>`_.
Legal framework for e-invoicing in Ecuador
==========================================
Ecuador has implemented mandatory electronic invoicing for most businesses aimed to enhance tax
compliance and transparency. Key elements include:
- **Factura Electrónica**: All businesses must issue electronic invoices in XML format for B2B, B2C,
and :abbr:`B2G (business-to-government)` transactions, ensuring compliance with :abbr:`SRI
(Servicio de Rentas Internas)`'s technical specifications.
- **Transmission Requirements**: E-invoices must be transmitted to the SRI within 24 hours of
issuance.
- **Record Storage**: E-invoices, including the :abbr:`SRI (Servicio de Rentas Internas)`'s
acceptance messages, must be stored for a minimum of seven years.
Compliance with Ecuadorian e-invoicing regulations
==================================================
Odoo Invoicing simplifies compliance with Ecuador's e-invoicing requirements by offering tailored
features:
- **Supported formats**: Odoo supports the Ecuadorian e-invoice format (XML) and ensures
compatibility with the :abbr:`SRI (Servicio de Rentas Internas)`'s system for validation and
authorization, including the necessary digital signature.
- **Secure storage and retrieval**: In compliance with Ecuador's seven-year storage requirement,
Odoo offers tamper-proof archiving so that invoices can be easily accessed during audits or
inspections.
- **Automatic tax calculation and reporting**: Odoo automates tax calculations for VAT (IVA) and
other applicable taxes, ensuring accurate invoicing and adherence to Ecuador's tax reporting
standards.
.. seealso::
:doc:`Ecuadorian fiscal localization documentation <../../../fiscal_localizations/ecuador>`
.. admonition:: Disclaimer
This page provides a general overview of Ecuadorian e-invoicing regulations and how Odoo supports
compliance with SRI requirements. It is not intended as legal or tax advice. We recommend
consulting with a tax advisor or legal professional familiar with Ecuador's e-invoicing
regulations to ensure compliance tailored to your specific business needs.
@@ -0,0 +1,57 @@
:orphan:
===================================
Odoo electronic invoicing in Mexico
===================================
Odoo Invoicing is your trusted partner for safe, efficient, and legally compliant e-invoicing
solutions tailored to meet Mexico's regulatory requirements and fully compatible with the guidelines
established by the :abbr:`SAT (Servicio de Administración Tributaria)`.
Legal framework for e-invoicing in Mexico
=========================================
Mexico has one of the most advanced e-invoicing systems globally, with electronic invoicing
:abbr:`CFDI (Comprobante Fiscal Digital por Internet)` being mandatory for most taxpayers. Key
elements include:
- **CFDI**: A mandatory electronic invoice format for B2B, B2C, and :abbr:`B2G
(business-to-government)` transactions, fully compliant with SAT requirements.
- **Digital tax receipt validation**: All :abbr:`CFDIs (Comprobante Fiscal Digital por Internet)`
must be digitally signed and validated by :abbr:`SAT (Servicio de Administración
Tributaria)`-authorized :abbr:`PACs (authorized certification providers)` before issuance.
- **Complementos**: Specific complements are required for certain transaction types, such as
payroll or foreign trade.
- **XML Format**: The XML format is mandatory, ensuring interoperability and compliance with
:abbr:`SAT (Servicio de Administración Tributaria)`'s technical standards.
Compliance with Mexican e-invoicing regulations
===============================================
Odoo Invoicing simplifies compliance with Mexicos e-invoicing requirements by offering tailored
features:
- **Supported formats**: Odoo supports :abbr:`CFDI (Comprobante Fiscal Digital por Internet)` in
:abbr:`SAT (Servicio de Administración Tributaria)`-compliant XML formats, including all
mandatory fields, digital signatures, and complements for specialized transactions.
- **Integration with PACs**: Odoo integrates with :abbr:`SAT (Servicio de Administración
Tributaria)`-authorized :abbr:`PACs (authorized certification providers)` to automate the
validation, certification, and issuance of :abbr:`CFDIs (Comprobante Fiscal Digital por
Internet)`, ensuring real-time compliance.
- **Secure storage and retrieval**: In compliance with Mexico's five-year mandatory storage
requirement, Odoo provides tamper-proof archiving for easy access to invoices during audits
or inspections.
- **Automatic tax calculation and reporting**: Odoo automates tax calculations for VAT (IVA) and
other applicable taxes, ensuring accuracy and compliance with :abbr:`SAT (Servicio de
Administración Tributaria)`'s tax reporting standards.
.. seealso::
:doc:`Mexican fiscal localization documentation <../../../fiscal_localizations/mexico>`
.. admonition:: Disclaimer
This page provides a general overview of Mexican e-invoicing regulations and how Odoo supports
compliance with :abbr:`SAT (Servicio de Administración Tributaria)` requirements. It is not
intended as legal or tax advice. We recommend consulting with a tax advisor or legal professional
familiar with Mexico's e-invoicing regulations to ensure compliance tailored to your specific
business needs.
Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.9 KiB

@@ -0,0 +1,55 @@
:orphan:
=================================
Odoo electronic invoicing in Peru
=================================
Odoo Invoicing provides secure, efficient, and legally compliant e-invoicing solutions tailored to
meet Perus regulatory requirements and fully compatible with the guidelines established by the
`Superintendencia Nacional de Aduanas y de Administración Tributaria (SUNAT)
<https://www.sunat.gob.pe/>`_.
Legal framework for e-invoicing in Peru
=======================================
Peru has mandated electronic invoicing for most taxpayers to enhance tax compliance, reduce fraud,
and improve transparency. Key elements include:
- **Comprobante de Pago Electrónico (CPE)**: A mandatory electronic document required for B2B, B2C,
and :abbr:`B2G (business-to-government)` transactions, fully compliant with :abbr:`SUNAT
(Superintendencia Nacional de Aduanas y de Administración Tributaria)`'s technical specifications.
- **Integration with SUNAT**: E-invoices must be submitted to :abbr:`SUNAT (Superintendencia
Nacional de Aduanas y de Administración Tributaria)` for validation and authorization. Upon
approval, :abbr:`SUNAT (Superintendencia Nacional de Aduanas y de Administración Tributaria)`
assigns a unique identification code to the invoice.
- **XML Format**: All electronic invoices must be issued in XML format, ensuring standardization and
interoperability.
- **Mandatory adoption timeline**: Electronic invoicing is mandatory for most businesses, with
specific deadlines for smaller entities.
Compliance with Peruvian e-invoicing regulations
================================================
Odoo Invoicing simplifies compliance with Perus e-invoicing requirements by offering tailored
features:
- **Supported formats**: Odoo supports the Peruvian :abbr:`CPE (Comprobante de Pago Electrónico` in
:abbr:`SUNAT (Superintendencia Nacional de Aduanas y de Administración Tributaria)`-compliant XML
formats, including all required fields and authorization codes.
- **Secure storage and retrieval**: In compliance with Peru's five-year mandatory storage
requirement, Odoo offers tamper-proof archiving, ensuring easy access for audits or inspections.
- **Automatic tax calculation and reporting**: Odoo automates tax calculations for :abbr:`IGV
(Impuesto General a las Ventas) and other applicable taxes, ensuring accuracy and compliance
with :abbr:`SUNAT (Superintendencia Nacional de Aduanas y de Administración Tributaria)`'s
reporting standards.
.. seealso::
:doc:`Peruvian fiscal localization documentation <../../../fiscal_localizations/peru>`
.. admonition:: Disclaimer
This page provides a general overview of Peruvian e-invoicing regulations and how Odoo supports
compliance with :abbr:`SUNAT (Superintendencia Nacional de Aduanas y de Administración
Tributaria)` requirements. It is not intended as legal or tax advice. We recommend consulting
with a tax advisor or legal professional familiar with Peru's e-invoicing regulations to ensure
compliance tailored to your specific business needs.
@@ -0,0 +1,57 @@
:orphan:
====================================
Odoo electronic invoicing in Uruguay
====================================
Odoo Invoicing is your trusted partner for safe, efficient, and legally compliant e-invoicing
solutions tailored to meet Uruguay's regulatory requirements and fully compatible with the
guidelines established by the `Dirección General Impositiva (DGI)
<https://www.gub.uy/direccion-general-impositiva/>`_.
Legal framework for e-invoicing in Uruguay
==========================================
Uruguay has mandated electronic invoicing under the :abbr:`CFE (Comprobante Fiscal Electrónico)`
system, which applies to most businesses to promote tax transparency and streamline financial
transactions. Key elements include:
- **Comprobante Fiscal Electrónico**: A mandatory e-invoice format required for B2B, B2C, and
:abbr:`B2G (business-to-government)` transactions, fully compliant with :abbr:`DGI (Dirección
General Impositiva)`'s technical standards.
- **Integration with DGI**: All :abbr:`CFE (Comprobante Fiscal Electrónico)` must be submitted to
the :abbr:`DGI (Dirección General Impositiva)` for validation. Upon approval, the :abbr:`CFE
(Comprobante Fiscal Electrónico)` receives a unique identification code and authorization for
issuance.
- **XML Format**: Uruguay mandates the use of XML as the standard format for e-invoices, ensuring
compatibility and interoperability with various systems.
- **Adoption Timeline**: E-invoicing is mandatory for most businesses, with specific deadlines for
smaller enterprises to transition into the system.
Compliance with Uruguayan e-invoicing regulations
=================================================
Odoo Invoicing simplifies the complexities of compliance with Uruguay's e-invoicing requirements by
offering tailored features:
- **Supported formats**: Odoo supports the :abbr:`CFE (Comprobante Fiscal Electrónico)` format in
:abbr:`DGI (Dirección General Impositiva)`-compliant XML, including all legally required fields,
such as the unique identification code, authorization number, and digital signature. Odoo allows
the automated submission, validation, and issuance through the :abbr:`DGI (Dirección General
Impositiva)`'s e-invoicing platform to ensure compliance in real time.
- **Secure storage and retrieval**: In line with Uruguays mandatory five-year storage requirement,
Odoo provides tamper-proof archiving solutions, ensuring easy access to invoices for audits or
inspections.
- **Automatic tax calculation and reporting**: Odoo automates tax calculations for IVA (Value-Added
Tax) and other applicable taxes, ensuring accuracy and compliance with :abbr:`DGI (Dirección
General Impositiva)`'s reporting standards.
.. seealso::
:doc:`Uruguayan fiscal localization documentation <../../../fiscal_localizations/uruguay>`
.. admonition:: Disclaimer
This page provides a general overview of Uruguayan e-invoicing regulations and how Odoo supports
compliance with DGI requirements. It is not intended as legal or tax advice. We recommend
consulting with a tax advisor or legal professional familiar with Uruguay's e-invoicing
regulations to ensure full compliance tailored to your specific business requirements.
@@ -0,0 +1,66 @@
================
Invoice sequence
================
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:
Changing the default sequence
=============================
To customize the default sequence, open the last confirmed invoice, click :guilabel:`Reset to
Draft`, and edit the invoice's reference number.
.. image:: sequence/reference-number.png
:alt: Editing the reference number of an invoice.
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.
.. image:: sequence/sequence-dialog.png
:alt: Editing the reference number of an invoice.
.. 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,
continuity for the current year must be maintained without restarting from the beginning.
.. note::
This feature is only available to users with administrator or advisor access.
Follow these steps to resequence invoice numbers:
#. Activate the :ref:`developer mode <developer-mode>`.
#. From the :guilabel:`Accounting Dashboard`, open the :guilabel:`Customer Invoices` journal.
#. Select the invoices that need a new sequence.
#. Click the :icon:`fa-cog` :guilabel:`Actions` menu and select :guilabel:`Resequence`.
#. In the :guilabel:`Ordering` field, choose to
- :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`.
The first invoice using the new sequence appears in red in the :guilabel:`Customer Invoices` list.
.. image:: sequence/invoice-sequencing.png
:alt: Resequence options window
Binary file not shown.

After

Width:  |  Height:  |  Size: 6.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

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:
Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.3 KiB

After

Width:  |  Height:  |  Size: 4.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.0 KiB

After

Width:  |  Height:  |  Size: 8.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 32 KiB

@@ -173,7 +173,8 @@ expression's **label** (ex. **code.label**).
`CUR` is the currency code in capital letters, and `amount` is the amount of the bound expressed in
that currency.
You can also use the `cross_report` subformula to match an expression found in another report.
`cross_report(xml_id | report_id)`
Used to match an expression from another report targeted by the xml_id or the report ID itself.
'Prefix of Account Codes' engine
--------------------------------
@@ -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.
Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.9 KiB

Binary file not shown.

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.
Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 48 KiB

@@ -11,7 +11,10 @@ Below you can find videos with a general description of the localization, and ho
- `eCommerce - Localización de Argentina <https://www.youtube.com/watch?v=5gUi2WWfRuI>`_.
.. seealso::
`Smart Tutorial - Localización de Argentina <https://www.odoo.com/slides/smart-tutorial-localizacion-de-argentina-130>`_
- `Smart Tutorial - Localización de Argentina
<https://www.odoo.com/slides/smart-tutorial-localizacion-de-argentina-130>`_
- :doc:`Documentation on e-invoicing's legality and compliance in Argentina
<../accounting/customer_invoices/electronic_invoicing/argentina>`
Configuration
=============
@@ -45,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:
@@ -678,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
----------------
Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

@@ -140,12 +140,9 @@ Let's take an example reflecting **restaurant** and **car expenses**.
Restaurant expenses
~~~~~~~~~~~~~~~~~~~
In Belgium, 31% of **restaurant** expenses are non-deductible. Create a new **disallowed expenses
In Belgium, 69% of **restaurant** expenses are deductible. Create a new **disallowed expenses
category** and set both :guilabel:`Related Account(s)` and :guilabel:`Current Rate`.
.. image:: belgium/restaurant-expenses.png
:alt: Disallowed expenses categories
.. _belgium/vehicle-split:
Car expenses: vehicle split
@@ -153,7 +150,7 @@ Car expenses: vehicle split
In Belgium, the deductible percentage varies from car to car and, therefore, should be indicated for
each vehicle. To do so, open :menuselection:`Fleet` and select a vehicle. In the :guilabel:`Tax
info` tab, go to the :guilabel:`Disallowed Expenses Rate` section and click on :guilabel:`Add a
info` tab, go to the :guilabel:`Deductibility Rates` section and click on :guilabel:`Add a
line`. Add a :guilabel:`Start Date` and a :guilabel:`%`. The amounts go in the same account for all
car expenses.
Binary file not shown.

Before

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

@@ -34,6 +34,8 @@ needed.
<https://youtube.com/playlist?list=PL1-aSABtP6ADqexw4YNCbKPmpFggajxlX&si=RgmZR3Jco3223Np4>`_.
- `YouTube playlist - Tutoriais Odoo em Português
<https://youtube.com/playlist?list=PL1-aSABtP6ACGOW2UREePGjHQ2Bgdy-UZ&si=j6tiI36eB7BoKVQB>`_.
- :doc:`Documentation on e-invoicing's legality and compliance in Brazil
<../accounting/customer_invoices/electronic_invoicing/brazil>`
Configuration
=============
Binary file not shown.

Before

Width:  |  Height:  |  Size: 24 KiB

@@ -15,6 +15,8 @@ Chile
- `Chilean localization app tour <https://www.youtube.com/watch?v=3qYkgbmBYHw>`_
- `Chilean localization smart tutorial
<https://www.odoo.com/slides/smart-tutorial-localizacion-de-chile-131>`_
- :doc:`Documentation on e-invoicing's legality and compliance in Chile
<../accounting/customer_invoices/electronic_invoicing/chile>`
.. _chile/configuration:
@@ -24,9 +24,11 @@ solution with Odoo:
.. seealso::
- For more information on how to complete the certification process for the |DIAN| module, review
the following `webinar <https://www.youtube.com/watch?v=l0G6iDc7NQA>`_.
the following `webinar <https://www.youtube.com/watch?v=l0G6iDc7NQA>`_
- `Smart Tutorial - Colombian Localization
<https://www.odoo.com/slides/smart-tutorial-localizacion-de-colombia-132>`_.
<https://www.odoo.com/slides/smart-tutorial-localizacion-de-colombia-132>`_
- :doc:`Documentation on e-invoicing's legality and compliance in Colombia
<../accounting/customer_invoices/electronic_invoicing/colombia>`
.. _localization/colombia/configuration:
@@ -17,6 +17,8 @@ each purchase invoice.
.. seealso::
- `App Tour - Localización de Ecuador <https://www.youtube.com/watch?v=BQOXVSDeeK8>`_
- `Smart Tutorial - Localización de Ecuador <https://www.odoo.com/slides/smart-tutorial-localizacion-de-ecuador-170>`_
- :doc:`Documentation on e-invoicing's legality and compliance in Ecuador
<../accounting/customer_invoices/electronic_invoicing/ecuador>`
Glossary
--------
@@ -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
Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

@@ -36,6 +36,10 @@ enables foreign trade, and the creation of delivery guides).
In order to electronically sign any documents in Odoo, ensure the *Sign* application is
installed.
.. seealso::
:doc:`Documentation on e-invoicing's legality and compliance in Mexico
<../accounting/customer_invoices/electronic_invoicing/mexico>`
Configuration
=============
@@ -81,6 +81,8 @@ Peruvian localization.
- `App Tour - Localización de Peru <https://youtu.be/Ic3mGovkf8Y>`_
- `Smart Tutorial - Localización de Peru (videos for workflows and configurations)
<https://www.odoo.com/slides/smart-tutorial-localizacion-de-peru-133>`_
- :doc:`Documentation on e-invoicing's legality and compliance in Peru
<../accounting/customer_invoices/electronic_invoicing/peru>`
Configuration
=============
Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 73 KiB

@@ -25,6 +25,10 @@ The supported documents are:
The localization requires an Uruware account, which enables users to generate electronic documents
within Odoo.
.. seealso::
:doc:`Documentation on e-invoicing's legality and compliance in Uruguay
<../accounting/customer_invoices/electronic_invoicing/uruguay>`
Glossary
--------
@@ -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.
Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 51 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 65 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 51 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

Some files were not shown because too many files have changed in this diff Show More