Frankreich

Wichtig

You must install the France - Adding Mandatory Invoice Mentions (Decree no. 2022-1299) (l10n_fr_invoice_addr) module to comply with the local legislation.

FEC - Fichier des Écritures Comptables

Eine Prüfdatei FEC Fichier des Écritures Comptables enthält alle Buchhaltungsdaten und Buchungen, die in allen Buchhaltungsjournalen für ein Geschäftsjahr erfasst wurden. Die Einträge in der Datei müssen in chronologischer Reihenfolge angeordnet sein.

Seit dem 1. Januar 2014 ist jedes französische Unternehmen verpflichtet, diese Datei auf Anfrage der Steuerbehörden zu Prüfungszwecken vorzulegen und zu übermitteln.

FEC-Import

Um die Einführung neuer Benutzer zu vereinfachen, enthält das französische steuerliche Lokalisierungspaket von Odoo Enterprise die Funktion FEC-Import (Modulname: l10n_fr_fec_import), die den Import bestehender FEC-Dateien aus älterer Software ermöglicht.

Um diese Funktion zu aktivieren, gehen Sie zu Buchhaltung ‣ Konfiguration ‣ Einstellungen ‣ Buchhaltungsimport, aktivieren Sie die Funktion FEC-Import und klicken Sie auf Speichern.

Gehen Sie dann zu Buchhaltung ‣ Konfiguration ‣ FEC-Import, laden Sie Ihre FEC-Datei hoch und klicken Sie auf Importieren.

Bemerkung

Der Import von FEC-Dateien aus einem anderen Jahr erfordert keine besonderen Aktionen oder Berechnungen.
Sollten mehrere Dateien „Reports à Nouveaux“ (RAN) mit dem Anfangssaldo des Jahres enthalten, müssen Sie diese Einträge möglicherweise in der Benutzeroberfläche stornieren. Odoo macht diese Einträge (RAN) unbrauchbar.

Dateiformate

FEC-Dateien können nur im CSV-Format vorliegen, da das XML-Format nicht unterstützt wird.

Bemerkung

Die FEC-CSV-Datei hat ein einfaches Textformat, das eine Datentabelle darstellt, wobei die erste Zeile eine Kopfzeile ist und die Liste der Felder für jeden Eintrag definiert und jede nachfolgende Zeile einen Buchungseintrag darstellt, und zwar in keiner vorgegebenen Reihenfolge.

Unser Modul erwartet, dass die Dateien die folgenden technischen Spezifikationen erfüllen:

  • Codierung: UTF-8, UTF-8-SIG und iso8859_15.

  • Trennzeichen: eines von diesen: ; or | or , oder Umschalttaste.

  • Zeilenabschlüsse: Es werden Zeichengruppen in Form von sowohl CR+LF (\rn) als auch LF (\n) unterstützt.

  • Datumsformat: %Y%m%d

Beschreibung und Verwendung von Feldern

#

Feldname

Beschreibung

Verwenden

Format

01

JournalCode

Journalcode

journal.code und journal.name, wenn JournalLib nicht angegeben wurde

Alphanumerisch

02

JournalLib

Journalbezeichnung

journal.name

Alphanumerisch

03

EcritureNum

Spezifische Nummerierung für jede Journalsequenznummer der Buchung

move.name

Alphanumerisch

04

EcritureDate

Buchungsdatum

move.date

Datum (JJJJMMTT)

05

CompteNum

Kontonummer

account.code

Alphanumerisch

06

CompteLib

Kontoname

account.name

Alphanumerisch

07

CompAuxNum

Sekundäre Kontonummer (akzeptiert Null)

partner.ref

Alphanumerisch

08

CompAuxLib

Sekundärer Kontoname (akzeptiert Null)

partner.name

Alphanumerisch

09

PieceRef

Dokumentreferenz

move.ref und move.name, wenn EcritureNum ist nicht angegeben

Alphanumerisch

10

PieceDate

Dokumentdatum

