Compare commits

...

44 Commits

Author SHA1 Message Date
Gorash
f6622b1da0 [IMP] reference: rewrite and move views documentation to user_interface/
The documentation of the views is redone in order to be up to date and
has allowed a better visualization of the task on the modifiers.

task-2495504
2023-08-17 10:35:06 +02:00
ksc-odoo
ccc9bc4bc5 [IMP] Sales - Update optional_products.rst
closes odoo/documentation#5423

X-original-commit: 4d95afe86c
Signed-off-by: Kevin Scannell (ksc) <ksc@odoo.com>
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-08-16 23:47:39 +02:00
Jonathan
d2f8292f44 [IMP] email com: update daily limit
The current default daily limit for one-app free
is 20 mails only. This commit updates the value.

closes odoo/documentation#5515

X-original-commit: c0ca09cdde
Signed-off-by: Jonathan Castillo (jcs) <jcs@odoo.com>
2023-08-16 19:05:07 +02:00
Sam Lieber (sali)
f4e72f3254 [ADD] accounting: l10n_br avalara implementation
closes odoo/documentation#5465

X-original-commit: 4081ec3f17
Signed-off-by: Xavier Platteau (xpl) <xpl@odoo.com>
Signed-off-by: Samuel Lieber (sali) <sali@odoo.com>
2023-08-16 10:24:26 +02:00
masi-odoo
93fa7d70e1 [IMP] accounting/loca: AR add check management section
closes odoo/documentation#5494

X-original-commit: 98d0d59188
Signed-off-by: Samuel Lieber (sali) <sali@odoo.com>
2023-08-14 19:29:02 +02:00
Sam Lieber (sali)
327b7ce0cb [REF] l10n: PoC doc restructure for CO
closes odoo/documentation#5480

