Skip to content

Commit 928d3e4

Browse files
tiku-odoosamueljlieber
authored andcommitted
[REM] Accounting: Scrub Taxcloud
closes #5976 Signed-off-by: Zachary Straub (zst) <[email protected]>
1 parent 33de4dc commit 928d3e4

File tree

12 files changed

+4
-152
lines changed

12 files changed

+4
-152
lines changed

content/applications/finance/accounting/taxes.rst

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -296,7 +296,6 @@ directly to a product line.
296296

297297
- :doc:`taxes/fiscal_positions`
298298
- :doc:`taxes/B2B_B2C`
299-
- :doc:`taxes/taxcloud`
300299
- :doc:`reporting/tax_returns`
301300

302301
.. toctree::

content/applications/finance/accounting/taxes/fiscal_positions.rst

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -115,5 +115,4 @@ To define which fiscal position must be used by default for a specific partner,
115115
.. seealso::
116116

117117
* :doc:`../taxes`
118-
* :doc:`taxcloud`
119118
* :doc:`B2B_B2C`

content/applications/finance/accounting/taxes/taxcloud.rst

Lines changed: 4 additions & 144 deletions
Original file line numberDiff line numberDiff line change
@@ -2,150 +2,10 @@
22
TaxCloud integration
33
====================
44

