Franța¶
Important
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 - Fișier înregistrări contabile¶
Un fișier de audit FEC Fichier des Écritures Comptables conține toate datele contabile și înregistrările înregistrate în toate jurnalele contabile pentru un exercițiu financiar. Înregistrările din dosar trebuie aranjate în ordine cronologică.
Începând cu 1 ianuarie 2014, fiecare companie franceză este obligată să producă și să transmită acest dosar la cererea autorităților fiscale în scopuri de audit.
Import FEC¶
Pentru a facilita integrarea noilor utilizatori, pachetul de localizare fiscală <fiscal_localizations/packages>` francez Odoo Enterprise include funcția FEC Import (numele modulului: l10n_fr_fec_import
), care permite importul de fișierele FEC existente din software-ul mai vechi.
Pentru a activa această caracteristică, accesați
, activați Import FEC și Salvați.Apoi, accesați
, încărcați fișierul dvs. FEC și faceți clic pe Import.Notă
Formate de fișiere¶
Fișierele FEC pot fi doar în format CSV, deoarece formatul XML nu este acceptat.
Notă
Fișierul FEC CSV are un format de text simplu reprezentând un tabel de date, prima linie fiind un antet și definind lista de câmpuri pentru fiecare intrare, iar fiecare rând următoare reprezentând o înregistrare contabilă, într-o ordine predeterminată.
Modulul nostru se așteaptă ca fișierele să îndeplinească următoarele specificații tehnice:
Encoding: UTF-8, UTF-8-SIG and iso8859_15.
Separator: any of these:
;
or|
or,
orTAB
.Line terminators: both CR+LF (
\r\n
) and LF (\n
) character groups are supported.Date format:
%Y%m%d
Descrierea și utilizarea câmpurilor¶
# |
Numele domeniului |
Descriere |
Utilizare |
Format |
---|---|---|---|---|
01 |
Cod Jurnal |
Cod Jurnal |
|
Alphanumeric |
02 |
JournalLib |
Etichetă Jurnal |
|
Alphanumeric |
03 |
EcritureNum |
Numerotare specifică fiecărui jurnal numărul de secvență al înregistrării |
|
Alphanumeric |
04 |
EcritureDate |
Data intrării contabile |
|
Date (yyyyMMdd) |
05 |
CompteNum |
Numar de Cont |
|
Alphanumeric |
06 |
CompteLib |
Account Label |
|
Alphanumeric |
07 |
CompAuxNum |
Numărul de cont secundar (acceptă nul) |
|
Alphanumeric |
08 |
CompAuxLib |
Etichetă de cont secundar (acceptă nul) |
|
Alphanumeric |
09 |
PieceRef |
Referință document |
|
Alphanumeric |
10 |
Data piesei |
Data documentului |
|
Date (yyyyMMdd) |
11 |
EcritureLib |
Etichetă de intrare în cont |
|
Alphanumeric |
12 |
Debit |
Suma debitată |
|
Real |
13 |
Credit |
Suma creditului (numele câmpului „Crédit” nu este permis) |
|
Real |
14 |
EcritureLet |
Referință încrucișată a intrărilor contabile (acceptă nul) |
|
Alphanumeric |
15 |
DateLet |
Data intrării în contabilitate (acceptă nul) |
nefolosit |
Date (yyyyMMdd) |
16 |
Data valida |
Data validării înregistrării contabile |
nefolosit |
Date (yyyyMMdd) |
17 |
Montantdevise |
Suma valutară (acceptă nul) |
|
Real |
18 |
Idevise |
Identificator de monedă (acceptă nul) |
|
Alphanumeric |
Aceste două câmpuri pot fi găsite în locul celorlalte în propoziția de mai sus.
12 |
Montant |
Sumă |
|
Real |
13 |
Sens |
Can be „C” for Credit or „D” for Debit |
determines |
Caracter |
Detalii de implementare¶
Următoarele entități contabile sunt importate din fișierele FEC: Conturi, Jurnale, Parteneri și Mutări.
Modulul nostru determină codificarea, caracterul de terminare a liniei și separatorul care sunt utilizate în fișier.
Se efectuează apoi o verificare pentru a vedea dacă fiecare linie are numărul corect de câmpuri corespunzător antetului.
Dacă verificarea trece, atunci fișierul este citit în întregime, păstrat în memorie și scanat. Entitățile contabile sunt importate câte un tip, în următoarea ordine.
Conturi¶
Fiecare înregistrare contabilă este legată de un cont, care ar trebui să fie determinat de câmpul CompteNum
.
Potrivirea codului¶
În cazul în care un cod de cont similar este deja prezent în sistem, cel existent este utilizat în loc de a crea unul nou.
Conturile din Odoo au, în general, un număr de cifre care sunt implicite pentru localizarea fiscală. Deoarece modulul FEC este legat de localizarea franceză, numărul implicit de cifre relevante este 6.
Aceasta înseamnă că codurile de cont cu zerourile finale sunt tăiate la dreapta și că compararea dintre codurile de cont din fișierul FEC și cele existente deja în Odoo se realizează doar pe primele șase cifre ale codurilor.
Example
Codul de cont 65800000
din fișier este corelat cu un cont 658000
existent în Odoo, iar acel cont este utilizat în loc să creeze unul nou.
Reconcilable flag¶
Un cont este marcat din punct de vedere tehnic ca reconciliabil dacă primul rând în care apare are câmpul EcritureLet
completat, deoarece acest indicator înseamnă că înregistrarea contabilă va fi reconciliată cu alta.
Notă
În cazul în care în rândul cumva acest câmp nu este completat, dar înregistrarea trebuie încă reconciliată cu o plată care nu a fost încă înregistrată, aceasta oricum nu este o problemă; contul este marcat ca reconciliabil de îndată ce importul liniilor de mutare necesită acest lucru.
Potrivirea tipului de cont și a șabloanelor¶
Întrucât tipul de cont nu este specificat în formatul FEC, conturile noi sunt create cu tipul implicit Active curente și apoi, la sfârșitul procesului de import, sunt comparate cu șabloane de Plan de conturi instalate. De asemenea, steagul reconcilie este calculat și în acest fel.
Potrivirea se face cu cifrele din stânga, începând cu utilizarea tuturor cifrelor, apoi 3, apoi 2.
Example
Nume |
Cod |
Comparație completă |
comparație cu 3 cifre |
comparație cu 2 cifre |
---|---|---|---|---|
Șablon |
|
|
|
|
CompteNum |
|
|
|
|
Rezultat |
Potrivire găsită** |
Tipul de cont este apoi marcat ca plătibil și reconciliabil conform șablonului de cont.
Jurnale¶
Jurnalele sunt, de asemenea, verificate față de cele existente deja în Odoo pentru a evita duplicarea, și în cazul importurilor multiple de fișiere FEC.
În cazul în care un cod de jurnal similar este deja prezent în sistem, cel existent este utilizat în loc de a crea unul nou.
Noile jurnale au numele prefixat de șirul FEC-
.
Example
ACHATS
-> FEC-ACHATS
Jurnalele sunt nu arhivate, utilizatorul are dreptul să le gestioneze după cum dorește.
Determinarea tipului de jurnal¶
De asemenea, tipul jurnalului nu este specificat în format (ca în conturi) și, prin urmare, este creat la început cu tipul implicit „general”.
La sfârșitul procesului de import, tipul este determinat conform acestor reguli privind mișcările și conturile aferente:
bank
: Mișcările din aceste jurnale au întotdeauna o linie (debit sau credit) care afectează un cont de lichiditate.cash
/bank
pot fi schimbate, astfel încâtbank
este setat peste tot atunci când această condiție este îndeplinită.vânzare
: Mișcările din aceste jurnale au în cea mai mare parte linii de debit pe conturile de creanță și linii de credit pe conturile de venituri fiscale.Elementele din jurnalul de rambursare a vânzărilor sunt inversate de debit/credit.- „cumpărare”: Mișcările din aceste jurnale au în mare parte linii de credit pe conturile de plătit și linii de debit pe conturile de cheltuieli.Elementele din jurnalul de rambursare a achizițiilor sunt inversate de debit/credit.
general
: pentru orice altceva.
Notă
Pentru identificarea tipului de jurnal sunt necesare cel puțin trei mișcări.
Un prag de 70% din mutări trebuie sa corespunda unui criteriu pentru ca un tip de jurnal sa fie determinat.
Example
Să presupunem că analizăm mișcările care au în comun un anumit „jurnal_id”.
Mișcări |
Număr |
Procentaj |
---|---|---|
care au o linie de cont de vânzare și nicio linie de cont de cumpărare |
0 |
0 |
care au o linie de cont de cumpărare și nicio linie de cont de vânzare |
1 |
25% |
care au o linie de cont de lichiditate |
3 |
75% |
Total |
4 |
100% |
Jurnalul tip
ar fi bancă
, deoarece procentul de mișcări ale băncii (75%) depășește pragul (70%).
Parteneri¶
Fiecare partener își păstrează „Referința” din câmpul „CompAuxNum”.
Notă
Aceste câmpuri pot fi căutate, în conformitate cu fostele importuri FEC din partea expertului contabil în scopuri fiscale/audit.
Sfat
Utilizatorii pot fuziona partenerii cu aplicația de curățare a datelor, unde furnizorii și clienții sau intrările de parteneri similare pot fi fuzionate de către utilizator, cu asistență din partea sistemului care îi grupează după intrări similare.
Mișcări¶
Intrările sunt imediat postate și reconciliate după trimitere, folosind câmpul EcritureLet
pentru a face potrivirea între intrările în sine.
Câmpul EcritureNum
reprezintă numele mișcărilor. Am observat că uneori este posibil să nu fie completat. În acest caz, se utilizează câmpul „PieceRef”.
Probleme de rotunjire¶
Există o toleranță de rotunjire cu o precizie legată de monedă pentru debit și credit (adică 0,01 pentru EUR). Sub această toleranță, la mutare este adăugată o nouă linie, denumită Import diferența de rotunjire, care vizează conturile:
658000
Cheltuieli diverse de administrare curentă, pentru debite adăugate758000
Diverse produse de management de zi cu zi, pentru credite suplimentare
Numele mișcării lipsește¶
În cazul în care EcritureNum
nu este completat, se poate întâmpla, de asemenea, că câmpul PieceRef
nu este, de asemenea, potrivit pentru a determina numele mutării (poate fi folosit ca referință de linie de mutare contabilă), fără a lăsa nicio modalitate de a găsi efectiv ce linii sunt să fie grupate într-o singură mișcare și împiedicând efectiv crearea de mișcări echilibrate.
Se face o ultimă încercare, grupând toate rândurile din același jurnal și dată (JournalLib
, EcritureDate
). Dacă această grupare generează mișcări echilibrate (sumă (credit) - sumă (debit) = 0), atunci fiecare combinație diferită de jurnal și dată creează o nouă mutare.
Example
ACH
+ 2021/05/01
–> new move on journal ACH
with name 20210501
.
În cazul în care această încercare eșuează, utilizatorului i se solicită un mesaj de eroare cu toate liniile de mutare care se presupune că sunt dezechilibrate.
Informații despre parteneri¶
Dacă o linie are informațiile despre partener specificate, informațiile sunt copiate în mișcarea contabilă în sine dacă Jurnalul vizat este de tipul plătibil sau de primire.
Export¶
Dacă ați instalat pachetul de localizare fiscală franceză <fiscal_localizations/packages>, ar trebui să puteți descărca FEC. Pentru a face acest lucru, accesați .
Sfat
Dacă nu vedeți submeniul FEC, accesați
, eliminați filtrul Apps, apoi căutați modulul numit France-FEC și asigurați-vă că este instalat.Rapoarte contabile franceze¶
Dacă ați instalat Contabilitatea franceză, veți avea acces la unele rapoarte contabile specifice Franței:
Bilant contabil
Adeverință de venit
Planul fiscal din Franța
Obțineți certificarea antifraudă TVA cu Odoo¶
De la 1 ianuarie 2018, o nouă legislație antifraudă intră în vigoare în Franța și DOM-TOM. Această nouă legislație prevede anumite criterii privind inalterabilitatea, securitatea, stocarea și arhivarea datelor de vânzare. Aceste cerințe legale sunt implementate în Odoo, versiunea 9 ulterioară, printr-un modul și un certificat de conformitate pentru descărcare.
Compania mea este obligată să utilizeze software antifraudă?¶
Compania dumneavoastră este obligată să utilizeze un software de casă antifraudă precum Odoo (CGI art. 286, I. 3° bis) dacă:
Sunteți impozabil (nu scutit de TVA) în Franța sau în orice DOM-TOM,
Unii dintre clienții tăi sunt persoane fizice (B2C).
Această regulă se aplică pentru orice dimensiune a companiei. Auto-antreprenorii sunt scutiți de TVA și, prin urmare, nu sunt afectați.
Obțineți certificarea cu Odoo¶
A fi conform cu Odoo este foarte ușor.
Compania dumneavoastră este solicitată de către administrația fiscală să elibereze un certificat de conformitate care să ateste că software-ul dumneavoastră respectă legislația antifraudă. Acest certificat este acordat de Odoo SA utilizatorilor Odoo Enterprise aici. Dacă utilizați Comunitatea Odoo, ar trebui să faceți upgrade la Odoo Enterprise sau să contactați furnizorul dvs. de servicii Odoo.
În caz de neconformitate, compania dumneavoastră riscă o amendă de 7.500 €.
Pentru a obține certificarea, trebuie doar să urmați următorii pași:
Dacă utilizați Punctul de vânzare Odoo, instalați modulul Franța - Certificare antifraudă TVA pentru punctul de vânzare (CGI 286 I-3 bis), mergând la , eliminând filtrul Aplicații, apoi căutând l10n_fr_pos_cert și instalând modulul.
Asigurați-vă că o țară este setată în compania dvs., altfel intrările dvs. nu vor fi criptate pentru verificarea inalterabilității. Pentru a edita datele companiei dvs., accesați
. Selectați o țară din listă; Nu creați o țară nouă.Descarcă certificatul de conformitate obligatoriu eliberat de Odoo SA aici.
Notă
Pentru a instala modulul în orice sistem creat înainte de 18 decembrie 2017, ar trebui să actualizați lista de module. Pentru a face acest lucru, activați developer mode. Apoi accesați meniul Aplicații și apăsați pe Actualizați lista modulelor în meniul de sus.
În cazul în care rulați Odoo on-premise, trebuie să vă actualizați instalarea și să reporniți serverul în prealabil.
Dacă ați instalat versiunea inițială a modulului antifraudă (înainte de 18 decembrie 2017), trebuie să o actualizați. Numele modulului era Franța - Contabilitate - Certificat CGI 286 I-3 bis. După o actualizare a listei de module, căutați modulul actualizat în Aplicații, selectați-l și faceți clic pe Upgrade. În cele din urmă, asigurați-vă că următorul modul l10n_fr_sale_closing este instalat.
Caracteristici antifraudă¶
Modulul antifraudă introduce următoarele caracteristici:
Inalterabilitate: dezactivarea tuturor modalităților de anulare sau modificare a datelor cheie ale comenzilor POS, facturilor și înregistrărilor de jurnal;
Securitate: algoritm de înlănțuire pentru a verifica inalterabilitatea;
Depozitare: închideri automate ale vânzărilor cu calcularea atât a totalului perioadei, cât și a totalului cumulat (zilnic, lunar, anual).
Inalterability¶
Toate modalitățile posibile de anulare și modificare a datelor cheie ale comenzilor POS plătite, facturilor confirmate și înregistrărilor de jurnal sunt dezactivate, dacă compania este situată în Franța sau în orice DOM-TOM.
Notă
Dacă conduceți un mediu cu mai multe companii, doar documentele acestor companii sunt afectate.
Securitate¶
Pentru a asigura inalterabilitatea, fiecare comandă sau intrare în jurnal este criptată la validare. Acest număr (sau hash) este calculat din datele cheie ale documentului, precum și din hash-ul documentelor precedente.
Modulul introduce o interfață pentru a testa inalterabilitatea datelor. Dacă orice informație este modificată pe un document după validarea acestuia, testul va eșua. Algoritmul recalculează toate hashurile și le compară cu cele inițiale. În caz de defecțiune, sistemul indică primul document corupt înregistrat în sistem.
Utilizatorii cu drepturi de acces Manager pot lansa verificarea de inalterabilitate. Pentru comenzile POS, accesați
. Pentru facturi sau intrări de jurnal, accesați .Stocare¶
Sistemul procesează, de asemenea, închiderile automate ale vânzărilor zilnic, lunar și anual. Astfel de închideri calculează în mod distinct totalul vânzărilor din perioada, precum și totalurile generale cumulate de la prima intrare de vânzări înregistrată în sistem.
Închiderile pot fi găsite în meniul French Statements din aplicațiile Punct de vânzare, Facturare și Contabilitate.
Notă
Închiderile calculează totalurile pentru intrările de jurnal ale jurnalelor de vânzări (Tipul jurnal = Vânzări).
Pentru mediile cu mai multe companii, astfel de închideri sunt efectuate de companie.
Comenzile POS sunt postate ca intrări de jurnal la închiderea sesiunii POS. Închiderea unei sesiuni POS se poate face oricând. Pentru a determina utilizatorii să o facă zilnic, modulul împiedică reluarea unei sesiuni deschise cu mai mult de 24 de ore în urmă. O astfel de sesiune trebuie închisă înainte de a vinde din nou.
Totalul unei perioade este calculat din toate înregistrările de jurnal postate după închiderea anterioară de același tip, indiferent de data de înregistrare a acestora. Dacă înregistrați o nouă tranzacție de vânzare pentru o perioadă deja închisă, aceasta va fi numărată chiar în următoarea închidere.
Sfat
În scopuri de testare și audit, astfel de închideri pot fi generate manual în developer mode.
Apoi accesați
.
Responsabilități¶
Nu dezinstalați modulul! Dacă faceți acest lucru, hashurile vor fi resetate și niciuna dintre datele dvs. anterioare nu va mai fi garantată ca fiind inalterabilă.
Utilizatorii rămân responsabili pentru instanța lor Odoo și trebuie să o folosească cu diligența. Nu este permisă modificarea codului sursă care garantează inalterabilitatea datelor.
Odoo își exonerează toată responsabilitatea în cazul modificărilor în funcțiile modulului cauzate de aplicații terțe necertificate de Odoo.
Mai multe informații¶
Mai multe informații despre această legislație puteți găsi în următoarele documente oficiale.