Intrastat reporting

The intrastat report is mandatory for companies moving goods between European Comunity states over a threshold specific to each country.

This report should include the information of sales and purchases that enter or leave the company country. The information should be based on the movement of goods but not on the invoices. We should include only moves from EU comunity members, so we need some way to determine if a country is EU member. Do you think this is something especific to the module or something that should be added to the country module?

The goods are identified by using the CN8 classification. Not sure if this is the same as implemented on our customs module or a diferent classification.

In Spain we should at least the following data:

  • Product Code
  • From/To Country
  • From/To sudvision
  • Transaction type (can be determined from the shipment)
  • Transport Mode: Air, Sea, train, etc.
  • Delivery condition (Incoterm)
  • Producs Weight
  • Goods Amount

Each company should generate two reports for month: One for Imports and another for Exports.

Our tax authorities accepts a file format so you can upload all the records of the declaration using the file. Our objective is to generate this file from Tryton (like we do for other tax reports). So I think this feature should be implemented in the following way:

  • A generic intrastat module that computes the common values for all intrastat declarations. This module should create a table_query to easly compute the values for the reports.
  • On the account_es module we will include our custom fields and the report format to be able to export the files.

As this is common for europen countries I’m wondering if it makes sense to include it as part of account_eu (with extra dependency on stock) or have a dedicated module for intrastat.

Does anyone have some sources of the fields required on other european countries so we can have a common fieldset to be used?

Toughts?

1 Like

In France and Italy, they include the services and so it replace the EC Sale list.

As they are other supra-national group of countries like Mercosur, African Union etc.
I think we could have a module country_??? which permit to define group of countries. I think they should be based on date period.

For me it is the same code. The main difficulty is that the tariff code may depend on the country. I guess that inside the EU, the same code is always used. So I guess we will need to be able to match tariff code based on the EU group.

Not sure that the subdivision type to use is the same as the one enforced on the address.
For example in Belgium the intrastat must use the region as subdivision but on postal address we use a lower level. So we will need to search the proper type on the parents.

I’m wondering if the codes are the same for all countries.

Those seem to be linked to the extended report. This seems to be linked to the amount per year. So I think we will need two reports.

There is also a format for Belgium: Declarations | nbb.be

I think the weight and tariff code should be stored on the move when it is done.

I think it is better to have a dedicated module, probably: account_stock_eu. Because not all companies need this if they do not sale goods or have an too small amount.
And idem for specific countries like account_stock_es, account_stock_be etc.

1 Like

I’ve see that python-stdnum now maintains a list of EU members. Maybe we can use to populate such list in import country scripts.

I do not think it is usable because it is missing the periods.
As it is mainly to record the past, I do not see it as a problem to store them data in the module.

A new discussion was created to implement such module: Country grouping - #3 by maxx

For me this is the subdivision where the warehouse is. But it is not clear what code should be used. In Belgium they define 1, 2, 3 (for Vlaams, Wallonia and Brussels) which are not the ISO code of those regions.
Has anyone more information?

In Spain is the same “the subdivision where the warehouse is” and has to use the locals code of the subdivision too (not ISO codes), that in our case is a code of our provinces composed by 2 digits [1]. In our case are the first 2 digits of ours postal codes.

The list presented at the beginning is missing some fields. The Incoterm code and the area in m2, since in some cases of codes (aranzel codes) it is mandatory to indicate the area in m2.

In Spain you can present the Intrastat in 2 formats:

  • EDIFACT: it’s a standard and will be the best way for all.
  • CSV: special for Spain, I imagine. but allow more register per file.

For me it is not really a standard but only used in Spain: https://sede.agenciatributaria.gob.es/static_files/Sede/Procedimiento_ayuda/DP01/intras03.pdf
They just got a standard document code.
More over it is even not using the XML version of EDIFACT which is a pain to write.

We already have a field to store such field for the parties

The CSV link points to a list of province codes. Could you please fix it?

It will have to be removed for a more generic usage.
Is it actually the same code as for Intrastat? Does it really need to be searchable?

I’m thinking about adding a “local code” to subdivision.

Make sense but it should be a multivalue as in the case of multiple companies (one in belgium other in Spain) the value should be different depending on the company generating the report.

No because we need only code for the country of the company and the code is the same for any company in the same country.

Sorry for no answer before.

Oh, as I see they use the standard, I thought that it will be the same for all countries. In this case, I agree that it’s a pain. And, for Spain, it will better use the CSV that allow more registers.

Will be a good solution. As you say, the value must be the same regardless of the company, because it depends on the party.

Sorry, I couldn’t edit the post.

I have another question about the VAT number in the report. Of course it is needed only when it is linked to a business and not individual. But in the Belgium documentation, it is always filled with QV999999999999. This is also for the case where you do not know the VAT number at the time you received the goods. Is it also the case for other countries?

Here is Issue 11837: Add Intrastat declaration - Tryton issue tracker

In Spain is something similar. We have 2 special prefix codes (QR and QV) but only used in special cases:

QR: Provisioning and fuel in the context of intra-Union trade. (Code for the supply to ships and aircraft)
QV: Countries and territories not specified in the context of trade within the Union. (there are a list of the countries that don’t need the QV)

I do not understand what it means.

It’s means that de QV is only added to the VAT number in case that the country is not listed in a list. And it’s only added the QV, not the country code. The list, that we have in Spain, is titled as “Nomenclature of countries and territories for European statistics on the international trade of goods”, and says that it’s a list approved by the EU.

The QR is only used when the movement is a supply of provisioning or fuel in the Union. When is supplied to ships and planes.

The list that we have is extracted from here in Annex I.

I don’t know if that explain better ¿?

It does not make sense to me. VAT number is only for companies inside the EU.

I do not understand what this means. Used for what? and how?