Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
91 commits
Select commit Hold shift + click to select a range
66248bc
Initial commit of the entirely new code for report_intrastat for France.
Mar 27, 2011
c44d4d0
Better performances : we now use multi= to compute numbers of lines a…
Mar 27, 2011
9fe189d
Add currency in view via a fields.related on report_intrastat_service…
Mar 27, 2011
c57d7fd
View style update
Mar 27, 2011
da6cc20
Started work on l10n_fr_intrastat_product
Mar 31, 2011
29db02d
First alpha version of the new module "l10n_fr_intrastat_product". Fi…
Apr 1, 2011
05e046a
More work on full DEB+DES implementation. Added full support for "tra…
Apr 3, 2011
eb28e36
Converted some fields on report_intrastat_product/service to many2one…
Apr 4, 2011
f3e1ea3
Complete change of design for intrastat_type ! Now that report_intras…
Apr 4, 2011
08ca289
Renamed some fields Now manages the specifications of the different p…
Apr 5, 2011
4364d2a
"Date done" converted to date + time. Re-order fields in intrastat_se…
Apr 6, 2011
6b03c8a
Removed from prints (not all yet)
Apr 7, 2011
8452a0d
Removed unused code in SQL query (this "id" field was required when i…
Apr 9, 2011
9925f76
Full re-design of intrastat types : probably requires deleting the re…
Apr 18, 2011
59ff08c
Moved some demo data from l10n_fr_intrastat_product to intrastat_base…
Apr 26, 2011
6bee964
Moved the field exclude_from_intrastat_if_present of account.tax from…
May 9, 2011
082b0f2
Update of some strings before translation. Started translation work.
Jun 10, 2011
05964be
Translation and strings update. Add demo data.
Aug 16, 2011
410b1ff
Port to OpenERP v6 Add seach views for Intrastat product and Intrasta…
Aug 16, 2011
0b49935
l10n_fr_intrastat_service : Moved the raise if the Partner VAT number…
Sep 5, 2011
13577a1
Update translations.
Sep 9, 2011
0be2849
Updated licence pointer.
Jan 30, 2012
c3f28d7
Add option "is_accessory_cost" on product.template : If the invoice h…
Jun 5, 2012
0e6550f
Update FR translation.
Jun 5, 2012
6ae131b
Code clean-up : - context is not passed in constraints - don't use la…
Nov 27, 2012
4d44adc
IMPORTANT CHANGE : - All EU countries should now be intrastat=True, i…
Apr 23, 2013
636cc4a
Initial port to v7.0. Not tested a lot for the moment.
Apr 24, 2013
a7f3d4d
Introduce a big hack to make the fields added on stock.picking work R…
May 1, 2013
a437692
Adapt views to new v7.0 style. Replace "note" field by the mail.threa…
May 7, 2013
62c5055
Handle the case where we have in an invoice : - some HW products with…
May 14, 2013
f320bdb
Use the GREAT feature widget="monetary"
May 17, 2013
9106c40
Should now be compatible with both OCB and RS-OCB Add field import_ob…
Jun 3, 2013
209baab
Add an e-mail reminder for l10n_fr_intrastat_product and l10n_fr_intr…
Aug 26, 2013
a1559ea
Fix to make the module truly usable when user is not part of the grou…
Oct 23, 2013
638d3dc
Add ir.rule for multi-company. Better "OpenERP v7 style/ergonomy" for…
Feb 1, 2014
bb3c262
Only send reminder for French companies.
Mar 8, 2014
8d8c666
Use l10n_fr_* : use the method _company_default_get() intrastat_base …
Apr 14, 2014
b928543
Add context in on_change (to be able to use web_context_tunnel) XSD f…
Apr 14, 2014
7fd3059
l10n_fr_intrastat_service : update POT file and FR translation. l10n_…
Apr 14, 2014
449beeb
Continue the work on port to v8.0
Jul 3, 2014
ad7f240
Add intrastat_type_data and update demo data accordingly Remove versi…
Jul 3, 2014
34afa06
When the obligation level for import is none, the type of the DEB is …
Oct 30, 2014
dc114f3
Add module intrastat_product. Rename report.intrastat.product to l10n…
Nov 28, 2014
7704340
Forgot rename of model in service reminder file
Dec 26, 2014
1b921b5
intrastat_base + l10n_fr_intrastat_service : port to new API
Dec 26, 2014
7e593e8
Continue the port to the new API Access for intrastat report to accou…
Feb 7, 2015
f906875
Continue port to new API + PEP8. First working version.
Feb 9, 2015
3a62db1
Update translation and adapt a few strings
May 11, 2015
02dc545
PEP8 compliant Port a line of code that was commented with a TODO
May 11, 2015
4d5bc42
l10n_fr_intrastat_service: update string and translation
May 11, 2015
2fa5f27
Update FR intrastat module for intrastat v3 !
alexis-via Nov 13, 2015
23aafdd
Update views following changes in intrastat_product
alexis-via Nov 17, 2015
1f2e3f7
Add migration script for DES
alexis-via Dec 15, 2015
f9f3131
The field exclude_from_intrastat has been removed
alexis-via Apr 1, 2016
b595204
Add test suite for DES
alexis-via Apr 14, 2016
1e72dc1
More demo data, more in-depth testing
alexis-via Apr 15, 2016
9cf8dc6
Cosmetic update
alexis-via Apr 15, 2016
2be0cf9
Add message in chatter when generating lines from invoices
alexis-via Apr 16, 2016
379ecd5
Fix DES mail template (field num_decl_lines)
alexis-via Jan 17, 2017
ace5722
Port l10n_fr_intrastat_service to v10
alexis-via Jan 18, 2017
d86b61f
Update README for DEB and DES
alexis-via Mar 8, 2017
5efe8d4
Suggestions of David Beal: remove @api.multi (default in v10) and use…
alexis-via Mar 8, 2017
7fb5c29
Put DEB menu before DES menu
alexis-via Mar 8, 2017
cd0586f
Update README for DES
alexis-via Apr 25, 2017
fbbae58
OCA Transbot updated translations from Transifex
oca-transbot May 1, 2017
34b2f93
Fix new flake8 errors (E722 do not use bare except)
Oct 24, 2017
5c1dccb
DES: improve error messages
alexis-via Mar 7, 2018
0ad6c35
remove obsolete .pot files [ci skip]
sbidoul Jun 15, 2018
d9a0052
Update l10n_fr_intrastat_service.pot
oca-travis Jun 22, 2018
18ccdec
IMP add buttons to jump into prodouane site
bealdav Nov 7, 2018
5319b09
Update l10n_fr_intrastat_service.pot
oca-travis Nov 7, 2018
21b7521
Update translation files
oca-transbot Dec 9, 2018
aa4d09a
icon.png
OCA-git-bot Apr 3, 2019
c24e473
[MIG] l10n_fr_intrastat_service from v10 to v12
alexis-via Apr 12, 2019
6fc1958
PEP8 fix
alexis-via Apr 12, 2019
9808085
[FIX] Intrastat Service: positional argument in message_post
ThomasBinsfeld May 10, 2019
621c2e3
[IMP] Intrastat Service: use commercial partner
ThomasBinsfeld May 13, 2019
a214837
[UPD] README.rst
OCA-git-bot May 15, 2019
3961f27
[UPD] README.rst
OCA-git-bot Jul 29, 2019
48c3a24
[UPD] Update l10n_fr_intrastat_service.pot
oca-travis Jul 29, 2019
63f9865
Update translation files
oca-transbot Jul 29, 2019
06055db
[MIG] l10n_fr_intrastat_service to v13
alexis-via Jun 7, 2020
e706c7f
DES: black, isort, ...
alexis-via Jun 7, 2020
9cc950c
[UPD] README.rst
OCA-git-bot Jun 8, 2020
c159ccb
DES: up-port xlsx report from v10
alexis-via Jun 8, 2020
f279755
DES: Improve code for the loop on invoice lines
alexis-via Jun 9, 2020
9a5f40c
Update translation files
oca-transbot Aug 16, 2020
018080b
[MIG] l10n_fr_intrastat_service from v13 to v14
alexis-via Oct 14, 2020
005eaad
DES: use the new field intrastat_fiscal_position
alexis-via Jan 5, 2021
cdb3a3d
DES: mig XLSX export
alexis-via Jan 5, 2021
09670a1
DES: add support for Brexit
alexis-via Jan 22, 2021
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
90 changes: 90 additions & 0 deletions l10n_fr_intrastat_service/README.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,90 @@
==============================
France Intrastat Service (DES)
==============================

.. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
:target: https://odoo-community.org/page/development-status
:alt: Beta
.. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png
:target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
:alt: License: AGPL-3
.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fl10n--france-lightgray.png?logo=github
:target: https://github.com/OCA/l10n-france/tree/13.0/l10n_fr_intrastat_service
:alt: OCA/l10n-france
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
:target: https://translation.odoo-community.org/projects/l10n-france-13-0/l10n-france-13-0-l10n_fr_intrastat_service
:alt: Translate me on Weblate
.. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png
:target: https://runbot.odoo-community.org/runbot/121/13.0
:alt: Try me on Runbot

|badge1| |badge2| |badge3| |badge4| |badge5|

This module adds support for the **Déclaration Européenne des Services** (DES) for France.

The DES declaration has been introduced on January 1st 2010 in France. All French companies must send this declaration each month to France's Customs administration if they sell services without VAT to other EU companies.

More information about the DES is available on this `official web page <http://www.douane.gouv.fr/articles/a10899-la-declaration-europeenne-de-services-des>`_.

**Table of contents**

.. contents::
:local:

Usage
=====

To use this module, you need to go to the menu Invoicing > Reports > Intrastat > DES and create a new DES. Then, click on the button *Generate lines from invoices* to automatically generate the lines of DES. After checking the lines that have been automatically generated, click on the button *Attach XML file* to create the XML file corresponding to the DES. Eventually, connect to your account on `pro.douane <https://pro.douane.gouv.fr/>`_ and upload the XML file.

Bug Tracker
===========

Bugs are tracked on `GitHub Issues <https://github.com/OCA/l10n-france/issues>`_.
In case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us smashing it by providing a detailed and welcomed
`feedback <https://github.com/OCA/l10n-france/issues/new?body=module:%20l10n_fr_intrastat_service%0Aversion:%2013.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.

Do not contact contributors directly about support or help with technical issues.

Credits
=======

Authors
~~~~~~~

* Akretion

Contributors
~~~~~~~~~~~~

* Alexis de Lattre <[email protected]>

Maintainers
~~~~~~~~~~~

This module is maintained by the OCA.

.. image:: https://odoo-community.org/logo.png
:alt: Odoo Community Association
:target: https://odoo-community.org

OCA, or the Odoo Community Association, is a nonprofit organization whose
mission is to support the collaborative development of Odoo features and
promote its widespread use.

.. |maintainer-alexis-via| image:: https://github.com/alexis-via.png?size=40px
:target: https://github.com/alexis-via
:alt: alexis-via

Current `maintainer <https://odoo-community.org/page/maintainer-role>`__:

|maintainer-alexis-via|

This module is part of the `OCA/l10n-france <https://github.com/OCA/l10n-france/tree/13.0/l10n_fr_intrastat_service>`_ project on GitHub.

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
2 changes: 2 additions & 0 deletions l10n_fr_intrastat_service/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
from . import models
from . import report
24 changes: 24 additions & 0 deletions l10n_fr_intrastat_service/__manifest__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
# Copyright 2010-2020 Akretion France (http://www.akretion.com)
# @author Alexis de Lattre <[email protected]>
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).

