Created on 2017-03-29.11:10:27 by ced, last changed 45 months ago by ced.
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.
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.
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.
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
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  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.  https://www.service-public.fr/professionnels-entreprises/vosdroits/R14660
@rhertzog could you provide explanation on this comment?
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  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.  http://hg.tryton.org/modules/account_fr/file/001bfbcb890f/tax_fr.xml#l2080
Indeed the 207* code was added by issue4570 for auto-declaration. So I do not know who is right.
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".
|2017-10-01 01:41:01||ced||set||status: chatting -> invalid|
|2017-09-30 23:38:03||risto3||set||status: invalid -> chatting|
nosy: + risto3
messages: + msg35976
|2017-04-12 15:38:06||ced||set||status: testing -> invalid|
messages: + msg33214
|2017-03-30 10:39:30||ced||set||messages: + msg32917|
|2017-03-30 09:58:07||rhertzog||set||messages: + msg32910|
|2017-03-29 19:41:41||reviewbot||set||messages: + msg32896|
|2017-03-29 19:07:46||ced||set||status: in-progress -> testing|
|2017-03-29 19:06:48||ced||set||status: chatting -> in-progress|
messages: + msg32895
title: Intracommunautary missing code 44 -> Clean tax report
messages: + msg32889
|2017-03-29 15:28:51||ced||set||title: Intracommunautary base wrongly stored in 207b code -> Intracommunautary missing code 44|
|2017-03-29 15:24:48||ced||set||status: testing -> chatting|
reviews: 30221002 -> (no value)
messages: + msg32887
priority: bug -> feature
messages: + msg32886
|2017-03-29 11:31:12||ced||set||messages: + msg32885|
|2017-03-29 11:11:33||ced||set||status: in-progress -> testing|
keyword: + review