Tryton - Issues

 

Issue6404

Title Clean tax report
Priority feature Status invalid
Superseder Nosy List ced, reviewbot, rhertzog, risto3
Type behavior Components account_fr
Assigned To ced Keywords review
Reviews 32211002
View: 32211002

Created on 2017-03-29.11:10:27 by ced, last changed by ced.

Messages
msg35976 (view) Author: [hidden] (risto3) Date: 2017-09-30.23:38:03
I'm sort of lost on parts of this discussion.

Part A (tax bases only) categorises the tax bases in Part B (where the tax code will finally indicate the tax due by tax rate).

The total of the exVAT bases in Part A is equal to the sum of the exVAT base by tax rate in Part B.

It is quite inexact to simplify saying, for example, that line 01 (code 0979) in Part A is equal to the sum of any lines in Part B.

In fact, the operations in Part B need to simply specify their Part B tax code base and tax code, as well as the Part A categorie such as sales revenue (0979), other imposable operations (0981) et cetera.

Take an example of a subcontractor with 'autoliquidation' for 10K€ @20%VAT:

Part A
Line 02: 10.000

Part B     base : due tax
Line 08: 10.000 : 2.000

deductible TVA
Line 20:  2.000

This was seemingly easy to configure in the taxes by adding a tax 'TVA Achat de services Taux Normal (autoliquidation)' with a child 'TVA Achat de services Taux 20% (autoliquidation)'
which has itself two children:
'TVA Achat de services Taux 20% (1)' having
base code: 0981
 tax code: 0702
'TVA Achat de services Taux 20% (2)' having
base code: 0207
 tax code: 0207  tax sign inverted

but doing this, I realised there is not only the lack of cash-basis support where I found a discussion topic to elaborate further, but also thorny issues on the credit note side.

Unfortunately, as I mentioned there, there are complications not very easily dealt with so I tend to side with Cédric that tax reporting is not providing satisfactory results and, further, I believe it should be able to disactivate it, at least for now, on a company basis.. 
Thus leaving only the accounting moves for manual processing.
msg33214 (view) Author: [hidden] (ced) (Tryton committer) (Tryton translator) Date: 2017-04-12.15:38:06
I invalidate this issue because it does not provide a better result.
Indeed issue6013 is the way to go to improve the situation of tax report.
msg32917 (view) Author: [hidden] (ced) (Tryton committer) (Tryton translator) Date: 2017-03-30.10:39:30
It will not be possible to get the right number with our current tax code design. Indeed we should probably implement issue6013.
For now, I think it is still good to keep the 0979b code as in my patch but I just put in the name that it includes the "auto-liquidation" amount. So at least it ease the manual computation.
msg32910 (view) Author: [hidden] (rhertzog) (Tryton committer) Date: 2017-03-30.09:58:07
It looks like you answered your own questions.

Concerning the unused tax codes, yes you can remove them. We did not do that for fear of breaking custom user tax setups... Trying to sum up for this:

We need tax_code_0044b but not tax_code_0044.
We need tax_code_0040b but not tax_code_0040.
We need tax_code_0981b (we don't use it currently but it could be used in theory) but not tax_code_0981.

We don't need any tax code for 0970 or 0980 since they do not appear on the VAT report. In fact it looks like that they have been merged in 0981 according to the usage notice of the form.

The totals 0979 and 0981 are not so simple to calculate. At least your suggested definitions are wrong:
- for 0981: it's not clear that everything listed in 0950 should be part of 0981. In my accounting I only need it for the "droits d'auteurs" but I have not studied all the other special cases that can appear on the supplementary form 3310-A.
- for 0979: 0207 includes EU reverse charge taxes on purchases ("auto-liquidation", cf tva_achat_intracommunautaire_biens_20_2) that should not be part of the turnover recorded in 0979 (same applies for each rate-specific tax code). So you actually need to remove the amount that we recorded in 0031 and 0044 to get the desired value. When we do our VAT report, we use this formula: 0979 = 207b + 105b + 151b + 201b + 100b - 44 - 31
review32211002 updated at https://codereview.tryton.org/32211002/#ps1
msg32895 (view) Author: [hidden] (ced) (Tryton committer) (Tryton translator) Date: 2017-03-29.19:06:47
Indeed there is no 0044 code for tax in the official tax report. But also no 0040, 0970, 0980 nor 0981.
I think it is better to remove them because they are confusing.
Also the official report [1] has 0979 which sum all the code 0100-0900, I think it is good to create such code. Also the 0981 should contain 0950, 0970 and 0980.
Finally, there is an other total for taxes for the code 0100-0950 which is also good to add.

[1] https://www.service-public.fr/professionnels-entreprises/vosdroits/R14660
msg32889 (view) Author: [hidden] (ced) (Tryton committer) (Tryton translator) Date: 2017-03-29.15:44:21
@rhertzog could you provide explanation on this comment?
msg32887 (view) Author: [hidden] (ced) (Tryton committer) (Tryton translator) Date: 2017-03-29.15:24:48
Indeed it seems to be right to fill 207* code also.
But now the strange thing is that the code 44 is not filled with the tax amount for intracommunautary service. There is a comment [1] in the XML file but I do not really understand it. Does it mean that it is not required to fill the code 44 ? But even if it is not required, why not do it as it cost nothing.

[1] http://hg.tryton.org/modules/account_fr/file/001bfbcb890f/tax_fr.xml#l2080
review30221002 updated at https://codereview.tryton.org/30221002/#ps1
msg32885 (view) Author: [hidden] (ced) (Tryton committer) (Tryton translator) Date: 2017-03-29.11:31:12
Indeed the 207* code was added by issue4570 for auto-declaration.
So I do not know who is right.
msg32884 (view) Author: [hidden] (ced) (Tryton committer) (Tryton translator) Date: 2017-03-29.11:10:27
For both service and goods, the tax base is put in 44/31 and also in 207b.
It seems that the 207b is wrong because it duplicate the base in the sum of "Opérations impossables base".
History
Date User Action Args
2017-10-01 01:41:01cedsetstatus: chatting -> invalid
2017-09-30 23:38:03risto3setstatus: invalid -> chatting
nosy: + risto3
messages: + msg35976
2017-04-12 15:38:06cedsetstatus: testing -> invalid
messages: + msg33214
2017-03-30 10:39:30cedsetmessages: + msg32917
2017-03-30 09:58:07rhertzogsetmessages: + msg32910
2017-03-29 19:41:41reviewbotsetmessages: + msg32896
2017-03-29 19:07:46cedsetstatus: in-progress -> testing
reviews: 32211002
2017-03-29 19:06:48cedsetstatus: chatting -> in-progress
messages: + msg32895
title: Intracommunautary missing code 44 -> Clean tax report
2017-03-29 15:44:21cedsetnosy: + rhertzog
messages: + msg32889
2017-03-29 15:28:51cedsettitle: Intracommunautary base wrongly stored in 207b code -> Intracommunautary missing code 44
2017-03-29 15:24:48cedsetstatus: testing -> chatting
reviews: 30221002 -> (no value)
messages: + msg32887
priority: bug -> feature
2017-03-29 11:36:00reviewbotsetnosy: + reviewbot
messages: + msg32886
2017-03-29 11:31:12cedsetmessages: + msg32885
2017-03-29 11:11:33cedsetstatus: in-progress -> testing
reviews: 30221002
keyword: + review
2017-03-29 11:10:27cedcreate