{
"name": "DES",
"version": "14.0.1.0.0",
"category": "Localisation/Report Intrastat",
"license": "AGPL-3",
"summary": "Module for Intrastat service reporting (DES) for France",
"author": "Akretion,Odoo Community Association (OCA)",
"maintainers": ["alexis-via"],
"website": "https://github.com/OCA/l10n-france",
"depends": ["intrastat_base", "report_xlsx_helper"],
"external_dependencies": {"python": ["stdnum"]},
"data": [
"security/ir.model.access.csv",
"views/intrastat_service_view.xml",
"data/intrastat_service_reminder.xml",
"security/intrastat_service_security.xml",
],
"installable": True,
"application": True,
}
133 changes: 133 additions & 0 deletions l10n_fr_intrastat_service/data/des.xsd
Original file line number Diff line number Diff line change
@@ -0,0 +1,133 @@
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
<xs:element name="fichier_des">
<xs:annotation>
<xs:documentation>fichier de déclarations de service</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element ref="declaration_des" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="declaration_des">
<xs:annotation>
<xs:documentation>declaration de services </xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element ref="num_des"/>
<xs:element ref="num_tvaFr"/>
<xs:element ref="mois_des"/>
<xs:element ref="an_des"/>
<xs:element ref="ligne_des" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="num_des">
<xs:annotation>
<xs:documentation>numéro de la DES </xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:positiveInteger">
<xs:minInclusive value="1"/>
<xs:maxInclusive value="999999"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="num_tvaFr">
<xs:annotation>
<xs:documentation>numéro TVA </xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="[F-f][R-r][0-9A-Za-z]{2}[0-9]{9}"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="mois_des">
<xs:annotation>
<xs:documentation>mois de la DES</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:length value="2"/>
<xs:enumeration value="01"/>
<xs:enumeration value="02"/>
<xs:enumeration value="03"/>
<xs:enumeration value="04"/>
<xs:enumeration value="05"/>
<xs:enumeration value="06"/>
<xs:enumeration value="07"/>
<xs:enumeration value="08"/>
<xs:enumeration value="09"/>
<xs:enumeration value="10"/>
<xs:enumeration value="11"/>
<xs:enumeration value="12"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="an_des">
<xs:annotation>
<xs:documentation>année de la DES</xs:documentation>
<xs:documentation/>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="[2][0][1-9][0-9]"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="ligne_des">
<xs:complexType>
<xs:sequence>
<xs:element ref="numlin_des"/>
<xs:element ref="valeur"/>
<xs:element ref="partner_des"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="numlin_des">
<xs:annotation>
<xs:documentation>num de la ligne DES</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:positiveInteger">
<xs:minInclusive value="1"/>
<xs:maxInclusive value="999999"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="valeur">
<xs:annotation>
<xs:documentation>valeur de la ligne de DES</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:union>
<xs:simpleType>
<xs:restriction base="xs:negativeInteger">
<xs:maxInclusive value="-1"/>
<xs:minInclusive value="-9999999999"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType>
<xs:restriction base="xs:positiveInteger">
<xs:minInclusive value="1"/>
<xs:maxInclusive value="99999999999"/>
</xs:restriction>
</xs:simpleType>
</xs:union>
</xs:simpleType>
</xs:element>
<xs:element name="partner_des">
<xs:annotation>
<xs:documentation>partenaire</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="7"/>
<xs:maxLength value="14"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:schema>
71 changes: 71 additions & 0 deletions l10n_fr_intrastat_service/data/intrastat_service_reminder.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
<?xml version="1.0" encoding="utf-8" ?>
<!--
Copyright 2013-2020 Akretion France (http://www.akretion.com/)
@author Alexis de Lattre <[email protected]>
License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
-->
<odoo>
<data noupdate="1">
<!-- noupdate = 1 for the 'active' field -->
<record id="intrastat_service_cron" model="ir.cron">
<field name="name">DES Reminder</field>
<field name="active" eval="False" />
<field name="user_id" ref="base.user_root" />
<field name="interval_number">1</field>
<field name="interval_type">months</field>
<field name="numbercall">-1</field>
<!-- don't limit the number of calls -->
<field name="doall" eval="False" />
<field name="model_id" ref="model_l10n_fr_intrastat_service_declaration" />
<field name="state">code</field>
<field name="code">model._scheduler_reminder()</field>
</record>
</data>
<data>
<record id="intrastat_service_reminder_email_template" model="mail.template">
<field name="name">DES Reminder</field>
<field
name="model_id"
ref="l10n_fr_intrastat_service.model_l10n_fr_intrastat_service_declaration"
/>
<field name="auto_delete" eval="False" />
<field name="email_from">
${object.company_id.email or '[email protected]'}
</field>
<field name="email_to">${object.company_id.intrastat_email_list}</field>
<field name="subject">
DES ${object.year_month} for ${object.company_id.name}
</field>
<field
name="body_html"
><![CDATA[
<p>I would like to remind you that we are approaching the deadline for the DES declaration for month ${object.year_month}.</p>

<p>As there were no DES for that month in Odoo, a draft declaration has been generated automatically.</p>

% if ctx.get('exception'):
<p>When trying to generate the DES lines, the following error was encountered:</p>

<p>${ctx.get('error_msg')}</p>

<p>You should solve this error, then go to the menu <em>Invoicing > Reporting > Intrastat > DES</em>, open the declaration of month ${object.year_month} and click on the button <em>Re-generate lines</em>.</p>

% else:
% if object.num_decl_lines > 0:
<p>This draft DES contains ${object.num_decl_lines} ${object.num_decl_lines == 1 and 'line' or 'lines'} and the total amount is ${object.total_amount} ${object.currency_id.symbol}.</p>
% else:
<p>This draft DES generated automatically by Odoo doesn't contain any line.</p>
% endif

<p>Go and check this declaration in the menu <em>Invoicing > Reporting > Intrastat > DES</em>.</p>

% endif

<p>
-- <br/>
Automatic e-mail sent by Odoo.
</p>
]]></field>
</record>
</data>
</odoo>
Loading