move.date

Datum (JJJJMMTT)

11

EcritureLib

Bezeichnung des Kontoeintrags

move_line.name

Alphanumerisch

12

Soll

Sollbetrag

move_line.debit

Gleitkommazahlen

13

Haben

Habenbetrag (Feldname „Crédit“ ist nicht erlaubt)

move_line.credit

Gleitkommazahlen

14

EcritureLet

Querverweis auf Buchungsposten (akzeptiert Null)

move_line.fec_matching_number

Alphanumerisch

15

DateLet

Datum des Buchungsposten (akzeptiert Null)

nicht verwendet

Datum (JJJJMMTT)

16

ValidDate

Validierungsdatum des Buchungspostens

nicht verwendet

Datum (JJJJMMTT)

17

Montantdevise

Währungsbetrag (akzeptiert Null)

move_line.amount_currency

Gleitkommazahlen

18

Idevise

Währungs-ID (akzeptiert Null)

currency.name

Alphanumerisch

Diese beiden Felder können anstelle der anderen Felder im obigen Sinne gefunden werden.

12

Montant

Betrag

move_line.debit oder move_line.credit

Gleitkommazahlen

13

Sens

Kann „C“ für Haben oder „D“ für Soll sein

bestimmt move_line.debit oder move_line.credit

Zeichen

Implementierungsdetails

Die folgenden Buchhaltungseinheiten werden aus den FEC-Dateien importiert: Konten, Journale, Partner, und Buchungen.

Unser Modul bestimmt die Codierung, das Zeilenabschlusszeichen und das Trennzeichen, die in der Datei verwendet werden.

Anschließend wird geprüft, ob jede Zeile die richtige Anzahl von Feldern hat, die der Kopfzeile entsprechen.

Wenn die Prüfung erfolgreich ist, wird die Datei vollständig gelesen, im Speicher gehalten und gescannt. Die Buchhaltungseinheiten werden nacheinander in der folgenden Reihenfolge importiert.

Konten

Jeder Buchungsposten ist mit einem Konto verbunden, das durch das Feld CompteNum bestimmt werden sollte.

Code-Abgleich

Sollte ein ähnlicher Kontocode bereits im System vorhanden sein, wird der vorhandene verwendet, anstatt einen neuen anzulegen.

Konten in Odoo haben in der Regel eine Anzahl von Ziffern, die für die steuerliche Lokalisierung vorgegeben sind. Da sich das FEC-Modul auf die französische Lokalisierung bezieht, ist die Standardanzahl der relevanten Ziffern 6.

Das bedeutet, dass bei den Kontocodes die nachstehenden Nullen rechts abgeschnitten werden und dass der Vergleich zwischen den Kontocodes in der FEC-Datei und den bereits in Odoo vorhandenen nur für die ersten sechs Ziffern der Codes durchgeführt wird.

Example

Der Kontocode 65800000 in der Datei wird mit einem bestehenden Konto 658000 in Odoo abgeglichen, und dieses Konto wird verwendet, anstatt ein neues zu erstellen.

Abstimmbare Kennzeichnung

Ein Konto ist technisch gesehen als abstimmbar gekennzeichnet, wenn in der ersten Zeile, in der es erscheint, das Feld EcritureLet ausgefüllt ist, da dieses Kennzeichen bedeutet, dass der Buchungsposten mit einem anderen abgestimmt wird.

Bemerkung

Für den Fall, dass dieses Feld in der Zeile nicht ausgefüllt ist, die Buchung aber dennoch mit einer noch nicht erfassten Zahlung abgestimmt werden muss, ist dies kein Problem. Das Konto wird als abstimmbar gekennzeichnet, sobald der Import der Buchungszeilen dies erfordert.

Kontotyp und Vorlagenabgleich

Da der Typ des Kontos im FEC-Format nicht angegeben ist, werden neue Konten mit dem Standardtyp Umlaufvermögen erstellt und dann am Ende des Importvorgangs mit den installierten Kontenplanvorlagen abgeglichen. Auch die Kennzeichnung Abstimmen wird auf diese Weise berechnet.

