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?


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:

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.