Sale to foreign country: how to assign the correct account

Good morning, dear fellow friends,

when doing a sale from Germany to a foreign country, AFAIK I do not have to apply VAT. For that reason, we have tax rules in Tryton, of that are working nicely for me.

But as well, turnover to foreign countries needs to be posted to special accounts (different for EU- and non-EU-countries). Neither in tax rules, nor in countries nor in parties I can find settings to tell Tryton which are these accounts. How can I ?

NB: It is important, as in DE we need to report the complete turnover to tax authorities - when this report contains tax-free turnover, I’d pay too much. ):

Thanks a lot in advance, Wolf

VAT is not related to sale, it depends on shipment location for goods.
Correct process is to apply VAT, then to counterpass it to another account if you provide the VAT number linked to the destination location.
This operation is registered twice, So it looks like VAT 0, but it is not. This is linked to the tax, if IIRC. Maybe a lack in German localisation ?

Thank you, Dominique. Not sure, but I guess you’re talking about tax reporting? In case, that’s not of my scope here.

My question is how I can make Tryton to select another acconut for posting sales to foreign countries, as it’s necessary with German accounting tables.

Not about reporting but about accounting posts to the right accounts in EU to EU and EU to outside.

This is something that is normally not required. It is a legacy from manual tax reporting.

Not sure if I understood correctly - but if so:
It definitely is required in DE.

I have to report my balance sheet to the tax office, so it also receives the total of the invoiced amounts. I also have to enter the total of the invoiced amounts at the VAT return (end-of-year VAT declaration), the tax office does not accept the total of the VAT received.

German charts of accounts therefore have separate accounts for the total of invoiced amounts

  • in Germany
  • in the EU
  • in non-EU third countries

I strongly suspect that the tax office will check whether the turnover in the balance sheet and in the VAT return do match. Therefore, it will not be sufficient to simply state the lower amount (domestic turnover minus foreign turnover) in the VAT return.

In 2022, I fell into this trap and paid too much VAT; for 2023, I realised it at the last moment and saved a few hundred euros. So I think this is a serious question.

All the information are available in the tax report so no need to duplicate it with accounts.

This is not the point.
Tryton simply creates a wrong balance sheet.

According only to you.
Tryton’s balances are corrects.

In such case you should fill an issue explaining which are the wrong amounts and the steps to reproduce them.
Otherwise it won’t be possible to find a solution for the problem.

Well, we’ve discussed it again internally. In principle, Tryton is doing everything right. But there is a conflict with German customs.

DATEV is a huge co-operative of tax consultants that is regarded godlike in tax matters in Germany; you don’t make any friends here if you deviate from DATEV’s practices. In the standard cost framework issued by DATEV, there are standard income accounts that everyone uses reflexively. For example, ‘4400 - Income at 19% VAT’, but also ‘4125 - Tax-free export to the EU’ and ‘4120 - Tax-free export to third countries’.

Everyone will set up ‘4400’ as their default income account - I have done the same. And he will enter the balance of this account in the VAT return - I did the same. If he makes foreign sales, these will also be posted to ‘4400 - Income at 19% VAT’ - and that is wrong.

A simple solution - which is not a legal problem - would be to create a separate standard revenue account ‘xxxx - Revenue at all VAT rates’ and set this up as the standard revenue account. VAT reporting is then carried out using the VAT codes, as is customary internationally. However, this method has two disadvantages:

  • it does not correspond to the customs, anyone familiar with German customs will somehow stumble over it, be surprised and probably make mistakes when posting, and
  • it is not possible to carry out a validation (“Verprobung”) - i.e. to compare the amounts on the various income and VAT accounts with the amounts on the tax lines.

Therefore, from a German perspective, there is much to be said in favour of finding a DATEV-compliant solution. However, this is probably more a task for the German community and less one for the Tryton core.

1 Like

I can confirm that. In Germany every “player” expects the behavior, that a tax has its own account (as is in tryton) but also, that the base of that tax can be separately accounted on a specific tax-related revenue account.

It is true as @ced writes that this is duplicate information, but unfortunately it is expected behavior in Germany. The moment you talk to you tax-advisor its gonna get complicated otherwise.

The issue could be solved i.e. by adding a revenue and expense account for each specific tax (or -inherit with-flag) that overwrites the articles “Account Revenue” and “Account Expense” if not empty. Default could be current behavior.

Regards Jakob

For me this is far from being a good solution because it precisely duplicate information which then could no more match.

Instead a proper solution would be to implement virtual/auxiliary sub-account that compute the balance of an account per tax based on the tax lines.
This would have the benefit to avoid data duplication but also to provide a way to check correct usage of accounts and taxes.

You are right, that’s a far better idea regarding normalization. On the other hand, that would introduce a new concept, but I didn’t dive that deep into the implementation to really make a judgement.
Unfortunately, since I did a bit more research today, it seems, that there are more specific problems for German accounting with Tryton
 :(. In Germany for sales between 2 EU countries different Taxes have to be applied, depending on the type of product (service/good). It’s kind of an addon to the normal Reverse Charge concept valid for EU. The issues are linked, but I will open a new ticket and link it here.

I already made such comment on Add taxes for services received to german account chart (#9521) · Issues · Tryton / Tryton · GitLab
Germany (like any country) is not different than the other countries despite what people always think.

Thank you for your instant answer, as far as I understand tax rules/groups are the solution. I don’t get it :frowning:

What I need is I have a customer/supplier in another EU-Country, I can apply a Tax Rule to that customer. So far I understand. But now I have to apply different taxes whether I am selling goods or selling services, and there can even one more distinction
 .
I only see that I can apply taxes to an article and overwrite that depending on the customer, but I don’t get how to overwrite this depending on a good ore service, without duplicating products.
Two different cases in Germany due to legally required statistic reporting!! (still bloody expensive if skipped) not EU-Tax requirements.
How can I achieve that? From reading the docs a the GUI I didn’t understand.

I’d be really happy if I am just missing stuff.

Regards Jakob

That’s why in my comment I said that there should be two groups of taxes for goods and for services.

A product is either a goods or a service.

It is the German chart of account that is missing stuff.

ok, please help me: In a Tax group I see:
Name
Code
Kind

How do I distinguish between Good and Service?
(maybe I am blind, thanks for your patience)
And how do I get the tax rule to evaluate that ?

By just creating a group for goods and a group for service.

The tax rule will be based on the groups.

ok, I just wand to make sure I understand correctly:
I want to purchase and sell service and products with different taxes in Germany and outbound.
So I need:
Taxgroup Service (sale)
Taxgroup Service (purchase)
Taxgroup Good (sales)
Taxgroup Godes (purchase).

Let’s have one as example: Taxtgroup Service (sale). It has the following members:
VAT (in German)
VAT_0 Tax with appropriate legal notice

I create a product of type service with the standard tax VAT as tax and have a customer, where I apply a tax rule Taxgroup Service (sale) and replace the VAT with VAT_0.

So I do the same for products of type goods. For sale I end up with 4 taxes, 2x VAT and 2x VAT_0.

For selling in Germany, I do not have to separate goods and services, so I fix this by creating 3x Taxcodes, where I have one standard VAT that adds the 2x VATs and one code for each VAT_0.

Is that the correct approach? From my tests it seems to be working, but I want to make sure I understand that correctly?

One more comment, I replicate this procedure for reduced taxes (7%) ?

Thanks for the help, Jakob