Der Abgleich erfolgt mit den am weitesten links stehenden Ziffern, zuerst mit allen Ziffern, dann mit 3, dann mit 2.

Example

Name

Code

Vollständiger Vergleich

3-Ziffern-Vergleich

2-Ziffern-Vergleich

Vorlage

400000

400000

400

40

CompteNum

40100000

40100000

401

40

Ergebnis

Gefundene abgleichen

Der Typ des Kontos wird dann gemäß der Kontovorlage als zahlbar und abstimmbar gekennzeichnet.

Journale

Die Journale werden auch mit den bereits in Odoo vorhandenen Journalen abgeglichen, um Duplikate zu vermeiden, auch im Falle des Imports mehrerer FEC-Dateien.

Sollte ein ähnlicher Journalcode bereits im System vorhanden sein, wird der vorhandene verwendet, anstatt einen neuen anzulegen.

Bei neuen Journalen wird dem Namen die Zeichenfolge FEC- vorangestellt.

Example

ACHATS -> FEC-ACHATS

Die Journale werden nicht archiviert, der Benutzer kann mit ihnen umgehen, wie er möchte.

Bestimmung des Journaltyps

Der Journaltyp ist ebenfalls nicht im Format angegeben (wie in den Konten) und wird daher zunächst mit dem Standardtyp Allgemein erstellt.

Am Ende des Importvorgangs wird der Typ gemäß diesen Regeln in Bezug auf verbundene Buchungen und Konten bestimmt:

  • Bank: Buchungen in diesen Journalen haben immer eine Zeile (Soll oder Haben), die sich auf ein Liquiditätskonto auswirkt.
    Bargeld / Bank können vertauscht werden, also wird Bank überall gesetzt, wenn diese Bedingung erfüllt ist.
  • Verkauf: Die Buchungen in diesen Journalen haben meist Soll-Zeilen auf Debitorenkonten und Haben-Zeilen auf Steuerertragskonten.
    Buchungszeilen für Verkaufserstattungen werden Haben/Soll umgewandelt.
  • Einkauf: Die Buchungen in diesen Journalen haben meist Haben-Zeilen auf Kreditorenkonten und Soll-Zeilen auf Aufwandskonten.
    Buchungszeilen für Einkaufserstattungen werden Haben/Soll umgewandelt.
  • Allgemein: für alles andere.

Bemerkung

  • Für die Identifizierung des Journaltyps sind mindestens drei Buchungen erforderlich.

  • Ein Schwellenwert von 70 % der Buchungen muss einem Kriterium entsprechen, damit ein Journaltyp bestimmt werden kann.

Example

Angenommen, wir analysieren die Buchungen, die eine bestimmte journal_id teilen.

Buchungen

Anzahl

Prozentsatz

die eine Verkaufskontozeile und keine Einkaufskontozeile haben

0

0

die eine Einkaufskontozeile und keine Verkaufskontozeile haben

1

25 %

die eine Liquiditätskontozeile haben

3

75 %

Gesamt

4

100 %

Der Typ des Journals wäre Bank, da der Prozentsatz der Bankbewegungen (75 %) den Schwellenwert (70 %) überschreitet.

Partner

Jeder Partner behält seine Referenz aus dem Feld CompAuxNum.

Bemerkung

Diese Felder sind durchsuchbar, in Übereinstimmung mit früheren FEC-Importen auf der Seite des Buchhaltungsexperten für Steuer-/Prüfzwecke.

Tipp

Benutzer können Partner mit der Datenbereinigungsapp zusammenführen, wobei Lieferanten und Kunden oder ähnliche Partnereinträge vom Benutzer mithilfe des Systems, das sie nach ähnlichen Einträgen gruppiert, zusammengeführt werden können.

Buchungen