5-
TaxCloud calculates the sales tax rate in real time for every state, city, and special jurisdiction
6-
in the United States. It keeps track of which products are exempt from sales tax and in which states
7-
each exemption applies.
8-
9-
TaxCloud registration
10-
=====================
11-
12-
Register an account on `TaxCloud.com <https://taxcloud.com/register>`_ and complete the setup.
13-
Once you go live, get the :guilabel:`TaxCloud API Keys` by clicking on :guilabel:`Stores`, then
14-
:guilabel:`Get Details`.
15-
16-
.. image:: taxcloud/taxcloud-api-keys.png
17-
:align: center
18-
:alt: Example of a store's TaxCloud API Keys
19-
20-
Enable TaxCloud
21-
===============
22-
23-
#. Go to :menuselection:`Accounting Dashboard --> Configuration --> Settings` and in the
24-
:guilabel:`Taxes` section enable :guilabel:`TaxCloud`.
25-
#. Add the store's :guilabel:`Login ID` under :guilabel:`API ID` and the store's :guilabel:`Key`
26-
under :guilabel:`API KEY`. Click on :guilabel:`Save`.
27-
#. Click the :guilabel:`Refresh` button (:guilabel:`🗘`) next to :guilabel:`Default Category` to
28-
import the TIC :dfn:`Taxability Information Codes` product categories from TaxCloud. Some
29-
categories may imply specific tax rates or exemptions.
30-
#. Select a :guilabel:`Default Category` and :guilabel:`Save`. The :guilabel:`Default Category` is
31-
applied when no :guilabel:`TaxCloud Category` is set on your products or product categories,
32-
or when no product is found on an order/invoice.
33-
34-
.. image:: taxcloud/taxcloud-settings.png
35-
:align: center
36-
:alt: Filling in TaxCloud API Keys in Odoo
37-
38-
Set TaxCloud categories on products
39-
===================================
40-
41-
If you need to use more than one TIC category (i.e., the :guilabel:`Default Category`), go to the
42-
product's :guilabel:`General Information` tab and select a :guilabel:`TaxCloud Category`.
43-
44-
If you want to configure multiple products simultaneously, ensure they share the same
45-
:guilabel:`Product Category` and click on the external link button (:guilabel:`🡕`) to set a
46-
:guilabel:`TaxCloud Category` on the :guilabel:`Product Category` instead.
47-
48-
.. note::
49-
If you set a :guilabel:`TaxCloud Category` on a product and another on its :guilabel:`Product
50-
Category`, Odoo only considers the :guilabel:`TaxCloud Category` found on the product itself.
51-
52-
A :guilabel:`TaxCloud Category` set on a **parent product category** does not apply to its
53-
**child product categories**. For example, if you set :guilabel:`TaxCloud Category` on the *All*
54-
:guilabel:`Product Category`, it is not applied to the *All/Sales* :guilabel:`Product Category`.
55-
56-
.. important::
57-
Make sure your company address is complete, including the state and the ZIP code. Go to
58-
:menuselection:`Settings --> Companies: Update Info` to open and edit your company address.
59-
60-
Automatically post taxes in the correct tax payable account
61-
===========================================================
62-
63-
To make sure the new taxes generated by the TaxCloud integration are created with the correct
64-
**Tax Payable** account, create a **user-defined default**. This process should be repeated for each
65-
one of your companies that uses TaxCloud.
66-
675
.. warning::
68-
A user-defined default impacts all records at creation. It means that **every** new tax is
69-
set up to record income in the specified Tax Payable account unless the tax is manually edited to
70-
specify a different income account (or if another user-defined default takes precedence).
71-
72-
To do so, go to :menuselection:`Accounting Dashboard --> Configuration --> Accounting: Chart of
73-
Accounts`, find the company's :guilabel:`Tax Payable` account, and click on :guilabel:`Setup`. Take
74-
note of the number after `id=` in the URL string; it is the **Tax Payable account ID** and will
75-
be used later.
76-
77-
.. image:: taxcloud/tax-payable-id.png
78-
:align: center
79-
:alt: Example of Tax Payable account id in the URL string
80-
81-
Activate the :ref:`developer mode <developer-mode>`, then go to :menuselection:`Settings -->
82-
Technical --> Actions: User-defined Defaults` and click on :guilabel:`Create`.
83-
84-
Click on :guilabel:`Field` drop-down menu and then on :guilabel:`Search More...`.
85-
86-
.. image:: taxcloud/user-defaults-search-more.png
87-
:alt: User-defined Defaults Field search
88-
:align: center
89-
90-
Use the search bar to filter for the :guilabel:`Tax Repartition Line` model, and use it a second
91-
time to filter for the :guilabel:`Account` field. Select the line with :guilabel:`Tax Repartition
92-
Line` under the :guilabel:`Model` column.
93-
94-
.. image:: taxcloud/user-defaults-search-filters.png
95-
:alt: Searching for the Tax Repartition Line model and Account field
96-
:align: center
97-
98-
Once you are back to the :guilabel:`User-defined Defaults` creation, enter the **Tax Payable account
99-
ID** you took note of earlier under the :guilabel:`Default Value (JSON format)` field.
100-
101-
Select the company for which this configuration should apply under the :guilabel:`Company` field and
102-
click :guilabel:`Save`.
103-
104-
.. image:: taxcloud/user-defaults-complete-configuration.png
105-
:align: center
106-
:alt: Example of a User-defined Defaults configuration
107-
108-
Automatically detect the fiscal position
109-
========================================
110-
111-
Sales taxes are calculated in Odoo based on :doc:`fiscal positions <fiscal_positions>`. A fiscal
112-
position for the United States is created when enabling TaxCloud.
113-
114-
You can configure Odoo to automatically detect to which customers the fiscal position should be
115-
applied. To do so, go to :menuselection:`Accounting Dashboard --> Configuration --> Accounting:
116-
Fiscal Positions` and select :guilabel:`Automatic Tax Mapping (TaxCloud)`. Enable :guilabel:`Detect
117-
Automatically` and then :guilabel:`Save`.
118-
119-
.. image:: taxcloud/fiscal-position-detect.png
120-
:align: center
121-
:alt: Detect Automatically setting on the TaxCloud fiscal position
122-
123-
Now, this fiscal position is automatically set on any order or invoice if the customer country is
124-
*United States*. This triggers the automated tax computation.
125-
126-
.. note::
127-
To get the sales taxes on a sales order, confirm it or click the :guilabel:`Update Taxes` button
128-
next to :guilabel:`Add Shipping`.
129-
130-
Interaction with coupons and promotions
131-
=======================================
132-
133-
If you use the **Coupon** or **Promotion Programs**, the integration with TaxCloud might behave
134-
unexpectedly. Indeed, as TaxCloud does not accept lines with negative amounts as part of the tax
135-
computation, the amount of the lines added by the promotion program must be deduced from the total
136-
of the lines it impacts.
137-
138-
.. important::
139-
This means, amongst other complications, that orders using coupons or promotions with a TaxCloud
140-
fiscal position **must** be invoiced completely - you cannot create invoices for partial
141-
deliveries, etc.
142-
143-
Another unexpected behavior is possible. For example, you sell a product for which you have a
144-
promotion program that provides a 50% discount. If the product's tax rate is 7%, the tax rate
145-
computed from the TaxCloud integration displays 3.5%. This happens because the discount is included
146-
in the price sent to TaxCloud. However, in Odoo, the discount is on another line entirely. Still,
147-
the tax computation is correct. Indeed, a 3.5% tax on the full price is the equivalent of a 7% tax
148-
on half the price, but this might be unexpected from a user point of view.
6+
The Odoo TaxCloud integration has begun its decommissioning, starting in Odoo 17. New
7+
installations are prohibited in Odoo 17, and in Odoo 18, the TaxCloud module(s) won't exist at
8+
all. Odoo recommends the use of the Avatax platform.
1499

15010
.. seealso::
151-
:doc:`fiscal_positions`
11+
:doc:`avatax`
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.

0 commit comments

Comments
 (0)