|
2 | 2 | TaxCloud integration |
3 | 3 | ==================== |
4 | 4 |
|
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 | | - |
67 | 5 | .. 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. |
149 | 9 |
|
150 | 10 | .. seealso:: |
151 | | - :doc:`fiscal_positions` |
| 11 | + :doc:`avatax` |
0 commit comments