Die Einträge werden sofort nach der Einreichung gebucht und abgestimmt, wobei das Feld EcritureLet für den Abgleich zwischen den Einträgen selbst verwendet wird.

Das Feld EcritureNum steht für den Namen der Buchungen. Wir haben festgestellt, dass es manchmal nicht ausgefüllt wird. In diesem Fall wird das Feld PieceRef verwendet.

Rundungsprobleme

Es gibt eine Rundungstoleranz mit einer währungsabhängigen Genauigkeit für Soll und Haben (d. h. 0,01 für EUR). Unter dieser Toleranz wird eine neue Zeile mit dem Namen Import-Rundungsdifferenz zu den Konten hinzugefügt:

  • 658000 Charges diverses de gestion courante, for added debits

  • 758000 Produits divers de gestion courante, for added credits

Fehlende Buchungsbezeichnung

Sollte das Feld EcritureNum nicht ausgefüllt sein, kann es auch passieren, dass das Feld PieceRef ebenfalls nicht geeignet ist, die Buchungsbezeichnung zu bestimmen (sie kann als Referenz für eine Buchhaltungszeile verwendet werden), sodass es keine Möglichkeit gibt, herauszufinden, welche Zeilen in einer einzelnen Buchung gruppiert werden sollen, was die Erstellung ausgeglichener Buchungen effektiv behindert.

Ein letzter Versuch wird unternommen, indem alle Zeilen aus demselben Journal und Datum (JournalLib, EcritureDate) gruppiert werden. Sollte diese Gruppierung ausgeglichene Buchungen erzeugen (Summe(Haben) - Summe(Soll) = 0), dann erzeugt jede andere Kombination von Journal und Datum eine neue Buchung.

Example

ACH + 2021/05/01 –> neue Buchung auf Journal ACH mit Name 20210501.

Sollte dieser Versuch fehlschlagen, erhält der Benutzer eine Fehlermeldung mit allen Buchungszeilen, die angeblich unausgeglichen sind.

Partnerinformation

Wenn in einer Zeile die Partnerinformationen angegeben sind, werden diese Informationen in der Buchungszeile selbst kopiert, wenn das Zieljournal vom Typ Kreditoren oder Debitoren ist.

Export

Wenn Sie das französische steuerliche Buchhaltungspaket installiert haben, sollten Sie die FEC herunterladen können. Gehen Sie dazu zu Buchhaltung ‣ Berichtswesen ‣ Frankreich ‣ FEC.

Tipp

Wenn Sie das Untermenü FEC nicht sehen, gehen Sie zu Apps, entfernen Sie den Filter Apps, suchen Sie nach dem Modul Frankreich FEC und überprüfen Sie, ob es richtig installiert ist.

Französische Buchhaltungsberichte

Wenn Sie die französische Buchhaltung installiert haben, haben Sie Zugang zu einigen spezifischen Buchhaltungsberichten für Frankreich:

  • Bilan comptable

  • Compte de résultats

  • Plan de Taxes France

Erhalten Sie die Zertifizierung zur Bekämpfung von Mehrwertsteuerbetrug mit Odoo

Am 1. Januar 2018 tritt in Frankreich und DOM-TOM ein neues Gesetz zur Betrugsbekämpfung in Kraft. Diese neue Gesetzgebung schreibt bestimmte Kriterien für die Unveränderbarkeit, Sicherheit, Speicherung und Archivierung von Verkaufsdaten vor. Diese gesetzlichen Anforderungen werden in Odoo ab Version 9 durch ein Modul und eine Konformitätsbescheinigung zum Download umgesetzt.

Ist mein Unternehmen verpflichtet, eine Betrugsbekämpfungssoftware zu verwenden?

Ihr Unternehmen ist verpflichtet, eine Software wie Odoo zur Betrugsbekämpfung zu verwenden (CGI Art. 286, I. 3° bis), wenn:

  • Sie in Frankreich oder einem DOM-TOM steuerpflichtig (nicht mehrwertsteuerbefreit) sind,

  • einige Ihrer Kunden Privatpersonen (B2C) sind.