X-original-commit: e52d8f172f
Signed-off-by: Jonathan Castillo (jcs) <jcs@odoo.com>
2023-08-12 08:39:59 +02:00
imanie383
f4e7830a92 [FW][FIX] reference/owl_components: fix typo
Making edits for Owl Components Doc : [Link](https://www.odoo.com/documentation/16.0/developer/reference/frontend/owl_components.html#example-multi-level-dropdown-nested)

![image](https://github.com/odoo/documentation/assets/35231827/b2dd4b87-941c-4241-b0f5-e91ca69b3633)

closes odoo/documentation#5475

Forward-port-of: odoo/documentation#5459
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2023-08-11 22:50:14 +02:00
Samuel Degueldre
eb63fd7629 [IMP] remove references to owl template tagging
In odoo/odoo#130467 the necessity to tag owl templates with an owl="1"
attribute has been removed, update the docs to reflect that.

closes odoo/documentation#5460

Signed-off-by: Victor Feyens (vfe) <vfe@odoo.com>
2023-08-11 19:34:53 +02:00
Lara Martini (larm)
532f9d1af5 [IMP] Inventory: updating second person and images, add clarity
feku-review-add-headings-and-extra-reference

closes odoo/documentation#5455

X-original-commit: 6cb2ed8abc
Signed-off-by: Felicia Kuan (feku) <feku@odoo.com>
Co-authored-by: ksc-odoo <73958186+ksc-odoo@users.noreply.github.com>
Co-authored-by: Sam Lieber (sali) <36018073+samueljlieber@users.noreply.github.com>
Co-authored-by: Zachary Straub <zst@odoo.com>
2023-08-10 10:39:34 +02:00
tiku-odoo
7fbc4a2928 [IMP] Misc Oauth Azure Clarification
closes odoo/documentation#5447

X-original-commit: b41d69ae82
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-08-10 10:39:26 +02:00
Victor Feyens
b9c7cd2ee8 [ADD] tests: image compression and resource file name checkers
task-2801043

closes odoo/documentation#4870

closes odoo/documentation#5436

X-original-commit: fa90e27c4e
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Co-authored-by: Antoine Vandevenne (anv) <anv@odoo.com>
2023-08-10 10:39:09 +02:00
Lara Martini (larm)
744b1cdfd2 [MOV] Payroll: moved configuration doc to main payroll so there is less clicking for users
closes odoo/documentation#5433

X-original-commit: 4fd1f56b33
Signed-off-by: Lara Martini (larm) <larm@odoo.com>
2023-08-10 07:19:03 +02:00
Brandon Seltenrich (BRSE)
c24f32c770 [IMP] inventory: update inventory adjustments
closes odoo/documentation#5422

X-original-commit: 3da457a501
Signed-off-by: Brandon Seltenrich (brse) <brse@odoo.com>
2023-08-10 02:39:52 +02:00
John Holton (hojo)
9b9587b882 [ADD] MRP: Add Scrap during manufacturing
closes odoo/documentation#5382

X-original-commit: 72ba26414b
Signed-off-by: John Holton (hojo) <hojo@odoo.com>
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-08-10 02:39:48 +02:00
Sam Lieber (sali)
58b538c2b1 [IMP] marketing: RST upgrades for metrics doc
closes odoo/documentation#5406

X-original-commit: 6f02a0af04
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
Signed-off-by: Kevin Scannell (ksc) <ksc@odoo.com>
2023-08-09 04:23:16 +02:00
ksc-odoo
6731fb0320 [IMP] Sales - updated Deadline.rst (v14)
closes odoo/documentation#5405

X-original-commit: 5f2725160d
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
Signed-off-by: Kevin Scannell (ksc) <ksc@odoo.com>
2023-08-09 04:23:12 +02:00
Sam Lieber (sali)
35b7b811bd [ADD] email marketing: essentials, mailing lists, unsubscriptions
closes odoo/documentation#5390

X-original-commit: 56a291831a
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-08-09 04:23:08 +02:00
Xavier (XPL)
89868401ac [IMP] sales: correct amazon invoicing and payment registration info
task-2203035

closes odoo/documentation#5381

X-original-commit: bd50b39abf
Signed-off-by: Xavier Platteau (xpl) <xpl@odoo.com>
2023-08-09 04:23:01 +02:00
Sam Lieber (sali)
e70cec1c05 [IMP] test/rst_style, Makefile: add optional review checkers
task-2801043

closes odoo/documentation#5358

X-original-commit: 8eec0e7634
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2023-08-09 03:08:11 +02:00
KC (ksc)
7aa3301314 [IMP] sales: invoicing policy doc for RST reasons
closes odoo/documentation#5346

X-original-commit: acc2c7994a
Signed-off-by: Kevin Scannell (ksc) <ksc@odoo.com>
2023-08-07 22:26:08 +02:00
Xavier (XPL)
d0b913de03 [IMP] maintain: change info about domain names approval time
Original commit: 4fd1b73013
Original PR: https://github.com/odoo/documentation/pull/5272

closes odoo/documentation#5340

X-original-commit: 45a2d970b7
Signed-off-by: Xavier Platteau (xpl) <xpl@odoo.com>
2023-08-07 20:59:09 +02:00
“ralo-odoo”
c9ab125c7a [ADD] localization: philippines-l10n_ph
Adding Philippines localization documentation from PR #5179

closes odoo/documentation#5332

X-original-commit: 465e7e70c4
Signed-off-by: Dallas Dean (dade) <dade@odoo.com>
2023-08-07 19:58:26 +02:00
Antoine Vandevenne (anv)
fa4cfcd042 [IMP] supported_versions: release saas-16.4
This commit also moves all versions from 8.0 to 12.0 from the table to
the "older versions" section.

closes odoo/documentation#5327

X-original-commit: 6225ef9e32
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2023-08-07 19:58:22 +02:00
Jonathan
1a6b8a4132 [FIX] iot: broken link in troubleshooting.rst
closes odoo/documentation#5319

X-original-commit: 020200abbe
Signed-off-by: Jonathan Castillo (jcs) <jcs@odoo.com>
2023-08-07 19:58:11 +02:00
Tom Aarab (toaa)
0f3024cc69 [IMP] website: "pages" page
Adding a documentation on "pages" within the already existing "page"
toctree

task-3383323

closes odoo/documentation#5309

X-original-commit: e40b568cc5
Signed-off-by: Xavier Platteau (xpl) <xpl@odoo.com>
Co-authored-by: Toaa <toaa@odoo.com>
Co-authored-by: Auva <auva@odoo.com>
2023-08-07 18:37:36 +02:00
KC (ksc)
133b350a30 [IMP] sales: updated get siganture for validation doc for RST formatting
closes odoo/documentation#5303

X-original-commit: 6c38992016
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-08-06 20:27:12 +02:00
Lara Martini (larm)
88f7a66f4d [ADD] Payroll: adding new configuration doc
closes odoo/documentation#5295

X-original-commit: 8a88ec1dd0
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-08-05 05:50:56 +02:00
Lara Martini (larm)
60a7381f84 [IMP] Inventory: updated text for 16 and fixed rst errors
closes odoo/documentation#5287

X-original-commit: 5a2e7b0512
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-08-05 05:50:53 +02:00
Sam Lieber (sali)
af572a01c3 [IMP] marketing: RST format upgrades for marketing automation v14
closes odoo/documentation#5282

X-original-commit: b5bde9186e
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-08-05 04:19:00 +02:00
Martin Trigaux
7f62e44002 [IMP] developer: document new parameter
closes odoo/documentation#5273

X-original-commit: bf5c888446
Related: odoo/odoo#130883
Signed-off-by: Martin Trigaux (mat) <mat@odoo.com>
2023-08-04 16:35:01 +02:00
Tom Aarab (toaa)
1021f85a3f [IMP] accounting/credit and debit notes
Forward to master.

Change 16.3 onwards (screenshots)

Improved the doc and added some info on debit notes (was missing).

taskid-3439169

closes odoo/documentation#5270

X-original-commit: 898b08a70e
Signed-off-by: Tom Aarab (toaa) <toaa@odoo.com>
2023-08-04 13:42:15 +02:00
“Dallas”
18db702655 [IMP] accounting: move cash discount tax reduction to payment term
task-3211595

closes odoo/documentation#5260

X-original-commit: ceda988a29
Signed-off-by: Xavier Platteau (xpl) <xpl@odoo.com>
Signed-off-by: Dallas Dean (dade) <dade@odoo.com>
2023-08-04 09:43:27 +02:00
Michael (mcm)
775e80ed92 [IMP] web: update documentation of patch function
This commit updates the documentation of the patch function
with the changes done in https://github.com/odoo/odoo/pull/125716.

closes odoo/documentation#5017

Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2023-08-03 16:07:00 +02:00
Jonathan Castillo (jcs)
dad4a47c9a [IMP] localization: BE disallowed expenses automatically installed
linked to https://github.com/odoo/enterprise/pull/43676

task-3398625

closes odoo/documentation#5023

Related: odoo/enterprise#43676
Signed-off-by: Jonathan Castillo (jcs) <jcs@odoo.com>
2023-08-03 10:42:52 +02:00
tiku-odoo
7e29da60b9 [IMP] Misc: Oauth Azure
closes odoo/documentation#5041

closes odoo/documentation#5255

X-original-commit: 66b2a3d50e
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
Co-authored-by: Zachary Straub <zst@odoo.com>
2023-08-03 00:33:44 +02:00
John Holton (hojo)
8edb63948c [IMP] Inventory: Update Multi-package shipments doc
closes odoo/documentation#5246

X-original-commit: 7df2d749a8
Signed-off-by: John Holton (hojo) <hojo@odoo.com>
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-08-02 11:16:53 +02:00
“Chiara
76c781226d [ADD] l10n: saudi arabia e-invoicing
task-3422500

closes odoo/documentation#5233

X-original-commit: 24ff6624bb
Signed-off-by: Xavier Platteau (xpl) <xpl@odoo.com>
2023-07-28 23:16:34 +02:00
Martin Trigaux
fd4065b3c6 [I18N] *: export translations
closes odoo/documentation#5223

X-original-commit: 013da823cc
Signed-off-by: Martin Trigaux (mat) <mat@odoo.com>
2023-07-28 10:33:22 +02:00
Xavier (XPL)
b755d0330e [IMP] payments: update ACH section content to match 16.0
closes odoo/documentation#5216

X-original-commit: 992fc9f4d6
Signed-off-by: Xavier Platteau (xpl) <xpl@odoo.com>
2023-07-27 03:50:48 +02:00
Xavier (XPL)
b5dbf4779a [IMP] accounting: year-end closing
task-2823858

closes odoo/documentation#5211

X-original-commit: 8c03442791
Signed-off-by: Xavier Platteau (xpl) <xpl@odoo.com>
2023-07-26 16:11:49 +02:00
Victor Feyens
db05d69be6 [IMP] accounting: new behavior of the sepa provider
Sepa mandates are not automatically confirmed anymore,
customers have to make one successful bank transfer
matching the expected payment details to confirm
their mandate.

See fd2fb212c5
See 9b729b157b

closes odoo/documentation#5201

X-original-commit: bc1cf93455
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2023-07-26 13:22:07 +02:00
Donatienne Pirlot
c795231f1c [ADD] elearning: creating a new elearning doc page
To add updated information related to the elearning app

closes odoo/documentation#5155

Id: 3251391
X-original-commit: 2e9c99c941
Signed-off-by: Donatienne Pirlot (dopi) <dopi@odoo.com>
Signed-off-by: Xavier Platteau (xpl) <xpl@odoo.com>
2023-07-26 08:08:02 +02:00
Xavier (XPL)
5114140efe [IMP] payments: add section about ACH payments
task-3303591

closes odoo/documentation#5198

X-original-commit: 0155844ef5
Signed-off-by: Xavier Platteau (xpl) <xpl@odoo.com>
2023-07-25 21:22:56 +02:00
Levi Siuzdak (sile)
dd7ab18b9e [IMP] developer: add notes on entity references & fix illegal XML
Using `<` inside XML elements will result in a parsing error,
an entity reference should be used instead: `&lt;`.

closes odoo/documentation#5184

X-original-commit: a7743d513b
Signed-off-by: Levi Siuzdak (sile) <sile@odoo.com>
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2023-07-24 23:04:05 +02:00
354 changed files with 10091 additions and 5092 deletions

View File

@@ -84,5 +84,14 @@ static: $(HTML_BUILD_DIR)/_static/style.css
cp -r extensions/odoo_theme/static/* $(HTML_BUILD_DIR)/_static/
cp -r static/* $(HTML_BUILD_DIR)/_static/
# Called by runbot for the ci/documentation_guideline check.
test:
@python tests/main.py $(SOURCE_DIR)/administration $(SOURCE_DIR)/applications $(SOURCE_DIR)/contributing $(SOURCE_DIR)/developer $(SOURCE_DIR)/services redirects
# Similar as `test`, but called only manually by content reviewers to trigger extra checks.
review:
@read -p "Enter content path: " path; read -p "Enter max line length (default: 100): " line_length; \
if [ -z "$$path" ]; then echo "Error: Path cannot be empty"; exit 1; fi; \
if [ -z "$$line_length" ]; then line_length=100; fi; \
export REVIEW=1; \
python tests/main.py --max-line-length=$$line_length $(SOURCE_DIR)/$$path

View File

@@ -213,6 +213,7 @@ sphinx.transforms.i18n.docname_to_domain = (
# is populated. If a version is passed to `versions` but is not listed here, it will not be shown.
versions_names = {
'master': "Master",
'saas-16.4': "Odoo Online",
'saas-16.3': "Odoo Online",
'saas-16.2': "Odoo Online",
'saas-16.1': "Odoo Online",

View File

@@ -115,7 +115,7 @@ name with your website <domain-name/website-map>`.
.. note::
- Free domain names are also available for free Odoo Online databases (if you installed one app
only, for example). In this case, Odoo reviews your request and your website to avoid abuse.
This process may take up to three days.
This process can take several days due to the success of the offer.
- This is not available for Odoo.sh databases yet.
.. _domain-name/odoo-manage:

View File

@@ -33,24 +33,30 @@ This matrix shows the support status of every version.
- On-Premise
- Release date
- End of support
* - Odoo saas~16.3
* - Odoo saas~16.4
- |green|
- N/A
- N/A
- August 2023
-
* - Odoo saas~16.3
- |red|
- N/A
- N/A
- June 2023
- September 2023 (planned)
-
* - Odoo saas~16.2
- |green|
- |red|
- N/A
- N/A
- March 2023
- July 2023 (planned)
-
* - Odoo saas~16.1
- |red|
- N/A
- N/A
- February 2023
- April 2023
-
* - **Odoo 16.0**
- |green|
- |green|
@@ -80,79 +86,13 @@ This matrix shows the support status of every version.
- |green|
- |green|
- October 2020
- October 2023 (planned)
- November 2023 (planned)
* - **Odoo 13.0**
- |red|
- |red|
- |red|
- October 2019
- October 2022
* - Odoo saas~12.3
- |red|
- N/A
- N/A
- August 2019
-
* - **Odoo 12.0**
- |red|
- |red|
- |red|
- October 2018
- October 2021
* - Odoo saas~11.3
- |red|
- N/A
- N/A
- April 2018
-
* - **Odoo 11.0**
- |red|
- |red|
- |red|
- October 2017
- October 2020
* - Odoo 10.saas~15
- |red|
- N/A
- N/A
- March 2017
-
* - Odoo 10.saas~14
- |red|
- N/A
- N/A
- January 2017
-
* - **Odoo 10.0**
- |red|
- |red|
- |red|
- October 2016
- October 2019
* - Odoo 9.saas~11
- |red|
- N/A
- N/A
- May 2016
-
* - **Odoo 9.0**
- |red|
- N/A
- |red|
- October 2015
- October 2018
* - Odoo 8.saas~6
- |red|
- N/A
- N/A
- February 2015
-
* - **Odoo 8.0**
- |red|
- N/A
- |red|
- September 2014
- October 2017
.. note::
@@ -175,8 +115,10 @@ This matrix shows the support status of every version.
I run an older version of Odoo/OpenERP/TinyERP
==============================================
OpenERP 7.0, 6.1, 6.0 and 5.0 is not supported anymore, on any platform.
Odoo 12.0, 11.0, 10.0, 9.0, and 8.0 are not supported anymore, on any platform.
TinyERP 4.0, 3.0, 2.0 and 1.0 is not supported anymore, on any platform.
OpenERP 7.0, 6.1, 6.0 and 5.0 are not supported anymore, on any platform.
TinyERP 4.0, 3.0, 2.0 and 1.0 are not supported anymore, on any platform.
Even though we don't support older versions, you can always `upgrade from any version <https://upgrade.odoo.com/>`_.

View File

@@ -85,6 +85,8 @@ You can edit the accounting information and bank account number according to you
- :doc:`get_started/multi_currency`
- :doc:`bank/transactions`
.. _bank_accounts/suspense:
Suspense account
----------------

View File

@@ -5,7 +5,7 @@ Cash discounts and tax reduction
**Cash discounts** are reductions in the amount a customer must pay for goods or services offered as
an incentive for paying their invoice promptly. These discounts are typically a percentage of the
total invoice amount and are applied if the customer pays within a specified time. Cash discounts
can help the company maintain a steady cash flow.
can help a company maintain a steady cash flow.
.. example::
You issue a €100 invoice on the 1st of January. The full payment is due within 30 days, and you
@@ -17,15 +17,46 @@ can help the company maintain a steady cash flow.
A :ref:`tax reduction <cash-discounts/tax-reductions>` can also be applied depending on the country
or region.
.. seealso::
- :doc:`payment_terms`
- :doc:`../payments`
.. _cash-discounts/configuration:
Configuration
=============
To grant cash discounts to customers, you must first set up the :ref:`type of tax reduction
<cash-discounts/tax-reductions>`, verify the :ref:`gain and loss accounts
<cash-discounts/gain-loss-accounts>`, and configure new :ref:`payment terms
<cash-discounts/payment-terms>`.
To grant cash discounts to customers, you must first verify the :ref:`gain and loss accounts
<cash-discounts/gain-loss-accounts>`. Then, configure :ref:`payment terms
<cash-discounts/payment-terms>` and add a cash discount by checking the :guilabel:`Early Discount`
checkbox and filling in the discount percentage, discount days, and :ref:`tax
reduction <cash-discounts/tax-reductions>` fields.
.. _cash-discounts/gain-loss-accounts:
Cash discount gain/loss accounts
--------------------------------
With a cash discount, the amount you earn depends on whether the customer benefits from the cash
discount or not. This inevitably leads to gains and losses, which are recorded on default accounts.
To modify these accounts, go to :menuselection:`Accounting --> Configuration --> Settings`, and, in
the :guilabel:`Default Accounts` section, select the accounts you want to use for the
:guilabel:`Cash Discount Gain account` and :guilabel:`Cash Discount Loss account`.
.. _cash-discounts/payment-terms:
Payment terms
-------------
Cash discounts are defined on :doc:`payment terms <payment_terms>`. Configure them to your liking by
going to :menuselection:`Accounting --> Configuration --> Payment Terms`, and make sure to fill out
the discount percentage, discount days, and :ref:`tax reduction <cash-discounts/tax-reductions>`
fields.
.. image:: cash_discounts/payment-terms.png
:alt: Configuration of payment terms named "2/7 Net 30". The field "Description on Invoices"
reads: "Payment terms: 30 Days, 2% Early Payment Discount under 7 days".
.. _cash-discounts/tax-reductions:
@@ -33,24 +64,24 @@ Tax reductions
--------------
Depending on the country or region, the base amount used to compute the tax can vary, which can lead
to a **tax reduction**.
to a **tax reduction**. Since tax reductions are set on individual payment terms, each term can use
a specific tax reduction.
To configure how the tax reduction is applied, go to :menuselection:`Accounting --> Configuration
--> Settings`, and in the :guilabel:`Taxes` section, in the :guilabel:`Cash Discount Tax Reduction`
feature, select one of the three following options:
To configure how the tax reduction is applied, go to a payment term with the :guilabel:`Early
Discount` checkbox enabled, and select one of the three following options:
Always (upon invoice)
The tax is always reduced. The base amount used to compute the tax is the discounted amount,
whether the customer benefits from the discount or not.
- Always (upon invoice)
The tax is always reduced. The base amount used to compute the tax is the discounted amount,
whether the customer benefits from the discount or not.
On early payment
The tax is reduced only if the customer pays early. The base amount used to compute the tax is the
same as the sale: if the customer benefits from the reduction, then the tax is reduced. This means
that, depending on the customer, the tax amount can vary after the invoice is issued.
- On early payment
The tax is reduced only if the customer pays early. The base amount used to compute the tax is the
same as the sale: if the customer benefits from the reduction, then the tax is reduced. This means
that, depending on the customer, the tax amount can vary after the invoice is issued.
Never
The tax is never reduced. The base amount used to compute the tax is the full amount, whether the
customer benefits from the discount or not.
- Never
The tax is never reduced. The base amount used to compute the tax is the full amount, whether the
customer benefits from the discount or not.
.. example::
@@ -70,10 +101,10 @@ Never
- Computation
* - 8th of January
- €118.58
- (€98 + (21% of €98))
- €98 + (21% of €98)
* - 31st of January
- €120.58
- (€100 + (21% of €98))
- €100 + (21% of €98)
.. tab:: On early payment
@@ -85,10 +116,10 @@ Never
- Computation
* - 8th of January
- €118.58
- (€98 + (21% of €98))
- €98 + (21% of €98)
* - 31st of January
- €121.00
- (€100 + (21% of €100))
- €100 + (21% of €100)
.. tab:: Never
@@ -100,10 +131,10 @@ Never
- Computation
* - 8th of January
- €119.00
- (€98 + (21% of €100))
- €98 + (21% of €100)
* - 31st of January
- €121.00
- (€100 + (21% of €100))
- €100 + (21% of €100)
.. note::
- :ref:`Tax grids <tax-returns/tax-grids>`, which are used for the tax report, are correctly
@@ -112,41 +143,12 @@ Never
- The **type of cash discount tax reduction** may be correctly pre-configured, depending on your
:ref:`fiscal localization package <fiscal_localizations/packages>`.
.. _cash-discounts/gain-loss-accounts:
Cash discount gain/loss accounts
--------------------------------
With a cash discount, the amount you earn depends on whether the customer benefits from the cash
discount or not. This inevitably leads to gains and losses, which are recorded on default accounts.
To modify these accounts, go to :menuselection:`Accounting --> Configuration --> Settings`, and in
the :guilabel:`Default Accounts` section, select the accounts you want to use for the
:guilabel:`Cash Discount Gain account` and :guilabel:`Cash Discount Loss account`.
.. _cash-discounts/payment-terms:
Payment terms
-------------
Cash discounts are defined on :doc:`payment terms <payment_terms>`. Configure them to your liking by
going to :menuselection:`Accounting --> Configuration --> Payment Terms`, and make sure to fill out
the fields :guilabel:`Discount %` and :guilabel:`Discount Days`.
.. image:: cash_discounts/payment-terms.png
:align: center
:alt: Configuration of payment terms named "2/7 Net 30". The field "Description on Invoices"
reads: "Payment terms: 30 Days, 2% Early Payment Discount under 7 days".
.. seealso::
:doc:`payment_terms`
.. _cash-discounts/customer-invoice:
Apply a cash discount to a customer invoice
===========================================
Apply a cash discount to a customer invoice by selecting the :ref:`payment terms you created
On a customer invoice, apply a cash discount by selecting the :ref:`payment terms you created
<cash-discounts/payment-terms>`. Odoo automatically computes the correct amounts, tax amounts, due
dates, and accounting records.
@@ -154,26 +156,23 @@ Under the :guilabel:`Journal Items` tab, you can display the discount details by
"toggle" button and adding the :guilabel:`Discount Date` and :guilabel:`Discount Amount` columns.
.. image:: cash_discounts/invoice-journal-entry.png
:align: center
:alt: An invoice of €100.00 with "2/7 Net 30" selected as payment terms. The "Journal Items" tab
is open, and the "Discount Date" and "Discount Amount" columns are displayed.
The discount amount and due date are also displayed on the generated invoice sent to the customer.
The discount amount and due date are also displayed on the generated invoice report sent to the
customer if the :guilabel:`Show installment dates` option is checked on the payment terms.
.. image:: cash_discounts/invoice-print.png
:align: center
:alt: An invoice of €100.00 with the following text added to the terms and conditions: "30 Days,
2% Early Payment Discount under 7 days. 118.58 € due if paid before 01/08/2023."
:alt: An invoice of €100.00 with the following text added to the terms and conditions: "30
Days, 2% Early Payment Discount under 7 days. 118.58 € due if paid before 01/08/2023."
Payment reconciliation
----------------------
When you record a payment or reconcile your bank statements, Odoo takes the customer payment's date
into account to define if they can benefit from the cash discount or not.
When you record a :doc:`payment <../payments>` or :doc:`reconcile your bank transactions
<../bank/reconciliation>`, Odoo takes the customer payment's date into account to determine if the
customer can benefit from the cash discount or not.
.. note::
If your customer pays the discount amount *after* the discount date, you can always decide
whether to mark the invoice as fully paid with a write-off or as partially paid.
.. seealso::
:doc:`../payments`
If your customer pays the discount amount *after* the discount date, you can always decide to
mark the invoice as fully paid with a write-off or as partially paid.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 16 KiB

View File

@@ -2,102 +2,117 @@
Credit notes and refunds
========================
A **credit note**, or **credit memo**, is a document issued
to a customer that notifies them that they have been credited
a certain amount.
A **credit/debit note**, or **credit/debit memo**, is a document issued to a customer that notifies
them that they have been *credited/debited* a certain amount.
There are several reasons that can lead to a credit note, such as:
* a mistake in the invoice
* a return of the goods, or a rejection of the services
* the goods delivered are damaged
Several use cases can lead to a credit note, such as:
- a mistake in the invoice
- a return of the goods, or a rejection of the services
- the goods delivered are damaged
Debit notes are less common but are most frequently used to track debts owed by customers or to
vendors because of modifications to confirmed customer invoices or vendor bills.
.. note::
Issuing a credit note is the only legal way to cancel,
refund or modify a validated invoice. Dont forget to
*register the payment* afterward if you need to send money
back to your customer.
Issuing a credit/debit note is the only legal way to cancel, refund, or modify a validated
invoice. Do not forget to **register the payment** afterward if you need to send money back to
your customer and/or validate the
:doc:`return </applications/sales/sales/products_prices/returns>` if a storable product is
returned.
Issue a Credit Note
Issue a credit note
===================
You can create a credit note from scratch by going to
:menuselection:`Accounting --> Customers --> Credit Notes`,
and by clicking on *Create*. Filling the Credit Notes form
works the same way as the Invoices form.
You can create a credit note from scratch by going to :menuselection:`Accounting --> Customers -->
Credit Notes`, and by clicking on :guilabel:`Create`. Filling out a credit note form works the same
way as an invoice form.
However, most of the time, credit notes are generated directly
from the invoices they are related to.
To do so, open the *Customer Invoice*, and click on *Add Credit Note*.
.. image:: credit_notes/credit_notes01.png
:align: center
However, most of the time, credit notes are generated directly from the related invoices. To do so,
go to :menuselection:`Accounting --> Customers --> Invoices`, open the related **customer invoice**,
and click on :guilabel:`Credit Note`.
You can choose between three options:
- Partial Refund
- Full Refund
- Full refund and new draft invoice
- :guilabel:`Partial Refund`
- :guilabel:`Full Refund`
- :guilabel:`Full refund and new draft invoice`
.. note::
Credit Notes numbers start with “R” and are followed by the
number of the document they are related to (e.g., RINV/2019/0004).
A credit note sequence starts with `R` and is followed by the number of the related document
(e.g., RINV/2019/0004 is related to the invoice INV/2019/0004).
Partial Refund
Partial refund
--------------
Odoo creates a draft credit note already prefilled with all the
necessary information from the original invoice.
This is the option to choose to do a partial refund, or if you
want to modify any detail on the credit note.
When selecting the :guilabel:`Partial Refund` option, Odoo creates a draft credit note already
prefilled with all the necessary information from the original invoice. This is the option to choose
if you wish to do a partial refund or if you want to modify any detail of the credit note.
.. note::
This is the only option available for invoices that are already marked as *Paid*.
This is the only option for invoices marked as *in payment* or *paid*.
Full Refund
Full refund
-----------
Odoo creates a credit note, automatically validates it, and
reconciles the original invoice with it.
When selecting the :guilabel:`Full Refund` option, Odoo creates a credit note, automatically
validates it, and reconciles it with the related invoice.
.. image:: credit_notes/credit_notes02.png
:align: center
:alt: Full refund credit note.
This is the option to choose to do a full refund or cancel
a validated invoice.
This is the option to choose for a full refund or to **cancel** a *validated* invoice.
Full refund and new draft invoice
---------------------------------
Odoo creates a credit note, automatically validates it, reconciles
the original invoice with it, and open a new draft invoice
When selecting the :guilabel:`Full refund and new draft invoice` option, Odoo creates a credit note,
automatically validates it, reconciles it with the related invoice, and opens a new draft invoice
prefilled with the same details from the original invoice.
This is the option to choose to modify the content of a validated invoice.
This is the option to **modify** the content of a *validated* invoice.
Record a Vendor Refund
Issue a debit note
==================
You can create a debit note from scratch by going to :menuselection:`Accounting --> Customers -->
Invoices` or by clicking on the related invoice you wish to issue a debit note for. On the invoice
form view, click :guilabel:`Cog icon (⚙) --> Debit Note`, fill in the information, and click
:guilabel:`Create Debit Note`.
Record a vendor refund
======================
**Vendor Refunds** are recorded the same way you would do with invoices credit notes:
**Vendor refunds** are recorded the same way as credit notes:
You can either create a credit note from scratch by going
to :menuselection:`Accounting --> Vendors --> Refund`, and
by clicking on *Create*, or by opening the validated *Vendor Bill*,
and clicking on *Add Credit Note*.
You can either create a credit note from scratch by going to :menuselection:`Accounting --> Vendors
--> Refund`, and by clicking on :guilabel:`Create`; or by opening the related **vendor bill**, and
clicking on :guilabel:`Credit Note`.
Journal Entries
Record a debit note
===================
**Debit notes** from vendors are recorded in a similar way to how they are issued to customers:
Go to :menuselection:`Accounting --> Vendors --> Bills`, open the related bill you wish to record a
debit note for, and click :guilabel:`Cog icon (⚙) --> Debit Note`. Fill in the information, and click
:guilabel:`Create Debit Note`.
Journal entries
===============
Issuing a credit note from an invoice creates a **reverse entry**
that zeroes out the journal items generated by the original invoice.
Issuing a credit/debit note from an invoice/bill creates a **reverse entry** that zeroes out the
journal items generated by the original invoice.
Here is an example of an invoices journal entry:
.. image:: credit_notes/credit_notes03.png
:align: center
.. example::
The journal invoice of an entry:
And here is the credit notes journal entry generated to reverse
the original invoice above:
.. image:: credit_notes/credit_notes03.png
:alt: Invoice journal entry.
.. image:: credit_notes/credit_notes04.png
:align: center
And here is the credit notes journal entry generated to reverse
the original invoice above:
.. image:: credit_notes/credit_notes04.png
:alt: Credit note journal entry reverses the invoice journal entry.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.8 KiB

View File

@@ -49,43 +49,41 @@ To create new payment terms, follow these steps:
#. Go to :menuselection:`Accounting --> Configuration --> Payment Terms` and click on
:guilabel:`New`.
#. Enter a name in the :guilabel:`Payment Terms` field. This field is the name displayed in the
database and is not customer-facing.
#. Enter the text to be displayed on the document (sales order, invoice, etc.) in the
:guilabel:`Description on the Invoice` field.
#. Tick the :guilabel:`Display terms on invoice` checkbox to display a breakdown of each payment and
its due date on the invoice report, if desired.
#. In the :guilabel:`Terms` section, add a set of rules (terms) to define what needs to be paid and
by which due date(s). Defining terms automatically calculates the payments' due date(s). This is
particularly helpful for managing **installment plans** (:dfn:`payment terms with multiple
#. Enter a name in the :guilabel:`Payment Terms` field. This field is the name displayed both
internally and on sales orders.
#. Tick the :guilabel:`Early Discount` checkbox and fill out the discount percentage, discount days,
and :ref:`tax reduction <cash-discounts/tax-reductions>` fields to add a :doc:`cash discount
<cash_discounts>`, if desired.
#. In the :guilabel:`Due Terms` section, add a set of rules (terms) to define what needs to be paid
and by which due date(s). Defining terms automatically calculates the payments' due date(s). This
is particularly helpful for managing **installment plans** (:dfn:`payment terms with multiple
terms`).
To add a term, click on :guilabel:`Add a line`, define its :guilabel:`Due Type` and
:guilabel:`Value`, and fill out the appropriate fields to define when the term is due, including
any :doc:`discounts <cash_discounts>`. Due dates are calculated by taking the invoice/bill date,
first adding the :guilabel:`Months`, and then adding the :guilabel:`Days`. If the :guilabel:`End
of month` toggle is enabled, the due date will then be the end of that month, plus any
:guilabel:`Days after End of month`.
To add a term, click on :guilabel:`Add a line`, define the discount's value and type in the
:guilabel:`Due` fields, then fill out the :guilabel:`After` fields to determine the due date.
#. Enter the text to be displayed on the document (sales order, invoice, etc.) in the gray textbox
in the :guilabel:`Preview` column.
#. Tick the :guilabel:`Show installment dates` checkbox to display a breakdown of each payment and
its due date on the invoice report, if desired.
.. tip::
To instead specify a number of days *before the end of the month*, use a negative value in the
:guilabel:`Days after End of month` field.
:guilabel:`After` field.
To test that your payment terms are configured correctly, enter an invoice amount and invoice date
in the :guilabel:`Example` section to generate the payments that would be due and their due dates
To test that your payment terms are configured correctly, enter an invoice date on the
:guilabel:`Example` line to generate the payments that would be due and their due dates
using these payment terms.
.. important::
- Terms are computed in the order of their due dates.
- The **balance** should always be used for the last line.
Terms are computed in the order of their due dates.
.. example::
In the following example, 30% is due on the day of issuance, and the balance is due at the end of
the following month.
In the following example, 30% is due on the day of issuance, and the remaining 70% is due at the
end of the following month.
.. image:: payment_terms/configuration.png
:alt: Example of Payment Terms. The last line is the balance due on the 31st of the following
month.
:alt: Example of Payment Terms. The first line is the 30% due immediately. The second line is
the remaining 70% due at the end of the following month.
Using payment terms
===================
@@ -126,7 +124,7 @@ due date into account, rather than just the balance due date. It also helps to g
distinct due dates
In this example, an invoice of $1000 has been issued with the following payment terms: *30% is
due on the day of issuance, and the balance is due at the end of the following month.*
due on the day of issuance, and the remaining 70% is due at the end of the following month.*
+----------------------+-------------+---------+---------+
| Account | Due date | Debit | Credit |

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.2 KiB

After

Width:  |  Height:  |  Size: 5.0 KiB

View File

@@ -91,7 +91,7 @@ Batch Payment`.
- :doc:`payments/batch`
- :doc:`payments/batch_sdd`
.. _payments-matching:
.. _payments/matching:
Payments matching
-----------------

View File

@@ -50,17 +50,16 @@ SEPA Direct Debit as a payment method
-------------------------------------
SDD can be used as a payment method both on your **eCommerce** or on the **Customer Portal** by
activating SDD as a **Payment Provider**. With this method, your customers can create and sign their
mandates themselves.
activating SDD as a **Payment Provider**. With this method, your customers can create their mandates.
To ensure the validity of the information given by the customer, they will have to confirm each
mandate with one successful bank transfer of the expected amount.
To do so, go to :menuselection:`Accounting --> Configuration --> Payment Providers`, click on *SEPA
Direct Debit*, and set it up according to your needs.
To do so, go to :menuselection:`Accounting app --> Configuration --> Payment Acquirers`, click on
To do so, go to :menuselection:`Accounting app --> Configuration --> Payment Providers`, click on
:guilabel:`SEPA Direct Debit`.
.. important::
Make sure to change the :guilabel:`State` field to :guilabel:`Enabled`, and to check
:guilabel:`Online Signature`, as this is necessary to let your customers sign their mandates.
Make sure to change the :guilabel:`State` field to :guilabel:`Enabled` and set the provider as
"Published" so that it is available for your customers.
Customers using SDD as payment method get prompted to add their IBAN, email address, and to sign
their SEPA Direct Debit mandate.

View File

@@ -30,6 +30,8 @@ you want to compare the chosen time period with. You can choose up to 12
periods back from the date of the report if you don't want to use the
default **Previous 1 Period** option.
.. _reporting/balance-sheet:
Balance Sheet
-------------
@@ -103,6 +105,8 @@ occurred during a certain period of time.
.. image:: reporting/main_reports05.png
.. _reporting/aged-payable:
Aged Payable
------------
@@ -112,6 +116,8 @@ have gone unpaid.
.. image:: reporting/main_reports02.png
.. _reporting/aged-receivable:
Aged Receivable
---------------
@@ -129,6 +135,8 @@ operating, investing and financing activities.
.. image:: reporting/main_reports03.png
.. _reporting/tax-report:
Tax Report
----------

View File

@@ -2,115 +2,111 @@
Year-end closing
================
Before going ahead with closing a fiscal year, there are a few steps one
should typically take to ensure that your accounting is correct, up to
date, and accurate:
- Make sure you have fully reconciled your **bank account(s)** up to
year end and confirm that your ending book balances agree with
your bank statement balances.
- Verify that all **customer invoices** have been entered and approved.
- Confirm that you have entered and agreed all **vendor bills**.
- Validate all **expenses**, ensuring their accuracy.
- Corroborate that all **received payments** have been entered and
recorded accurately.
Year-end closing is vital for maintaining financial accuracy, complying with regulations, making
informed decisions, and ensuring transparency in reporting.
.. _year-end/fiscal-years:
Manage fiscal years
===================
Fiscal years
============
In most cases, the fiscal years last 12 months. If it is your case, you
just have to define what is the last day of your fiscal year in the
accounting settings. By default, it is set on the 31st December.
By default, the fiscal year is set to last 12 months and end on December 31st. However, its duration
and end date can vary due to cultural, administrative, and economic considerations.
However, there might be some exceptions. For example, if it is the first
fiscal year of your business, it could last more or less than 12 months.
In this case, some additional configuration is required.
To modify these values, go to :menuselection:`Accounting --> Configuration --> Settings`. Under the
:guilabel:`Fiscal Periods` section, change the :guilabel:`Last Day` field if necessary.
Go to :menuselection:`accounting --> configuration --> settings` and activate
the fiscal years.
You can then configure your fiscal years in
:menuselection:`accounting --> configuration --> fiscal years`.
If the period lasts *more* than or *less* than 12 months, enable :guilabel:`Fiscal Years` and
:guilabel:`Save`. Go back to the :guilabel:`Fiscal Periods` section and click :guilabel:`➜ Fiscal
Years`. From there, click :guilabel:`Create`, give it a :guilabel:`Name`, and both a
:guilabel:`Start Date` and :guilabel:`End Date`.
.. note::
You only have to create fiscal years if they last more or less
than 12 months.
Once the set fiscal period is over, Odoo automatically reverts to the default periodicity, taking
into account the value specified in the :guilabel:`Last Day` field.
.. _year-end/checklist:
Year-end checklist
==================
- Run a **Tax report**, and verify that your tax information is correct.
Before closure
--------------
- Reconcile all accounts on your **Balance Sheet**:
Before closing a fiscal year, ensure first everything is accurate and up-to-date:
- Agree your bank balances in Odoo against your actual bank balances
on your statements. Utilize the **Bank Reconciliation** report to
assist with this.
- Make sure all bank accounts are fully :doc:`reconciled <../bank/reconciliation>` up to year-end,
and confirm that the ending book balances match the bank statement balances.
- Verify that all :doc:`customer invoices <../customer_invoices>` have been entered and
approved and that there are no draft invoices.
- Confirm that all :doc:`vendor bills <../vendor_bills>` have been entered and agreed upon.
- Validate all :doc:`expenses <../../expenses>`, ensuring their accuracy.
- Corroborate that all :doc:`received payments <../payments>` have been encoded and recorded
accurately.
- Close all :ref:`suspense accounts <bank_accounts/suspense>`.
- Book all :doc:`depreciation <../vendor_bills/assets>` and :doc:`deferred revenue
<../customer_invoices/deferred_revenues>` entries.
- Reconcile all transactions in your cash and bank accounts by
running your **Aged Receivables** and **Aged Payables** reports.
Closing a fiscal year
---------------------
- Audit your accounts, being sure to fully understand the
transactions affecting them and the nature of the
transactions, making sure to include loans and fixed assets.
Then, to close the fiscal year:
- Run the optional **Payments Matching** feature, under the **More**
dropdown on the dashboard, validating any open **Vendor Bills** and
**Customer Invoices** with their payments. This step is optional,
however it may assist the year-end process if all outstanding
payments and invoices are reconciled, and could lead finding
errors or mistakes in the system.
- Run a :ref:`tax report <reporting/tax-report>`, and verify that all tax information is correct.
- Reconcile all accounts on the :ref:`balance sheet <reporting/balance-sheet>`:
- Your accountant/bookkeeper will likely verify your balance sheet
items and book entries for:
- Update the bank balances in Odoo according to the actual balances found on the bank statements.
- Reconcile all transactions in the cash and bank accounts by running the :ref:`aged receivables
<reporting/aged-receivable>` and :ref:`aged payables <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 <payments/matching>` 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.
- Year-end manual adjustments, using the **Adviser Journal Entries**
menu (For example, the **Current Year Earnings** and **Retained
Earnings** reports).
Next, the accountant likely verifies balance sheet items and book entries for:
- **Work in Progress**.
- year-end manual adjustments,
- work in progress,
- depreciation journal entries,
- loans,
- tax adjustments,
- etc.
- **Depreciation Journal Entries**.
If the accountant is going through the year-end audit, they may want to have paper copies of all
balance sheet items (such as loans, bank accounts, prepayments, sales tax statements, etc.) to
compare these with the balances in Odoo.
- **Loans**.
.. tip::
During this process, it is good practice to set a :guilabel:`Journal Entries Lock Date` to the
last day (inclusive) of the preceding fiscal year by going to :menuselection:`Accounting -->
Accounting --> Lock Dates`. This way, the accountant can be confident that nobody changes the
transactions while auditing the books. Users from the *accountant* access group can still create
and modify entries.
- **Tax adjustments**.
Current year's earnings
~~~~~~~~~~~~~~~~~~~~~~~
If your accountant/bookkeeper is going through end of the year auditing,
they may want to have paper copies of all balance sheet items (such as
loans, bank accounts, prepayments, sales tax statements, etc...) to
agree these against your Odoo balances.
Odoo uses a unique account type called **current year's earnings** to display the amount difference
between the **income** and **expenses** accounts.
During this process, it is good practice to set the **Lock date for
Non-Advisers** to the last day of the preceding financial year, which is
set under the accounting configuration. This way, the accountant can be
confident that nobody is changing the previous year transactions
while auditing the books.
.. note::
The chart of accounts can only contain one account of this type. By default, it is a 999999
account named :guilabel:`Undistributed Profits/Losses`.
.. image:: year_end/close_fiscal_year01.png
To allocate the current year's earnings, create a miscellaneous entry to book them to any equity
account. Once done, confirm whether or not the current year's earnings in the **balance sheet** is
correctly reporting a balance of zero. If that is the case, set an :guilabel:`All Users Lock Date`
to the last day of the fiscal year by going to :menuselection:`Accounting --> Accounting --> Lock
Dates`.
.. _year-end/closing:
.. warning::
Setting an :guilabel:`All Users Lock Date` is **irreversible** and cannot be removed.
Closing the fiscal year
=======================
In Odoo there is no need to do a specific year end closing entry in order to
close out income statement accounts. The reports are created in
real-time, meaning that the **Income statement** corresponds directly with
the year-end date you specify in Odoo. Therefore, any time you generate
the **Income Statement**, the beginning date will correspond with the
beginning of the **Fiscal Year** and the account balances will all be 0.
Once the accountant/bookkeeper has created the journal entry to allocate
the **Current Year Earnings**, you should set the **Lock Date** to the last day
of the fiscal year. Making sure that before doing so, you confirm
whether or not the current year earnings in the **Balance Sheet** is
correctly reporting a 0 balance.
.. note::
A specific year-end closing entry is **optional** in order to close out the **profit and loss
statement**. The reports are created in real-time, meaning that the profit and loss statement
corresponds directly with the year-end date specified in Odoo. Therefore, any time the **income
statement** is generated, the beginning date corresponds with the beginning of the **fiscal
year** and all account balances should equal zero.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.6 KiB

View File

@@ -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 <payments-matching>` when you receive the products.
the :ref:`matching <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.

View File

@@ -58,12 +58,11 @@ available on Odoo.
- Austria - Accounting
- :doc:`Belgium - Accounting <fiscal_localizations/belgium>`
- Bolivia - Accounting
- Brazilian - Accounting
- :doc:`Brazilian - Accounting <fiscal_localizations/brazil>`
- Canada - Accounting
- :doc:`Chile - Accounting <fiscal_localizations/chile>`
- China - Accounting
- :doc:`Colombia - Accounting <fiscal_localizations/colombia>` (:doc:`doc in Spanish
<fiscal_localizations/colombia_ES>`)
- :doc:`Colombia - Accounting <fiscal_localizations/colombia>`
- Costa Rica - Accounting
- Croatia - Accounting (RRIF 2012)
- Czech - Accounting
@@ -104,10 +103,11 @@ available on Odoo.
- Pakistan - Accounting
- Panama - Accounting
- :doc:`Peru - Accounting <fiscal_localizations/peru>`
- :doc:`Philippines - Accounting <fiscal_localizations/philippines>`
- Poland - Accounting
- Portugal - Accounting
- Romania - Accounting
- Saudi Arabia - Accounting
- :doc:`Saudi Arabia - Accounting <fiscal_localizations/saudi_arabia>`
- :doc:`Singapore - Accounting <fiscal_localizations/singapore>`
- Slovak - Accounting
- Slovenian - Accounting
@@ -132,9 +132,9 @@ available on Odoo.
fiscal_localizations/argentina
fiscal_localizations/australia
fiscal_localizations/belgium
fiscal_localizations/brazil
fiscal_localizations/chile
fiscal_localizations/colombia
fiscal_localizations/colombia_ES
fiscal_localizations/ecuador
fiscal_localizations/egypt
fiscal_localizations/france
@@ -148,6 +148,8 @@ available on Odoo.
fiscal_localizations/mexico
fiscal_localizations/netherlands
fiscal_localizations/peru
fiscal_localizations/philippines
fiscal_localizations/saudi_arabia
fiscal_localizations/singapore
fiscal_localizations/spain
fiscal_localizations/switzerland

View File

@@ -58,7 +58,7 @@ Chart of account
----------------
In Accounting, there are three different :guilabel:`Chart of Accounts` packages to choose from.
They are based on a company's AFIP responsibility type, and consider the frence between
They are based on a company's AFIP responsibility type, and consider the difference between
companies that do not require as many accounts as the companies that have more complex fiscal
requirements:
@@ -98,8 +98,8 @@ AFIP certificates
The electronic invoice and other AFIP services work with :guilabel:`Web Services (WS)` provided by
the AFIP.
In order to enable communication with the AFIP, the first step is to request a
:guilabel:`Digital Certificate` if you do not have one already.
In order to enable communication with the AFIP, the first step is to request a :guilabel:`Digital
Certificate` if you do not have one already.
#. :guilabel:`Generate Certificate Sign Request (Odoo)`. When this option is selected, a file with
extension `.csr` (certificate signing request) is generated to be used in the AFIP portal to
@@ -137,8 +137,8 @@ Partner
Identification type and VAT
***************************
As part of the Argentinean localization, document types defined by the AFIP are now available
in the **Partner form**. Information is essential for most transactions. There are six
As part of the Argentinean localization, document types defined by the AFIP are now available in the
**Partner form**. Information is essential for most transactions. There are six
:guilabel:`Identification Types` available by default, as well as 32 inactive types.
.. image:: argentina/identification-types.png
@@ -205,8 +205,8 @@ The document type is an essential piece of information that needs to be clearly
printed reports, invoices, and journal entries that list account moves.
Each document type can have a unique sequence per journal where it is assigned. As part of the
localization, the document type includes the country in which the document is applicable (this
data is created automatically when the localization module is installed).
localization, the document type includes the country in which the document is applicable (this data
is created automatically when the localization module is installed).
The information required for the :guilabel:`Document Types` is included by default so the user does
not need to fill anything on this view:
@@ -318,10 +318,10 @@ For the first invoice, Odoo synchronizes with the AFIP automatically and display
used.
.. note::
When creating :guilabel:`Purchase Journals`, it's possible to define whether they are related
to document types or not. In the case where the option to use documents is selected, there
would be no need to manually associate the document type sequences, since the document number is
provided by the vendor.
When creating :guilabel:`Purchase Journals`, it's possible to define whether they are related to
document types or not. In the case where the option to use documents is selected, there would be
no need to manually associate the document type sequences, since the document number is provided
by the vendor.
Usage and testing
=================
@@ -423,8 +423,8 @@ starting and ending date, this information can be filled in the tab :guilabel:`O
:align: center
:alt: Invoices for Services.
If the dates are not selected manually before the invoice is validated, the values will be
filled automatically with the first and last day of the invoice's month.
If the dates are not selected manually before the invoice is validated, the values will be filled
automatically with the first and last day of the invoice's month.
.. image:: argentina/service-dates.png
:align: center
@@ -433,8 +433,8 @@ filled automatically with the first and last day of the invoice's month.
Exportation invoices
********************
Invoices related to :guilabel:`Exportation Transactions` require that a journal uses the AFIP
POS System **Expo Voucher - Web Service** so that the proper document type(s) can be associated.
Invoices related to :guilabel:`Exportation Transactions` require that a journal uses the AFIP POS
System **Expo Voucher - Web Service** so that the proper document type(s) can be associated.
.. image:: argentina/exporation-journal.png
:align: center
@@ -497,8 +497,8 @@ For these transactions it's important to consider the following requirements:
- specific document types (201, 202, 206, etc);
- the emitter should be eligible by the AFIP to MiPyME transactions;
- the amount should be bigger than 100,000 ARS;
- A bank account type CBU must be related to the emisor, otherwise the invoice cannot
be validated, having an error message such as the following.
- A bank account type CBU must be related to the emisor, otherwise the invoice cannot be validated,
having an error message such as the following.
.. image:: argentina/bank-account-relation-error.png
:align: center
@@ -511,8 +511,8 @@ To set up the :guilabel:`Transmission Mode`, go to settings and select either :g
:align: center
:alt: Transmission Mode.
To change the :guilabel:`Transmission Mode` for a specific invoice, go to the
:guilabel:`Other Info` tab and change it before confirming.
To change the :guilabel:`Transmission Mode` for a specific invoice, go to the :guilabel:`Other Info`
tab and change it before confirming.
.. note::
Changing the :guilabel:`Transmission Mode` will not change the mode selected in
@@ -537,8 +537,8 @@ When creating a :guilabel:`Credit/Debit` note related to a FCE document:
When creating a :guilabel:`Credit Note` we can have two scenarios:
#. the FCE is rejected so the :guilabel:`Credit Note` should have the field :guilabel:`FCE,
is Cancellation?` as *True*; or;
#. the FCE is rejected so the :guilabel:`Credit Note` should have the field :guilabel:`FCE, is
Cancellation?` as *True*; or;
#. the :guilabel:`Credit Note`, is created to annulate the FCE document, in this case the field
:guilabel:`FCE, is Cancellation?` must be *empty* (false).
@@ -607,8 +607,8 @@ Document Number*.
Validate vendor bill number in AFIP
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
As most companies have internal controls to verify that the vendor bill is related to an AFIP
valid document, an automatic validation can be set in :menuselection:`Accounting --> Settings -->
As most companies have internal controls to verify that the vendor bill is related to an AFIP valid
document, an automatic validation can be set in :menuselection:`Accounting --> Settings -->
Argentinean Localization --> Validate document in the AFIP`, considering the following levels:
- :guilabel:`Not available:` the verification is not done (this is the default value);
@@ -663,18 +663,212 @@ amount, and the perception tax can be added in any of the product lines. As a re
one tax group for the VAT and another for the perception. The perception default value is always
:guilabel:`0.10`.
.. image:: argentina/vat-perception.png
:align: center
:alt: VAT perception.
To edit the VAT perception and set the correct amount, you should use the :guilabel:`Pencil` icon
that is the next to the :guilabel:`Perception` amount. After the VAT perception amount has been
set, the invoice can then be validated.
that is the next to the :guilabel:`Perception` amount. After the VAT perception amount has been set,
the invoice can then be validated.
.. image:: argentina/enter-perception-amount.png
:align: center
:alt: Enter the perception amount.
Check management
----------------
To install the *Third Party and Deferred/Electronic Checks Management* module, go to
:menuselection:`Apps` and search for the module by its technical name `l10n_latam_check` and click
the :guilabel:`Activate` button.
.. image:: argentina/l10n-latam-check-module.png
:align: center
:alt: l10n_latam_check module.
This module enables the required configuration for journals and payments to:
- Create, manage, and control your different types of checks
- Optimize the management of *own checks* and *third party checks*
- Have an easy and effective way to manage expiration dates from your own and third party checks
Once all the configurations are made for the Argentinian electronic invoice flow, it is also needed
to complete certain configurations for the own checks and the third party checks flows.
Own checks
~~~~~~~~~~
Configure the bank journal used to create your own checks by going to :menuselection:`Accounting -->
Configuration --> Journals`, selecting the bank journal, and opening the :guilabel:`Outgoing
Payments` tab.
- :guilabel:`Checks` should be available as a :guilabel:`Payment Method`. If not, click
:guilabel:`Add a line` and type `Checks` under :guilabel:`Payment Method` to add them
- Enable the :guilabel:`Use electronic and deferred checks` setting.
.. note::
This last configuration **disables** the printing ability but enables to:
- Enter check numbers manually
- Adds a field to allocate the payment date of the check
.. image:: argentina/bank-journal-conf.png
:align: center
:alt: Bank journal configurations.
Management of own checks
************************
Own checks can be created directly from the vendor bill. For this process, click on the
:guilabel:`Register Payment` button.
On the payment registration modal, select the bank journal from which the payment is to be made and
set the :guilabel:`Check Cash-In Date`, and the :guilabel:`Amount`.
.. image:: argentina/payment-popup-vendorbill.png
:align: center
:alt: Payment pop-up window with own check options enabled.
.. note::
To manage current checks, the :guilabel:`Check Cash-In Date` field must be left blank or filled
in with the current date. To manage deferred checks, the :guilabel:`Check Cash-In Date` must be
set in the future.
To manage your existing own checks, navigate to :menuselection:`Accounting --> Vendors --> Own
Checks`. This window shows critical information such as the dates when checks need to be paid, the
total quantity of checks, and the total amount paid in checks.
.. image:: argentina/checks-menu-vendorbill.png
:align: center
:alt: Own checks menu location.
It is important to note that the list is pre-filtered by checks that are still *not reconciled* with
a bank statement - that were not yet debited from the bank - which can be verified with the
:guilabel:`Is Matched with a Bank Statement` field. If you want to see all of your own checks,
delete the :guilabel:`No Bank Matching` filter by clicking on the :guilabel:`X` symbol.
.. image:: argentina/check-menu-list-vendorbill.png
:align: center
:alt: Own checks menu organization and filtering.
Cancel an own check
*******************
To cancel an own check created in Odoo, navigate to :menuselection:`Accounting --> Vendors --> Own
Checks` and select the check to be canceled, then click on the :guilabel:`Void Check` button. This
will break the reconciliation with the vendor bills and the bank statements and leave the check in a
**canceled** state.
.. image:: argentina/empty-check-button.png
:align: center
:alt: Empty Check button to cancel Own Checks
Third party checks
~~~~~~~~~~~~~~~~~~
In order to register payments using third party checks, two specific journals need to be configured.
To do so, navigate to :menuselection:`Accounting --> Configuration --> Journals` and create two new
journals:
- `Third Party Checks`
- `Rejected Third Party Checks`
.. note::
You can manually create more journals if you have multiple points of sale and need journals for
those.
To create the *Third Party Checks* journal, click the :guilabel:`New` button and configure the
following:
- Type `Third Party Checks` as the :guilabel:`Journal Name`
- Select :guilabel:`Cash` as :guilabel:`Type`
- In the :guilabel:`Journal Entries` tab, set :guilabel:`Cash Account`: to `1.1.1.02.010 Cheques de
Terceros`, input a :guilabel:`Short Code` of your choice, and select a :guilabel:`Currency`
.. image:: argentina/auto-cash-account.png
:align: center
:alt: Automatically created cash account.
The available payment methods are listed in the *payments* tabs:
- For new incoming third party checks, go to :menuselection:`Incoming Payments tab --> Add a line`
and select :guilabel:`New Third Party Checks`. This method is used to create *new* third party
checks.
- For incoming and outgoing existing third party checks, go to :menuselection:`Incoming Payments tab
--> Add a line` and select :guilabel:`Existing Third Party Checks`. Repeat the same step for the
:guilabel:`Outgoing Payments` tab. This method is used to receive and/or pay vendor bills using
already *existing* checks, as well as for internal transfers.
.. tip::
You can delete pre-existing payment methods appearing by default when configuring the third
party checks journals.
.. image:: argentina/auto-payment-methods.png
:align: center
:alt: Payment methods automatically created.
The *Rejected Third Party Checks* journal also needs to be created and/or configured. This journal
is used to manage rejected third party checks and can be utilized to send checks rejected at the
moment of collection or when coming from vendors when rejected.
To create the *Rejected Third Party Checks* journal, click the :guilabel:`New` button and configure
the following:
- Type `Rejected Third Party Checks` as the :guilabel:`Journal Name`
- Select :guilabel:`Cash` as :guilabel:`Type`
- In the :guilabel:`Journal Entries` tab, set :guilabel:`Cash Account`: to `1.1.1.01.002 Rejected
Third Party Checks`, input a :guilabel:`Short Code` of your choice, and select a
:guilabel:`Currency`
Use the same payment methods as the *Third Party Checks* journal.
New third party checks
**********************
To register a *new* third party check for a customer invoice, click the :guilabel:`Register Payment`
button. In the pop-up window, you must select :guilabel:`Third Party Checks` as journal for the
payment registration.
Select :guilabel:`New Third Party Checks` as :guilabel:`Payment Method`, and fill in the
:guilabel:`Check Number`, :guilabel:`Payment Date`, and :guilabel:`Check Bank`. Optionally, you can
manually add the :guilabel:`Check Issuer Vat`, but this is automatically filled by the customer's
VAT number related to the invoice.
.. image:: argentina/third-party-payment-popup.png
:align: center
:alt: Payment pop-up window with New Third Party Check options enabled.
Existing third party checks
***************************
To pay a vendor bill with an *existing* check, click the :guilabel:`Register Payment` button. In the
pop-up window, you must select :guilabel:`Third Party Checks` as journal for the payment
registration.
Select :guilabel:`Existing Third Party Checks` as :guilabel:`Payment Method`, and select a check
from the :guilabel:`Check` field. The field shows all **available existing checks** to be used as
payment for vendor bills.
.. image:: argentina/existing-third-party-popup.png
:align: center
:alt: Payment pop-up window with Existing Third Party Check options enabled.
When an **existing third party check** is used, you can review the operations related to it. For
example, you can see if a third party check made to pay a customer invoice was later used as an
existing third party check to pay a vendor bill.
To do so, either go to :menuselection:`Accounting --> Customers --> Third Party Checks` or
:menuselection:`Accounting --> Vendors --> Own Checks` depending on the case, and click on a check.
In the :guilabel:`Check Current Journal` field, click on :guilabel:`=> Check Operations` to bring up
the check's history and movements.
.. image:: argentina/check-operations-menulist.png
:align: center
:alt: Check Operations menu.
The menu also displays critical information related to these operations, such as:
- The :guilabel:`Payment Type`, allowing to classify whether it is a payment *sent* to a vendor or a
payment *received* from a customer
- The :guilabel:`Journal` in which the check is currently registered
- The **partner** associated with the operation (either customer or vendor).
Reports
=======

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

View File

@@ -11,9 +11,6 @@ Install the :guilabel:`🇧🇪 Belgium` :ref:`fiscal localization package
<fiscal_localizations/packages>` to get all the default accounting features of the Belgian
localization, following the :abbr:`IFRS(International Financial Reporting Standards)` rules.
:ref:`Install <general/install>` the :guilabel:`Belgium - Disallowed Expenses Data` module
(`l10n_be_disallowed_expenses`) to manage :ref:`disallowed expenses <belgium/disallowed-expenses>`.
.. _belgium/coa:
Chart of accounts

View File

@@ -0,0 +1,320 @@
======
Brazil
======
.. |IAP| replace:: :abbr:`IAP (In-app-purchase)`
.. |SO| replace:: :abbr:`SO (Sales order)`
Introduction
============
With the Brazilian localization you can automatically compute sales taxes for goods using AvaTax
(Avalara) through API calls, also configure taxes for services.
For the goods tax computation part, you need to configure the :ref:`contacts <brazil/contacts>`,
:ref:`company <brazil/company>`, :ref:`products <brazil/products>`, and :ref:`create an account in
Avatax <brazil/avatax-account>` from the Odoo general settings.
For the services taxes, you can create and configure them from Odoo directly without computing them
with AvaTax.
The localization also includes taxes and a chart of accounts template that can be modified if
needed.
Configuration
=============
Modules installation
--------------------
:ref:`Install <general/install>` the following modules to get all the features of the Brazilian
localization:
.. list-table::
:header-rows: 1
:widths: 25 25 50
* - Name
- Technical name
- Description
* - :guilabel:`Brazilian - Accounting`
- `l10n_br`
- Default :ref:`fiscal localization package <fiscal_localizations/packages>` - adds accounting
characteristics for the Brazilian localization, which represent the minimum configuration
required for a company to operate in Brazil. The module's installation automatically loads:
the chart of accounts, taxes, and required fields to properly configure the contact.
* - :guilabel:`Brazil - Accounting Reports`
- `l10n_br_reports`
- Adds a simple tax report that helps check the tax amount per tax group in a given period of
time. Also adds the P&L and BS adapted for the Brazilian market.
* - :guilabel:`Avatax Brazil`
- `l10n_br_avatax`
- Add Brazilian tax calculation via Avatax and all necessary fields needed to configure Odoo in
order to properly use Avatax and send the needed fiscal information to retrieve the correct
taxes.
* - :guilabel:`Avatax for SOs in Brazil`
- `l10n_br_avatax_sale`
- Same as the `l10n_br_avatax` module with the extension to the sales order module.
.. _brazil/company:
Configure your company
----------------------
To configure your company information, go to the :menuselection:`Contacts` app and search the name
given to your company.
#. Select the :guilabel:`Company` option at the top of the page. Then, configure the following
fields:
- :guilabel:`Name`
- :guilabel:`Address` (add :guilabel:`City`, :guilabel:`State`, :guilabel:`Zip Code`,
:guilabel:`Country`)
- Tax ID (:guilabel:`CNPJ`)
- :guilabel:`IE` (State Registration)
- :guilabel:`IM` (Municipal Registration)
- :guilabel:`SUFRAMA code` (Superintendence of the Manaus Free Trade Zone - add if applicable)
- :guilabel:`Phone`
- :guilabel:`Email`
.. image:: brazil/company-configuration.png
:alt: Company configuration.
#. Configure the :guilabel:`Fiscal Information` within the :guilabel:`Sales and Purchase` tab:
- Add the :guilabel:`Fiscal Position` for :ref:`Avatax Brazil <brazil/fiscal-positions>`.
- :guilabel:`Tax Regime` (Federal Tax Regime)
- :guilabel:`ICMS Taxpayer Type` (indicates ICMS regime, Exempt status, or Non-Taxpayer.)
- :guilabel:`Main Activity Sector`
.. image:: brazil/contact-fiscal-configuration.png
:alt: Company fiscal configuration.
#. Finally, upload a company logo and save the contact.
.. note::
If you are a simplified regime, you need to configure the ICMS rate under
:menuselection:`Accounting --> Configuration --> Settings --> Taxes --> Avatax Brazil`.
.. _brazil/avatax-account:
Configure AvaTax integration
----------------------------
Avalara AvaTax is a tax calculation provider that can be integrated in Odoo to automatically compute
taxes by taking into account the company, contact (customer), product, and transaction information
to retrieve the correct tax to be used.
Odoo is a certified partner of Avalara Brazil, which means that Avalara experts reviewed workflows
covered within the scope of the integration.
Using this integration requires :doc:`In-App-Purchases (IAPs)
</applications/general/in_app_purchase>` to compute taxes. Every time you compute taxes, an API call
is made, using credits from your |IAP| credits balance.
Credential configuration
~~~~~~~~~~~~~~~~~~~~~~~~
To activate AvaTax in Odoo, you need to create an account. To do so, go to
:menuselection:`Accounting --> Configuration --> Settings --> Taxes`, and, in the :guilabel:`AvaTax
Brazil` section, add the email address you want to use to log in to the AvaTax portal, and click on
:guilabel:`Create account`. This email is used as the administrator email address in AvaTax.
After you create the account from Odoo, you need to go to the Avalara Portal to set up your
password:
#. Access the `Avalara portal <https://portal.avalarabrasil.com.br/Login>`_
#. Click on :guilabel:`Meu primeiro acesso`
#. Add the email address you used in Odoo to create the Avalara/Avatax account, and then click
:guilabel:`Solicitar Senha`
#. You will receive an email with a token and a link to create your password. Click on this link and
copy-paste the token to allocate your desired password.
.. warning::
If you intend first to try the integration on a testing or sandbox database, using an alternate
email address is recommended, as you won't be able to re-use the same email address on your
production database.
.. tip::
You can start using AvaTax in Odoo without creating a password and accessing the Avalara Portal;
for Odoo, the only requirement to start using the Avalara Tax Computation Engine is to create an
account from the settings page.
.. image:: brazil/avatax-account-configuration.png
:alt: Avatax account configuration.
.. note::
You can transfer API credentials. Use this only when you have already created an account in
another Odoo instance and wish to reuse it.
Configure master data
---------------------
Chart of accounts
~~~~~~~~~~~~~~~~~
The :doc:`chart of accounts </applications/finance/accounting/get_started/chart_of_accounts>` is
installed by default as part of the data set included in the localization module. The accounts are
mapped automatically in their corresponding taxes, and the default account payable and account
receivable fields.
.. note::
The chart of accounts for Brazil is based on the SPED CoA, which gives a baseline of the accounts
needed in Brazil.
You can add or delete accounts according to the company's needs.
Taxes
~~~~~
Taxes are automatically created when installing the Brazilian localization. Taxes are already
configured, and some of them are used by Avalara when computing taxes on the sales order or invoice.
Taxes can be edited, or more taxes can be added. For example, some taxes used for services need to
be manually added and configured, as the rate may differ depending on the city where you are
offering the service.
.. important::
Taxes attached to services are not computed by AvaTax. Only goods taxes are computed.
When configuring a tax used for a service that is included in the final price (when the tax is not
added or subtracted on top of the product price), set the :guilabel:`Tax Computation` to
:guilabel:`Percentage of Price Tax Included`, and, on the :guilabel:`Advanced Options` tab, check
the :guilabel:`Included in Price` option.
For more information on configuring taxes to fit your needs better, please go to the :doc:`taxes
functional documentation </applications/finance/accounting/taxes>`.
.. image:: brazil/tax-configuration.png
:alt: Tax configuration.
.. warning::
Do not delete taxes, as they are used for the AvaTax tax computation. If deleted, Odoo creates
them again when used in an |SO| or invoice and computing taxes with AvaTax, but the account used
to register the tax needs to be re-configured in the tax's :guilabel:`Definition` tab, under the
:guilabel:`Distribution for invoices` and :guilabel:`Distribution for refunds` sections.
.. _brazil/products:
Products
~~~~~~~~
To use the AvaTax integration on sale orders and invoices, first specify the following information
on the product:
- :guilabel:`CEST Code` (Code for products subject to ICMS tax substitution)
- :guilabel:`Mercosul NCM Code` (Mercosur Common Nomenclature Product Code)
- :guilabel:`Source of Origin` (Indicates the origin of the product, which can be foreign or
domestic, among other possible options depending on the specific use case)
- :guilabel:`SPED Fiscal Product Type` (Fiscal product type according to SPED list table)
- :guilabel:`Purpose of Use` (Specify the intended purpose of use for this product)
.. image:: brazil/product-configuration.png
:alt: Product configuration.
.. note::
Odoo automatically creates three products to be used for transportation costs associated with
sales. These are named `Freight`, `Insurance`, and `Other Costs`. They are already configured, if
more need to be created, duplicate and use the same configuration (configuration needed:
:guilabel:`Product Type` `Service`, :guilabel:`Transportation Cost Type` `Insurance`, `Freight`,
or `Other Costs`)
.. _brazil/contacts:
Contacts
~~~~~~~~
Before using the integration, specify the following information on the contact:
#. General information about the contact:
- Select the :guilabel:`Company` option for a contact with a tax ID (CNPJ), or check
:guilabel:`Individual` for a contact with a CPF.
- :guilabel:`Name`
- :guilabel:`Address`: :guilabel:`Zip Code` is a required field to compute taxes properly.
- :guilabel:`Tax ID` or :guilabel:`CPF`: Use CPF for individuals and Tax ID (CNPJ) for companies
- :guilabel:`IE`: state tax identification number
- :guilabel:`IM`: municipa tax identification number
- :guilabel:`SUFRAMA code`: SUFRAMA registration number
- :guilabel:`Phone`
- :guilabel:`Email`
.. image:: brazil/contact-configuration.png
:alt: Contact configuration.
.. note::
The :guilabel:`CPF`, :guilabel:`IE`, :guilabel:`IM`, and :guilabel:`SUFRAMA code` fields are
are hidden until the :guilabel:`Country` is set to `Brazil`.
#. Fiscal information about the contact under the :guilabel:`Sales & Purchase` tab:
- :guilabel:`Fiscal Position`: add the AvaTax fiscal position to automatically compute taxes on
sale orders and invoices automatically.
- :guilabel:`Tax Regime`: federal tax regime
- :guilabel:`ICMS Taxpayer Type`: taxpayer type determines if the contact is within the ICMS
regime, if it is exempt, or if it is a non-taxpayer.
- :guilabel:`Main Activity Sector`: list of main activity sectors of the contact
.. image:: brazil/contact-fiscal-configuration.png
:alt: Contact fiscal configuration.
.. _brazil/fiscal-positions:
Fiscal positions
~~~~~~~~~~~~~~~~
To compute taxes on sale orders and invoices, it is necessary to have a :guilabel:`Fiscal Position`
with the :guilabel:`Detect Automatically` and the :guilabel:`Use AvaTax API` options enabled.
The :guilabel:`Fiscal Position` can be configured on the contact or selected when creating a sales
order or an invoice.
.. image:: brazil/fiscal-position-configuration.png
:alt: Fiscal position configuration
Workflows
=========
This section provides an overview of the actions that trigger API calls for tax computation.
.. warning::
Please note that each API call incurs a cost. Be mindful of the actions that trigger these calls
to manage costs effectively.
Tax calculations on quotation / sales orders
--------------------------------------------
Trigger an API call to calculate taxes on a quotation or sales order automatically with AvaTax in
any of the following ways:
- **Quotation confirmation**
Confirm a quotation into a sales order.
- **Manual trigger**
Click on :guilabel:`Compute Taxes Using Avatax`.
- **Preview**
Click on the :guilabel:`Preview` button.
- **Email a quotation / sales order**
Send a quotation or sales order to a customer via email.
- **Online quotation access**
When a customer accesses the quotation online (via the portal view), the API call is triggered.
Tax calculations on invoices
----------------------------
Trigger an API call to calculate taxes on a customer invoice automatically with AvaTax any of the
following ways:
- **Manual trigger**
Click on :guilabel:`Compute Taxes Using AvaTax`.
- **Preview**
Click on the :guilabel:`Preview` button.
- **Online invoice access**
When a customer accesses the invoice online (via the portal view), the API call is triggered.
.. note::
The :guilabel:`Fiscal Position` must be set to `Automatic Tax Mapping (Avalara Brazil)` for any
of these actions to compute taxes automatically.
.. seealso::
:doc:`Fiscal positions (tax and account mapping)
</applications/finance/accounting/taxes/fiscal_positions>`

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

View File

@@ -2,85 +2,86 @@
Colombia
========
Webinars
========
The following documentation covers the Colombian localization modules and their basic concepts to
understand, implement, and use Colombian localization in Odoo.
Below you can find videos with a general description of the localization, and how to configure it.
- Configure Master Data for Colombia
- Use and configure Electronic Invoicing in Odoo for Colombia.
- :ref:`Invoice creation <colombia/invoice-creation>` and :ref:`validation
<colombia/invoice-validation>`
- :ref:`Reception of legal XML and PDF <colombia/invoice-xml>`
- :ref:`Avoid common mistakes <colombia/common-errors>`
- :ref:`Financial reports <colombia/reports>`
- `VIDEO WEBINAR OF A COMPLETE DEMO <https://youtu.be/Y83p3YK1lFU>`_.
.. seealso::
`Smart Tutorial - Localización de Colombia
<https://www.odoo.com/slides/smart-tutorial-localizacion-de-colombia-132>`_
Introduction
============
Electronic invoicing for Colombia is available from Odoo 12 and
requires the next modules:
#. **l10n_co**: All the basic data to manage the accounting module,
contains the default setup for: chart of accounts, taxes,
retentions, identification document types
#. **l10n_co_edi**: This module includes all the extra fields that are
required for the Integration with Carvajal and generate the
electronic invoice, based on the DIAN legal requirements.
Workflow
========
.. image:: colombia/colombia01.png
:align: center
.. _colombia/configuration:
Configuration
=============
Install the Colombian localization modules
------------------------------------------
Modules installation
--------------------
To :ref:`install <general/install>` the modules, go to :menuselection:`Apps`, remove the *Apps*
filter and search for "Colombia". Then click on *Install* for the first two modules.
:ref:`Install <general/install>` the following modules to get all the features of the Colombian
localization:
.. image:: colombia/colombia02.png
:align: center
.. list-table::
:header-rows: 1
:widths: 25 25 50
* - Name
- Technical name
- Description
* - :guilabel:`Colombia - Accounting`
- `l10n_co`
- Default :ref:`fiscal localization package <fiscal_localizations/packages>`
* - :guilabel:`Electronic invoicing for Colombia with Carvajal`
- `l10n_co_edi`
- Carvajal e-invoicing integration
* - :guilabel:`Colombian - Point of Sale`
- `l10n_co_pos`
- Point of Sale
* - :guilabel:`Colombian - Accounting Reports`
- `l10n_co_reports`
- Colombian reports
Configure credentials for Carvajal web service
----------------------------------------------
Once that the modules are installed, in order to be able to connect
with Carvajal Web Service, it's necessary to configure the user
and credentials, this information will be provided by Carvajal.
Once the modules are installed, the user credentials need to be configured in order to connect with
Carvajal Web Service. First, navigate to :menuselection:`Accounting --> Configuration --> Settings`
and look for the :guilabel:`Colombian Electronic Invoice` section. Then, fill in the required
configuration information provided by Carvajal.
Go to :menuselection:`Accounting --> Configuration --> Settings` and
look for the *Colombian Electronic Invoice* section.
.. image:: colombia/carvajal-credential-config.png
:alt: Configure credentials for Carvajal web service in Odoo.
.. image:: colombia/colombia03.png
:align: center
Check the :guilabel:`Test mode` checkbox to connect with the Carvajal testing environment. This
allows users to test the complete workflow and integration with the :abbr:`CEN (Centro Electrónico
de Negocios)` Financiero portal, which is accessible here:
Using the Testing mode it is possible to connect with a Carvajal
testing environment. This allows users to test the complete workflow
and integration with the CEN Financiero portal, which is accessible
here:
- `CTS (Carvajal T&S) <https://cenflab.cen.biz/site/>`_.
- `CSC (Carvajal Servicios de Comunicación) <https://web-stage.facturacarvajal.com/>`_.
CTS (Carvajal T&S)
https://cenflab.cen.biz/site/
:abbr:`CSC (Carvajal Servicios de Comunicación)` is the default for new databases.
CSC (Carvajal Servicios de Comunicación)
https://web-stage.facturacarvajal.com/
Once Odoo and Carvajal are fully configured and ready for production, the testing environment can be
disabled by unchecking the :guilabel:`Test mode` checkbox.
CSC is the default for new databases.
Configure report data
---------------------
Once that Odoo and Carvajal are fully configured and ready for
production the testing environment can be disabled.
Report data can be defined for the fiscal section and the bank information in the PDF as part of the
configurable information that is sent in the XML.
Configure your report data
--------------------------
Navigate to :menuselection:`Accounting --> Configuration --> Settings` and look for the
:guilabel:`Colombian Electronic Invoice` section.
As part of the configurable information that is sent in the XML, you
can define the data for the fiscal section and the bank information in
the PDF.
Go to :menuselection:`Accounting --> Configuration --> Settings` and
look for the *Colombian Electronic Invoice* section.
.. image:: colombia/colombia04.png
:align: center
.. image:: colombia/report-config.png
:alt: Configure the report data in Odoo.
Configure data required in the XML
----------------------------------
@@ -88,174 +89,181 @@ Configure data required in the XML
Partner
~~~~~~~
Configure the identification number and fiscal structure.
Identification
**************
As part of the Colombian Localization, the document types defined by
the DIAN are now available on the Partner form. Colombian partners
have to have their identification number and document type set:
As part of the Colombian Localization, the document types defined by the :abbr:`DIAN (Dirección de
Impuestos y Aduanas Nacionales)` are now available on the Partner form. Colombian partners have to
have their identification number (:guilabel:`VAT`) and :guilabel:`Document Type` set:
.. image:: colombia/colombia05.png
:align: center
.. image:: colombia/partner-rut-doc-type.png
:alt: The document type of RUT set in Odoo.
.. tip:: When the document type is RUT the identification number needs
to be configured in Odoo including the verification digit, Odoo
will split this number when the data to the third party vendor is
sent.
.. tip::
When the :guilabel:`Document Type` is `RUT`, the identification number needs to be configured in
Odoo, including the verification digit, Odoo will split this number when the data to the
third-party vendor is sent.
Fiscal structure (RUT)
**********************
The partner's responsibility codes (section 53 in the RUT document)
are included as part of the electronic invoice module given that is
part of the information required by the DIAN .
The partner's responsibility codes (section 53 in the RUT document) are included as part of the
electronic invoice module, given it is part of the information required by the :abbr:`DIAN
(Dirección de Impuestos y Aduanas Nacionales)`.
These fields can be found in :menuselection:`Partner --> Sales &
Purchase Tab --> Fiscal Information`
The required fields can be found in :menuselection:`Partner --> Sales & Purchase Tab --> Fiscal
Information`.
.. image:: colombia/colombia06.png
:align: center
.. image:: colombia/partner-fiscal-information.png
:alt: The fiscal information included in the electronic invoice module in Odoo.
Additionally two booleans fields were added in order to specify the
fiscal regimen of the partner.
Additionally, two boolean fields were added in order to specify the fiscal regimen of the partner.
Taxes
~~~~~
If your sales transactions include products with taxes, it's important
to consider that an extra field *Value Type* needs to be configured
per tax. This option is located in the Advanced Options tab.
If sales transactions include products with taxes, the :guilabel:`Value Type` field in the
:guilabel:`Advanced Options tab` needs to be configured per tax.
.. image:: colombia/colombia07.png
:align: center
Retention tax types (ICA, IVA, Fuente) are also included in the options to configure taxes. This
configuration is used in order to display taxes in the invoice PDF correctly.
Retention tax types (ICA, IVA, Fuente) are also included in the
options to configure your taxes. This configuration is used in order
to correctly display taxes in the invoice PDF.
.. image:: colombia/colombia08.png
:align: center
Journals
~~~~~~~~
Once the DIAN has assigned the official sequence and prefix for the
electronic invoice resolution, the Sales journals related to your
invoice documents need to be updated in Odoo. The sequence can be
accessed using the :ref:`developer mode <developer-mode>`: :menuselection:`Accounting -->
Settings --> Configuration Setting --> Journals`.
.. image:: colombia/colombia09.png
:align: center
Once that the sequence is opened, the Prefix and Next Number fields
should be configured and synchronized with the CEN Financiero.
.. image:: colombia/colombia10.png
:align: center
.. image:: colombia/retention-tax-types.png
:alt: The ICA, IVA and Fuente fields in the Advanced Options tab in Odoo.
Users
~~~~~
The default template that is used by Odoo on the invoice PDF includes
the job position of the salesperson, so these fields should be
configured:
The default template that is used by Odoo on the invoice PDF includes the job position of the
salesperson, so the :guilabel:`Job Position` field should be configured.
.. image:: colombia/colombia11.png
:align: center
.. _colombia/workflows:
Usage and testing
=================
Main workflows
==============
Invoice
-------
.. image:: colombia/electronic-invoice-workflow.png
:alt: Electronic invoice workflow in Odoo.
When all your master data and credentials has been configured, it's
possible to start testing the electronic invoice workflow.
.. _colombia/invoice-creation:
Invoice creation
~~~~~~~~~~~~~~~~
----------------
The functional workflow that takes place before an invoice validation
doesn't change. The main changes that are introduced with the
electronic invoice are the next fields:
.. image:: colombia/colombia12.png
:align: center
The functional workflow that takes place before an invoice validation doesn't change. The main
changes that are introduced with the electronic invoice are the next fields.
There are three types of documents:
- **Factura Electronica**: This is the regular type of document and
its applicable for Invoices, Credit Notes and Debit Notes.
- **Factura de Importación**: This should be selected for importation
transactions.
- **Factura de contingencia**: This is an exceptional type that is
used as a manual backup in case that the company is not able to use
the ERP and it's necessary to generate the invoice manually, when
this invoice is added to the ERP, this invoice type should be
selected.
- **Factura Electronica**: This is the regular document type applicable for Invoices, Credit Notes
and Debit Notes.
- **Factura de Importación**: This should be selected for importation transactions.
- **Factura de contingencia**: This is an exceptional type that is used as a manual backup if the
company is not able to use the ERP and if it is necessary to generate the invoice manually when
this invoice is added to the ERP.
.. _colombia/invoice-validation:
Invoice validation
~~~~~~~~~~~~~~~~~~
------------------
After the invoice is validated an XML file is created and sent
automatically to Carvajal, this file is displayed in the chatter.
After the invoice is validated, an XML file is created and sent automatically to Carvajal. This file
is also displayed in the chatter.
.. image:: colombia/colombia13.png
:align: center
.. image:: colombia/carvajal-invoice-xml-chatter.png
:alt: Carvajal XML invoice file in Odoo chatter.
An extra field is now displayed in "Other Info" tab with the name of
the XML file. Additionally there is a second extra field that is
displayed with the Electronic Invoice status, with the initial value
"In progress":
The :guilabel:`Electronic Invoice Name` field is now displayed in the :guilabel:`Other Info` tab
with the name of the XML file. Additionally, the :guilabel:`Electronic Invoice Status` field is
displayed with the initial value :guilabel:`In progress`.
.. image:: colombia/colombia14.png
:align: center
.. _colombia/invoice-xml:
Reception of legal XML and PDF
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
------------------------------
The electronic invoice vendor receives the XML file and proceeds to
validate the structure and the information in it, if everything is
correct the invoice status changes to "Validated" after using the
"Check Carvajal Status" button in the Action dropdown. They then
proceed to generate a Legal XML which includes a digital signature and
a unique code (CUFE), a PDF invoice that includes a QR code and the
CUFE is also generated.
The electronic invoice vendor receives the XML file and proceeds to validate the structure and the
information in it. In the :guilabel:`Action` drop-down menu, select the :guilabel:`Check Carvajal
Status` button. If everything is correct, the :guilabel:`Electronic Invoice Status` field value
changes to :guilabel:`Validated`. Then, proceed to generate a legal XML, which includes a digital
signature and a unique code (CUFE), a PDF invoice that includes a QR code, and the CUFE is also
generated.
After this:
- A ZIP containing the legal XML and the PDF is downloaded and
displayed in the invoice chatter:
- A ZIP containing the legal XML and the PDF is downloaded and displayed in the invoice chatter:
.. image:: colombia/colombia15.png
.. image:: colombia/zip-invoice-chatter.png
:alt: ZIP file displayed in the invoice chatter in Odoo.
.. image:: colombia/colombia16.png
.. image:: colombia/zip-file-contents.png
:alt: XML and PDF contained in invoice ZIP file.
- The Electronic Invoice status changes to "Accepted"
- The electronic invoice status changes to :guilabel:`Accepted`.
.. _colombia/common-errors:
Common errors
~~~~~~~~~~~~~
-------------
During the XML validation the most common errors are usually related
to missing master data. In such cases, error messages are shown in the
chatter after updating the electronic invoice status.
During the XML validation, the most common errors are usually related to missing master data. In
such cases, error messages are shown in the chatter after updating the electronic invoice status.
.. image:: colombia/colombia17.png
:align: center
.. image:: colombia/xml-validation-errors.png
:alt: XML validation errors shown in the invoice chatter in Odoo.
After the master data is corrected, it's possible to reprocess the XML
with the new data and send the updated version, using the following
button:
After the master data is corrected, it's possible to reprocess the XML with the new data and send
the updated version, using the following button in the :guilabel:`Action` drop-down menu.
.. image:: colombia/colombia18.png
:align: center
.. image:: colombia/colombia19.png
:align: center
.. image:: colombia/updated-invoice-status.png
:alt: The updated invoice status in Odoo.
Additional use cases
--------------------
The process for credit and debit notes is exactly the same as the
invoice, the functional workflow remains the same as well.
The process for credit and debit notes is exactly the same as the invoice. The functional workflow
remains the same as well.
.. _colombia/reports:
Financial reports
=================
This information is a quick reference to the accounting reports included in the *Colombian
Localization Accounting Reports* module.
Certificado de Retención en ICA
-------------------------------
This report is a certification to vendors for withholdings made for the Colombian Industry and
Commerce tax (ICA).
Go to :menuselection:`Accounting --> Reporting --> Colombian Statements --> Certificado de Retención
en ICA`.
.. image:: colombia/ica-report.png
:alt: Certificado de Retención en ICA report in Odoo Accounting.
Certificado de Retención en IVA
-------------------------------
This report issues a certificate on the amount withheld from vendors for VAT withholding.
Go to :menuselection:`Accounting --> Reporting --> Colombian Statements --> Certificado de Retención
en IVA`.
.. image:: colombia/iva-report.png
:alt: Certificado de Retención en IVA report in Odoo Accounting.
Certificado de Retención en la Fuente
-------------------------------------
This certificate is issued to partners for the withholding tax that they have made.
Go to :menuselection:`Accounting --> Reporting --> Colombian Statements --> Certificado de Retención
en Fuente`.
.. image:: colombia/fuente-report.png
:alt: Certificado de Retención en Fuente report in Odoo Accounting.

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 86 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 43 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 55 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

View File

@@ -1,602 +0,0 @@
=============
Colombia (ES)
=============
Introducción
============
La Facturación Electrónica para Colombia está disponible en Odoo 12 y
requiere los siguientes Módulos:
#. **l10n_co**: Contiene los datos básicos para manejar el módulo de
contabilidad, incluyendo la configuración por defecto de los siguientes
puntos:
- Plan Contable
- Impuestos
- Retenciones
- Tipos de Documentos de Identificación
#. **l10n_co_edi**: Este módulo incluye todos los campos adicionales que son
requeridos para la Integración entre Carvajal y la generación de la
Factura Electrónica, basado en los requisitos legales de la DIAN.
Flujo General
=============
.. image:: colombia/colombia01.png
:align: center
Configuración
=============
Instalación de los módulos de Localización Colombiana
-----------------------------------------------------
Para esto ve a las aplicaciones y busca “Colombia”, luego da click en
Instalar a los primeros dos módulos:
.. image:: colombia/colombia02.png
:align: center
Configuración de las credenciales del Servicio Web de Carvajal
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| Una vez que los módulos están instalados, para poderte conectar con el
Servicio Web de Carvajal, es necesario configurar el Usuario y las
Credenciales. Esta información será provista por Carvajal.
| Ve a :menuselection:`Facturación --> Configuración --> Configuración` y busca la sección
**Facturación Electrónica Colombiana**
.. image:: colombia_ES/colombia_ES02.png
:align: center
La funcionalidad de pruebas le permite conectarse e interactuar con el
ambiente piloto de Carvajal, esto permite a los usuarios probar el
flujo completo y la integración con el Portal Financiero CEN, al cual
se accede a través de la siguiente liga:
CTS (Carvajal T&S)
https://cenflab.cen.biz/site/
CSC (Carvajal Servicios de Comunicación)
https://web-stage.facturacarvajal.com/
CSC es el predeterminado para nuevas bases de datos.
Una vez que el ambiente de producción está listo en Odoo y en Carvajal
el ambiente de pruebas debe ser deshabilitado para poder enviar la
información al ambiente de producción de Carvajal.
Configuración de Información para PDF
-------------------------------------
| Como parte de la información configurable que es enviada en el XML,
puedes definir los datos de la sección fiscal del PDF, así como de la
información Bancaria.
| Ve a :menuselection:`Contabilidad --> Configuración --> Ajustes` y busca la sección
**Facturación Electrónica Colombiana**.
.. image:: colombia_ES/colombia_ES03.png
:align: center
Configuración de los Datos Principales Requeridos en el XML
-----------------------------------------------------------
Contacto (Tercero)
~~~~~~~~~~~~~~~~~~
Identificación
**************
Como parte de la Localización Colombiana, los tipos de documentos
definidos por la DIAN ahora están disponibles en el formulario de
Contactos, por lo cual ya es posible asignarles su número de
identificación asociado al tipo de documento correspondiente.
.. image:: colombia_ES/colombia_ES04.png
:align: center
Nota: Cuando el tipo de documento es RUT la identificación necesita ser
ingresada en Odoo incluyendo el Dígito de Verificación. Odoo separará
este número cuando la información sea enviada a los proveedores
terceros.
Estructura Fiscal (RUT)
***********************
Los Códigos de tipo de Obligación aplicables a los terceros (sección 53
en el documento de RUT), son incluidos como parte del módulo de
Facturación Electrónica, dado que es información requerida por la DIAN.
Estos campos se encuentran en :menuselection:`Contactos --> Pestaña de Ventas y Compras
--> Información Fiscal`
.. image:: colombia_ES/colombia_ES05.png
:align: center
Adicionalmente dos últimos campos fueron agregados para especificar el
régimen fiscal del contacto. Cabe aclarar que para envío de Factura
electrónica de Carvajal, únicamente se hace distinción de entre Grandes
Contribuyentes y Régimen simplificado, por lo se muestran solo estas dos
opciones.
Impuestos
~~~~~~~~~
Si tus transacciones de ventas incluyen productos con impuestos, es
importante considerar que un campo adicional llamado *Tipo de Valor*
necesita ser configurado en la siguiente ruta: :menuselection:`Contabilidad
--> Configuración --> Impuestos: --> Opciones Avanzadas --> Tipo de Valor`
.. image:: colombia_ES/colombia_ES06.png
:align: center
Los impuestos para Retenciones (ICA, IVA y Fuente) también están
incluidos en las opciones para configurar tus impuestos, esta
configuración es considerada para desplegar correctamente los impuestos
en la representación gráfica de la Factura. (PDF)
.. image:: colombia_ES/colombia_ES07.png
:align: center
Diarios
~~~~~~~
Una vez que la DIAN ha asignado la secuencia y prefijo oficiales para la
resolución de la Facturación Electrónica, los Diarios de Ventas
relacionados con tus documentos de facturación necesitan ser
actualizados en Odoo.
La secuencia es configurada usando el modo de desarrollador en la
siguiente ruta: :menuselection:`Contabilidad --> Configuración --> Diarios
--> Liga de Secuencia`
.. image:: colombia_ES/colombia_ES08.png
:align: center
Una vez que la secuencia es abierta, los campos de Prefijo y Siguiente
Número deben ser configurados y sincronizados con el CEN Financiero.
.. image:: colombia_ES/colombia_ES09.png
:align: center
Usuarios
~~~~~~~~
La plantilla por defecto que es usada por Odoo en la representación
gráfica incluye el nombre del Vendedor, así que estos campos deben ser
considerados:
.. image:: colombia_ES/colombia_ES10.png
:align: center
Uso y Pruebas
=============
Facturas
--------
Una vez que toda la información principal y las credenciales han sido
configuradas, es posible empezar a probar el flujo de la Facturación
Electrónica siguiendo las instrucciones que se detallan a continuación:
Invoice Creation
~~~~~~~~~~~~~~~~
El flujo de trabajo funcional que lleva lugar antes de la validación de
una factura continua siendo igual con Facturación Electrónica,
independientemente de si es creada desde una Orden de Venta o si es
creado manualmente.
Los cambios principales que son introducidos con la Facturación
Electrónica son los siguientes:
Hay tres tipos de documentos
- **Factura electrónica**. Este es el documento normal y aplica
para Facturas, Notas de Crédito y Notas de Débito.
- **Factura de Importación**. Debe ser seleccionada para
transacciones de importación.
- **Factura de Contingencia**. Esta es un caso excepcional y es
utilizada como un respaldo manual en caso que la compañía no
pueda usar el ERP y hay necesidad de crear la factura
manualmente. Al ingresar esta factura en el ERP, se debe
seleccionar este tipo.
.. image:: colombia_ES/colombia_ES11.png
Invoice Validation
~~~~~~~~~~~~~~~~~~
Después que la factura fue validada, un archivo XML es creado y enviado
automáticamente al proveedor de la factura electrónica. Este archivo es
desplegado en el historial.
.. image:: colombia_ES/colombia_ES12.png
:align: center
Un campo adicional es ahora desplegado en la pestaña de “Otra
Información” con el nombre del archivo XML. Adicionalmente hay un
segundo campo adicional que es desplegado con el estatus de la Factura
Electrónica, con el valor inicial **En Proceso**.
.. image:: colombia_ES/colombia_ES13.png
:align: center
Recepción del XML y PDF Legal
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| El proveedor de la Factura Electrónica recibe el archivo XML y procede
a validar la información y la estructura contenida. Si todo es
correcto, el estatus de la Factura cambia a “Validado”. Como parte de
este proceso se generar el XML Legal, el cual incluye una firma
digital y un código único (CUFE) y generan el PDF de la Factura (el
cual incluye un código QR) y el CUFE.
| Odoo envía una petición de actualización automáticamente para
verificar que el XML fue creado. Si este es el caso, las siguientes
acciones son hechas automáticamente:
- El XML Legal y el PDF son incluidos en un archivo ZIP y desplegados
en el historial de la Factura.
.. image:: colombia_ES/colombia_ES14.png
- El estatus de la Factura Electrónica es cambiado a “Aceptado”.
.. image:: colombia_ES/colombia_ES15.png
.. tip::
En caso que el PDF y el XML sean requeridos inmediatamente, es
posible mandar manualmente la petición del estatus usando el siguiente
botón:
.. image:: colombia_ES/colombia_ES16.png
:align: center
Errores Frecuentes
~~~~~~~~~~~~~~~~~~
Durante la validación del XML los errores más comunes usualmente están
relacionados con información principal faltante. En estos casos, los
detalles del error son recuperados en la petición de actualización y
desplegados en el historial.
.. image:: colombia_ES/colombia_ES17.png
:align: center
Si la información principal es corregida, es posible re procesar el XML
con la nueva información y mandar la versión actualizada usando el
siguiente botón:
.. image:: colombia_ES/colombia_ES18.png
:align: center
.. image:: colombia_ES/colombia_ES19.png
:align: center
Casos de Uso adicionales
------------------------
El proceso para las Notas de Crédito y Débito (Proveedores) es
exactamente el mismo que en las Facturas. Su flujo de trabajo funcional
se mantiene igual.
Consideraciones del Anexo 1.7
=============================
Contexto
--------
Contexto Normativo
~~~~~~~~~~~~~~~~~~
| Soporte Normativo:
| Resolución DIAN Número 000042 ( 5 de Mayo de 2020) Por la cual se desarrollan:
- Los sistemas de facturación,
- Los proveedores tecnológicos,
- El registro de la factura electrónica de venta como título valor,
- Se expide el anexo técnico de factura electrónica de venta y
- Se dictan otras disposiciones en materia de sistemas de facturación.
Anexo 1.7: Principales Cambios
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Cambios en la definición de Consumidor Final.
- Informar bienes cubiertos para los 3 dias sin IVA.
- Actualización de descripción de Impuestos.
- Se agrega concepto para IVA Excluido.
- Informar la fecha efectiva de entrega de los bienes.
- Adecuaciones en la representación Gráfica (PDF).
Calendario
~~~~~~~~~~
Se tiene varias fechas límites para la salida a producción bajo las condiciones del Anexo 1.7 las
cuales dependen de los siguientes factores:
#. Calendario de implementación de acuerdo con la actividad económica principal en el RUT:
.. image:: colombia_ES/colombia-es-calendario-rut.png
:align: center
#. Calendario de implementación, para otros sujetos obligados:
.. image:: colombia_ES/colombia-es-calendario-otros-obligados.png
:align: center
#. Calendario de implementación permanente:
.. image:: colombia_ES/colombia-es-calendario-permanente.png
:align: center
Requerimientos en Odoo
----------------------
Con la finalidad de facilitar el proceso de preparación de las bases de Odoo estándar V12 y v13,
únicamente será necesario que los administradores actualicen algunos módulos y creen los datos
maestros relacionados a los nuevos procesos.
Actualización de listado de Apps
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Utilizando el modo desarrollador, acceder al módulo de Aplicaciones y seleccionar el menú
*Actualizar Lista*.
.. image:: colombia_ES/colombia-es-actualizar-lista.png
:align: center
Actualización de Módulos
~~~~~~~~~~~~~~~~~~~~~~~~
Una vez actualizado Buscar *Colombia*, los siguientes módulos serán desplegados, se requieren
actualizar dos módulos.
#. Colombia - Contabilidad - l10n_co
#. Electronic invoicing for Colombia with Carvajal UBL 2.1 - l10n_co_edi_ubl_2_1
.. image:: colombia_ES/colombia-es-modulos.png
:align: center
En cada módulo o ícono hay que desplegar el menú opciones utilizando los 3 puntos de la esquina
superior derecha y seleccionamos *Actualizar*.
Primero lo hacemos con en el módulo l10n_co:
.. image:: colombia_ES/colombia-es-actualizar-contabilidad.png
:align: center
Posteriormente lo hacemos con el módulo l10n_co_edi_ubl_2_1:
.. image:: colombia_ES/colombia-es-actualizar-electronic-invoicing.png
:align: center
Creación de Datos Maestros
~~~~~~~~~~~~~~~~~~~~~~~~~~
Las bases de datos existentes a Junio 2020 tanto en V12 como V13, deberán crear algunos datos
maestros necesarios para operar correctamente con los cambios del Anexo 1.7.
Consumidor Final
****************
La figura del consumidor final será utilizada para aquellas ventas sobre las cuales no es posible
identificar toda la información fiscal y demográfica del cliente por lo que la factura se genera a
nombre de este registro genérico.
Es importante coordinar y definir los casos de uso en los que dependiendo de su empresa se tendrá
permitido utilizar este registro genérico.
Dentro de Odoo se tendrá que crear un contacto con las siguientes características, es importante que
se defina de esta manera debido a que son los parámetros definidos por la DIAN.
- **Tipo de contacto:** Individuo
- **Nombre:** Consumidor Final
- **Tipo de documento:** Cedula de Ciudadania
- **Numero de Identificacion:** 222222222222
.. image:: colombia_ES/colombia-es-consumidor-final-nuevo-contacto.png
:align: center
Dentro de la pestaña Ventas y Compras, en la sección Información Fiscal, del campo Obligaciones y
Responsabilidades colocaremos el valor: **R-99-PN**.
.. image:: colombia_ES/colombia-es-consumidor-final-r-99-pn.png
:align: center
IVA Excluido - Bienes Cubiertos
*******************************
Para reportar las transacciones realizadas mediante Bienes Cubiertos para los tres días sin IVA,
será necesario crear un nuevo Impuesto al cual se le debe de asociar un grupo de impuestos
específico que será utilizado por Odoo para agregar la sección requerida en el XML de factura
electrónica.
Para el crear el impuesto accederemos a Contabilidad dentro del menú :menuselection:`Configuración
--> Impuestos`:
.. image:: colombia_ES/colombia-es-menu-impuestos.png
:align: center
Procedemos a crear un nuevo Impuesto con importe 0% considerando los siguientes parámetros:
.. image:: colombia_ES/colombia-es-nuevo-impuesto.png
:align: center
El nombre del Impuesto puede ser definido a preferencia del usuario, sin embargo el campo clave es
**Grupo de Impuestos** dentro de Opciones avanzadas, el cual debe ser: *bienes cubiertos* y el campo
**Tipo de Valor**: *IVA*.
.. image:: colombia_ES/colombia-es-nuevo-impuesto-opciones-avanzadas.png
:align: center
Actualización de descripción de Departamentos
*********************************************
Es necesario actualizar la descripción de algunos departamentos, para lo cual accederemos a módulo
de Contactos y dentro del menú de :menuselection:`Configuración --> Provincias`.
.. image:: colombia_ES/colombia-es-menu-provincias.png
:align: center
Posteriormente, podemos agregar por País para identificar claramente las provincias (Departamentos)
de Colombia:
.. image:: colombia_ES/colombia-es-provincias-agrupar.png
:align: center
Una vez agrupados buscar los siguientes departamentos para actualizarlos con el valor indicado en la
columna **Nombre actualizado**:
+------------------------------+---------------------+--------------------------+
| Nombre de provincia | Código de Provincia | Nombre actualizado |
+==============================+=====================+==========================+
| D.C. | DC | Bogotá |
+------------------------------+---------------------+--------------------------+
| Quindio | QUI | Quindío |
+------------------------------+---------------------+--------------------------+
| Archipiélago de San Andrés, | SAP | San Andrés y Providencia |
| Providencia y Santa Catalina | | |
+------------------------------+---------------------+--------------------------+
Ejemplo:
.. image:: colombia_ES/colombia-es-provincias-ejemplo.png
:align: center
Verificación de Código postal
*****************************
Dentro del Anexo 1.7 se comienza a validar que el código postal de las direcciones para contactos
colombianos corresponda a las tablas oficiales definidas por la DIAN, por lo que se debe verificar
que este campo está debidamente diligenciado de acuerdo a los definidos en la sigueinte fuente:
`Codigos_Postales_Nacionales.csv
<http://visor.codigopostal.gov.co/472/visor/Codigos_Postales_Nacionales.csv>`_
Consideraciones Operativas
--------------------------
Consumidor Final
~~~~~~~~~~~~~~~~
Una vez que resgistro de Consumidor final ha sido creado este deberá ser utilizado a demanda,
generalmente será utilizado en las transacciones de facturación del punto de punto de venta.
- El proceso de validación de la Factura será realizado de forma convencional en Odoo y la factura
será generada de la misma manera. Al detectar que el número de identificación corresponde a
consumidor Final, el XML que se envía a Carvajal será generado con las consideraciones y secciones
correspondientes.
- Contablemente todos los registros de Consumidor final quedarán asociados al identificador generico:
.. image:: colombia_ES/colombia-es-consumidor-final-asociado.png
:align: center
IVA Excluido - Bienes Cubiertos
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
El 21 mayo del 2020 fue publicado el El Decreto 682 el cual establece Excepción especial en el
Impuesto sobre las ventas. El principal objetivo de este decreto es reactivar la economía en
Colombia por las bajas ventas generadas a causa del COVID.
Fechas
******
Días de excención del impuesto sobre las ventas IVA para bienes cubiertos (3 días SIN IVA).
- **Primer día**: 19 de junio de 2020
- **Segundo día**: 3 de Julio de 2020
- **Tercer día**: 19 de Julio de 2020
Condiciones
***********
Debido a que estas transacciones serán generadas de forma excepcional y que se tiene una combinación
de varios factores y condiciones, los productores debera ser actualizados de forma manual en Odoo
asignados temporalmente el impuesto de venta *IVA exento - Bienes cubierto* en cada empresa según
corresponda.
A continuación se mencionan algunas de las principales condiciones, sin embargo, cabe mencionar que
las empresas deben de verificar todos los detalles en el `Decreto 682
<https://dapre.presidencia.gov.co/normativa/normativa/DECRETO%20682%20DEL%2021%20DE%20MAYO%20DE%202020.pdf>`_.
- Tipo de productos y precio Máximo:
+-----------------------------+---------------------------------------+
| Tipo de Productos | Precio Máximo |
+=============================+=======================================+
| Electrodomesticos | 40 UVT: $1,4 millones. |
+-----------------------------+---------------------------------------+
| Vestuario y complementos | | 3 UVT: $106.000 |
| | | En el caso de los complementos es: |
| | | 10 UVT- $356.000 |
+-----------------------------+---------------------------------------+
| Elementos deportivos | 10 UVT- $356.000 |
+-----------------------------+---------------------------------------+
| Juguetes y Utiles Escolares | 5 UVT - $178.035 |
+-----------------------------+---------------------------------------+
| Utiles Escolares | 5 UVT - $178.035 |
+-----------------------------+---------------------------------------+
| Bienes o servicios para | 80 UVT - $2.848.560 |
| el sector agropecuario | |
+-----------------------------+---------------------------------------+
- Métodos de Pago:
- El pago debe realizarse por medios electrónico por ejemplo tarjetas de crédito/débito o bien mecanismos de pago online.
- Limite de unidades:
- Cada cliente puede adquirir únicamente 3 unidades como máximo de cada producto.
Medidas en Odoo
***************
- **Preparación de datos**
- Crear el Impuesto para Bienes cubiertos de acuerdo a lo indicado en este punto: Datos maestros.
- Identificar los productos y transacciones a los cuales les aplicará la Exclusión de IVA de
acuerdo a las condiciones establecidas en el decreto 682. En caso de ser un porcentaje
significativo de productos, se recomienda actualizar el impuesto de forma temporal en Odoo.
- Exportar un listado con los productos que serán afectados incluyendo el campo IVA Venta el cual
será sustituido temporalmente por el IVA de Bienes Cubiertos.
- Al finalizar las operaciones del día anterior a las fechas establecidas de día sin IVA, se debe
hacer la actualización temporal a IVA de Bienes Cubiertos.
.. image:: colombia_ES/columbia-es-producto-iva-bienes-cubiertos.png
:align: center
- **Durante el día SIN IVA**
- Por defecto los productos previamente considerados con IVA de Bienes cubiertos serán generados
con este parámetro tanto en Órdenes de venta como facturas creadas durante ese mismo día.
.. image:: colombia_ES/columbia-es-factura-iva-bienes-cubiertos.png
:align: center
- Las órdenes de venta generadas con este impuesto deberán ser facturas el mismo día.
- En caso de que alguna de las condiciones no sea cumplida (ejemplo el pago es realizado en
efectivo) el impuesto deberá ser actualizado manualmente al momento de facturar.
- **Posterior al día SIN IVA**
- Los productos que fueron actualizados deberá ser reconfigurados a su IVA original.
- En caso de que se detecte alguna Orden de venta facturar en la cual se incluya IVA de Bienes
Cubiertos, se deberá realizar actualización manual correspondiente al IVA convencional.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 43 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 59 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 71 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 112 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 60 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 52 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 54 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 47 KiB

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