Diese Regel gilt für jede Unternehmensgröße. Selbstständige Unternehmer sind von der Mehrwertsteuer befreit und daher nicht betroffen.

Mit Odoo zertifiziert werden

Es ist sehr einfach, mit Odoo konform zu werden.

Ihr Unternehmen wird von der Steuerverwaltung aufgefordert, ein Konformitätszertifikat auszustellen, das bescheinigt, dass Ihre Software die Rechtsvorschriften zur Betrugsbekämpfung erfüllt. Dieses Zertifikat wird von Odoo SA für Benutzer von Odoo Enterprise hier ausgestellt. Wenn Sie Odoo Community verwenden, sollten Sie ein Upgrade auf Odoo Enterprise durchführen oder Ihren Odoo-Dienstleister kontaktieren.

Bei Nichteinhaltung der Vorschriften riskiert Ihr Unternehmen ein Bußgeld in Höhe von 7.500 €.

Um die Zertifizierung zu erhalten, führen Sie einfach die folgenden Schritte aus:

  • Wenn Sie Odoo Kassensystem verwenden, installieren Sie das Modul Frankreich - Anti-Steuerbetrugszertifizierung für Kassensystem (CGI 286 I-3 bis), indem Sie zu Apps gehen, den Filter Apps entfernen, dann nach l10n_fr_pos_cert suchen und das Modul installieren.

  • Vergewissern Sie sich, dass für Ihr Unternehmen ein Land eingestellt ist, sonst werden Ihre Einträge für die Unveränderbarkeitsprüfung nicht verschlüsselt. Um die Daten Ihres Unternehmens zu bearbeiten, gehen Sie zu Einstellungen ‣ Benutzer & Unternehmen ‣ Unternehmen. Wählen Sie ein Land aus der Liste aus; legen Sie kein neues Land an.

  • Laden Sie die obligatorische Konformitätsbescheinigung von Odoo SA hier herunter.

Bemerkung

  • Um das Modul in einem System zu installieren, das vor dem 18. Dezember 2017 erstellt wurde, müssen Sie die Modulliste aktualisieren. Um dies zu tun, aktivieren Sie den Entwicklermodus. Gehen Sie dann zum Menü Apps und drücken Sie Modulliste aktualisieren im oberen Menü.

  • Wenn Sie Odoo On-premise nutzen, müssen Sie Ihre Installation aktualisieren und Ihren Server vorher neu starten.

  • Wenn Sie die ursprüngliche Version des Betrugsbekämpfungsmoduls (vor dem 18. Dezember 2017) installiert haben, müssen Sie es aktualisieren. Der Name des Moduls war Frankreich - Buchhaltung - Zertifiziert CGI 286 I-3 bis. Nach einer Aktualisierung der Modulliste suchen Sie das aktualisierte Modul in Apps, wählen es aus und klicken auf Upgrade. Stellen Sie schließlich sicher, dass das folgende Modul l10n_fr_sale_closing installiert ist.

Funktionen zur Betrugsbekämpfung

Das Betrugsbekämpfungsmodul bietet die folgenden Funktionen:

  • Unveränderlichkeit: Deaktivierung aller Möglichkeiten zum Stornieren oder Ändern der Eckdaten von Kassenaufträgen, Rechnungen und Journalbuchungen;

  • Sicherheit: Verkettungsalgorithmus zur Überprüfung der Unveränderbarkeit;

  • Speicherung: automatische Verkaufsabschlüsse mit Berechnung von Perioden- und Kumulativsummen (täglich, monatlich, jährlich).

Unveränderlichkeit

Alle Möglichkeiten zur Stornierung und Änderung der Schlüsseldaten von bezahlten Kassenaufträgen, bestätigten Rechnungen und Journalbuchungen sind deaktiviert, wenn das Unternehmen in Frankreich oder in einem DOM-TOM ansässig ist.

Bemerkung

Wenn Sie eine Umgebung mit mehreren Unternehmen betreiben, sind nur die Dokumente dieser Unternehmen betroffen.

Sicherheit

Um die Unveränderlichkeit zu gewährleisten, wird jeder Auftrag oder jede Journalbuchung bei der Validierung verschlüsselt. Diese Nummer (oder Hash) wird sowohl aus den Schlüsseldaten des Dokuments als auch aus dem Hash der Vorgängerdokumente berechnet.

Das Modul führt eine Schnittstelle zur Prüfung der Unveränderlichkeit von Daten ein. Wenn ein Dokument nach seiner Validierung verändert wird, schlägt der Test fehl. Der Algorithmus berechnet alle Hashes neu und vergleicht sie mit den ursprünglichen Hashes. Im Falle eines Fehlschlags zeigt das System das erste beschädigte Dokument an, das im System gespeichert ist.

Benutzer mit Zugriffsrechten Manager können die Unveränderlichkeitsprüfung starten. Für Kassenaufträge gehen Sie zu Kassensystem ‣ Berichtswesen ‣ Französische Kontoauszüge. Für Rechnungen oder Journalbuchungen gehen Sie zu Rechnungsstellung/Buchhaltung ‣ Berichtswesen ‣ Französische Kontoauszüge.

Speicherung

Das System verarbeitet auch automatische Verkaufsabschlüsse auf täglicher, monatlicher und jährlicher Basis. Solche Abschlüsse berechnen eindeutig die Verkaufssumme des Zeitraums sowie die kumulierten Gesamtsummen ab dem allerersten im System erfassten Verkaufseintrag.

Abschlüsse finden Sie im Menü Französische Kontoauszüge der Apps Kassensystem, Rechnungsstellung und Buchhaltung.

Bemerkung

  • Abschlüsse berechnen die Summen für Journalbuchungen von Verkaufsjournalen (Journaltyp = Verkauf).

  • In Umgebungen mit mehreren Unternehmen werden solche Abschlüsse nach Unternehmen durchgeführt.

  • Kassenaufträge werden beim Abschluss der Kassensitzung als Journalbuchungen gebucht. Das Schließen einer Kassensitzung kann jederzeit erfolgen. Um die Benutzer zu veranlassen, dies täglich zu tun, verhindert das Modul die Wiederaufnahme einer Sitzung, die vor mehr als 24 Stunden geöffnet wurde. Eine solche Sitzung muss vor dem erneuten Verkauf geschlossen werden.

  • Die Gesamtsumme einer Periode wird aus allen Journalbuchungen berechnet, die nach dem vorherigen Abschluss desselben Typs gebucht wurden, unabhängig von ihrem Buchungsdatum. Wenn Sie eine neue Verkaufstransaktion für eine bereits abgeschlossene Periode erfassen, wird sie im nächsten Abschluss gezählt.

Tipp

  • Zu Test- und Prüfungszwecken können solche Abschlüsse manuell im Entwicklermodus erstellt werden.

  • Gehen Sie dann zu Einstellungen ‣ Technisch ‣ Automatisierung ‣ Geplante Aktionen

Verantwortlichkeiten

Deinstallieren Sie das Modul nicht! Wenn Sie dies tun, werden die Hashes zurückgesetzt und keine Ihrer bisherigen Daten sind mehr garantiert unveränderbar.lich.

Die Benutzer bleiben für ihre Odoo-Instanz verantwortlich und müssen sie mit der gebotenen Sorgfalt nutzen. Es ist nicht gestattet, den Quellcode zu ändern, der die Unveränderlichkeit der Daten garantiert.

Odoo lehnt jegliche Verantwortung für Änderungen an den Funktionen des Moduls ab, die durch nicht von Odoo zertifizierte Apps von Drittanbietern verursacht werden.

Weitere Informationen

Weitere Informationen über diese Rechtsvorschriften finden Sie in den folgenden offiziellen Dokumenten: