Francia

Módulos

Los siguientes módulos relacionados con la localización francesa están disponibles:

Nombre

Nombre técnico

Descripción

Francia - Contabilidad

l10n_fr

Paquete de localización fiscal francés que se aplica solo a empresas con sede en Francia continental y no incluye DOM-TOMs.

Francia - Informes contables

l10n_fr_reports

Exportación del informe de IVA francés, que puede enviarse a la DGFiP, una OGA o un contable profesional.

Francia - Nómina con contabilidad

l10n_fr_hr_payroll_account

Incluye los datos contables necesarios para las reglas de nómina francesas.

Francia - Integración Factur-X con Chorus Pro

l10n_fr_facturx_chorus_pro

Añade campos necesarios para enviar facturas a Chorus Pro.

France - FEC Export

l10n_fr_fec

Generates the FEC file as defined by the Decree of July 29, 2013.

Francia - Importación FEC

l10n_fr_fec_import

Importación de archivos FEC estándar, útil para importar historial contable.

France - Adding Mandatory Invoice Mentions (Decree no. 2022-1299)

l10n_fr_invoice_addr

Adds address fields required to comply with Decree 2022-1299.

Francia - Certificación antifraude de IVA para punto de venta (CGI 286 I-3 bis)

l10n_fr_pos_cert

Certificación antifraude de IVA para punto de venta

Nota

Los módulos principales de la localización se instalan automáticamente con la localización. El resto se puede instalar manualmente.

Descripción general de la localización

El paquete de localización francesa garantiza el cumplimiento de las regulaciones fiscales y contables francesas. Incluye herramientas para gestionar impuestos, posiciones fiscales, informes y un plan contable predefinido adaptado a los estándares de Francia.

El paquete de localización francesa proporciona las siguientes características clave para garantizar el cumplimiento de las regulaciones fiscales y contables locales:

Reportes

Installing the France - Accounting (l10n_fr) module gives access to some accounting reports specific to France, such as:

  • Bilan comptable (FR) (Balance)

  • Compte de résultats (FR) (Pérdidas y ganancias)

  • Rapport de taxes (FR) (Informe de impuestos)

Contabilidad

Facturación electrónica

El portal Chorus Pro, gestionado por la AIFE (Agence pour l’Informatique financière de l’État), es la plataforma oficial para enviar facturas electrónicas a entidades públicas francesas. Permite a las empresas enviar y gestionar facturas, realizar seguimiento de su estado de procesamiento y acceder a actualizaciones de pago. Desde enero de 2020, la facturación electrónica es obligatoria para todas las transacciones entre empresas y gobierno (B2G) en Francia. Odoo admite la integración con Chorus Pro para enviar facturas generadas en Odoo.

Configuración

Para enviar facturas a Chorus Pro, se requiere la siguiente configuración:

  1. Instala el módulo Francia - Integración Factur-X con Chorus Pro (l10n_fr_facturx_chorus_pro).

  2. Regístrate en Peppol, ya que las facturas se envían desde Odoo a Chorus Pro a través de la red Peppol.

  3. Si aún no tienes una cuenta de Chorus Pro, ve a la página Chorus Pro, haz clic en Créer un compte y crea una.

  4. Configura el formulario de contacto de los clientes correspondientes.

Clientes

Para enviar facturas a Chorus Pro, configura el formulario de contacto de los clientes correspondientes de la siguiente manera:

  1. Verify the Country and Tax ID fields are filled out.

  2. In the Sales & Purchase tab, ensure the SIRET field is completed.

  3. In the Accounting tab, fill in the following fields in the Electronic Invoicing section:

    • Format: Select BIS Billing 3.0.

    • Peppol e-address (EAS): Select 0009 - SIRET-CODE.

    • Peppol Endpoint: Type 11000201100044, the reference used by Chorus Pro.

Enviar facturas a Chorus Pro

Para enviar facturas a Chorus Pro, sigue estos pasos:

  1. Ve a Contabilidad ‣ Clientes ‣ Facturas y abre o crea la factura.

  2. Make sure the following fields are filled in the Other Info tab:

    • Referencia del comprador: Service Exécutant en Chorus Pro

    • Referencia del contrato: Numéro de Marché en Chorus Pro

    • Referencia de orden de compra: Engagement Juridique en Chorus Pro

  3. Confirma la factura.

  4. Click Send & Print and, in the Send window, enable Peppol Bis Billing 3.0.

  5. Click Send & Print.

Una vez enviada la factura, el estado Peppol de la factura se actualiza a Hecho.

Ver también

Peppol

FEC - Fichier des Écritures Comptables

Un archivo de auditoría FEC Fichier des Écritures Comptables contiene todos los datos contables y asientos registrados en todos los diarios contables de un ejercicio fiscal. Los asientos del archivo deben organizarse en orden cronológico. Desde enero de 2014, todas las empresas francesas están obligadas a producir y transmitir este archivo cuando lo soliciten las autoridades fiscales con fines de auditoría.

Importar FEC

Instala el módulo France - FEC Import (l10n_fr_fec_import) para importar archivos FEC desde otro software.

Para activar esta función, ve a Contabilidad ‣ Configuración ‣ Ajustes. En la sección Accounting Import, haz clic en Import y Import FEC. Luego, en la ventana FEC Import, sube el archivo FEC y haz clic en Import.

Nota

Importar archivos FEC de diferentes años no requiere acciones ni cálculos particulares. Sin embargo, si varios archivos contienen RAN Reports à Nouveaux con el saldo inicial del año, estos asientos se marcan automáticamente como innecesarios en Odoo y puede ser necesario eliminarlos.

Formatos de archivo

Nota

  • Los archivos FEC deben estar en formato CSV, ya que el formato XML no es compatible.

  • El archivo CSV FEC es un archivo de texto plano estructurado como una tabla de datos. La primera línea sirve como encabezado, definiendo la lista de campos para cada asiento, y cada línea siguiente representa un único asiento contable sin ningún orden específico.

Los archivos FEC deben cumplir con las siguientes especificaciones técnicas:

  • Codificación: UTF-8, UTF-8-SIG e iso8859_15.

  • Separador: puede ser ;, |, , o TAB.

  • Para terminar una línea: tanto CR+LF (\r\n) como LF (\n) son compatibles.

  • Formato de fecha: %Y%m%d

Descripción y uso de los campos

#

Nombre del campo

Descripción

Uso

Formatear

01

JournalCode

Código del diario

journal.code y journal.name si no cuenta con JournalLib.

Alfanumérico

02

JournalLib

Etiqueta del diario

journal.name

Alfanumérico

03

EcritureNum

Numeración específica de cada secuencia numérica del asiento en el diario

move.name

Alfanumérico

04

EcritureDate

Fecha del asiento contable

move.date

Fecha (aaaaMMdd)

05

CompteNum

Número de cuenta

account.code

Alfanumérico

06

CompteLib

Etiqueta de la cuenta

account.name

Alfanumérico

07

CompAuxNum

Número de cuenta secundario (acepta nulo)

partner.ref

Alfanumérico

08

CompAuxLib

Etiqueta de cuenta secundaria (acepta nulo)

partner.name

Alfanumérico

09

PieceRef

Referencia del documento

move.ref y move.name si no cuenta con EcritureNum.

Alfanumérico

10

PieceDate

Fecha de documento

move.date

Fecha (aaaaMMdd)

11

EcritureLib

Etiqueta de asiento de la cuenta

move_line.name

Alfanumérico

12

Debe

Importe de débito

move_line.debit

Número flotante

13

Haber

Cantidad de crédito (no puede nombrar este campo como «crédito»)

move_line.credit

Número flotante

14

EcritureLet

Referencia cruzada del asiento contable (acepta nulo)

move_line.fec_matching_number

Alfanumérico

15

DateLet

Fecha del asiento contable (acepta nulo)

No se utiliza

Fecha (aaaaMMdd)

16

ValidDate

Fecha de validación del asiento contable

No se utiliza

Fecha (aaaaMMdd)

17

Montantdevise

Importe de la divisa (acepta nulo)

move_line.amount_currency

Número flotante

18

Idevise

Identificador de la divisa (acepta nulo)

currency.name

Alfanumérico

Estos dos campos aparecen en el mismo orden que los demás, reemplazándolos.

12

Montant

Importe

move_line.debit o move_line.credit

Número flotante

13

Sens

Puede ser «C» de crédito o «D» de débito

Determina move_line.debit o move_line.credit

Carácter

Detalles de implementación

Las siguientes entidades contables se importan de los archivos FEC: Cuentas, Diarios, Contactos y Asientos. El módulo determina automáticamente la codificación, el terminador de línea y el separador utilizados en el archivo. A continuación, se realiza una comprobación para asegurar que cada línea tenga el número correcto de campos que coincidan con el encabezado. Si la comprobación es exitosa, se lee todo el archivo, se almacena en memoria y se escanea. Las entidades contables se importan luego de a un tipo a la vez en el siguiente orden.

Cuentas

Cada asiento contable está asociado con una cuenta identificada por el campo CompteNum.

Emparejamiento de código

Si ya existe una cuenta con el mismo código, se utiliza la existente en lugar de crear una nueva. En Odoo, los números de cuenta siguen la longitud de dígitos predeterminada de la localización fiscal. Como el módulo FEC está vinculado a la localización francesa, la longitud de cuenta predeterminada es de 6 dígitos. Esto significa que los ceros finales en los códigos de cuenta se eliminan, y la comparación entre los códigos de cuenta en el archivo FEC y los que ya están en Odoo se realiza basándose solo en los primeros seis dígitos de los códigos.

Example

El código de cuenta 65800000 en el archivo coincide con una cuenta 658000 existente en Odoo, y se utiliza la cuenta existente en lugar de crear una nueva.

Marcado como conciliado

Una cuenta se marca técnicamente como conciliable si la primera línea en la que aparece tiene el campo EcritureLet completado, indicando que el asiento contable se conciliará con otro.

Nota

El campo puede dejarse vacío en la línea, pero el asiento aún debe conciliarse con un pago no registrado. La cuenta se marca como conciliable una vez que la importación de los apuntes contables lo requiere.

Tipo de cuenta y coincidencia de plantillas

Como el tipo de cuenta no se especifica en el formato FEC, las cuentas nuevas se crean con el tipo predeterminado Current Assets. Después del proceso de importación, se comparan con las plantillas de Plan Contable instaladas. La marca de conciliación también se determina de esta manera.

La coincidencia se realiza comparando los dígitos de la izquierda, comenzando con todos los dígitos, seguidos de 3 dígitos y luego 2 dígitos.

Example

Nombre

Código

Comparación completa

Comparación de 3 dígitos

Comparación de 2 dígitos

Plantilla

400000

400000

400

40

CompteNum

40100000

40100000

401

40

Resultado

Coincidencia encontrada

The account type is then flagged as payable and reconcilable based on the account template.

Diarios contables

Journals are checked against the existing ones in Odoo to avoid duplicates, even when importing multiple FEC files.

If a journal with the same code already exists, the existing journal is used instead of creating a new one.

New journals have the prefix FEC- added to their name. For example, ACHATS becomes FEC-ACHATS.

Nota

Journals are not archived, allowing the user to manage them as desired.

Determinación del tipo de diario

The journal type is not specified in the format (similar to the accounts) and is initially created with the default type general.

At the end of the import process, the journal type is determined based on the following rules regarding related moves and accounts:

  • bank: Moves in these journals always include a line (debit or credit) impacting a liquidity account.
    cash / bank can be interchanged, so bank is assigned when this condition is met.
  • sale: Moves in these journals mostly have debit lines on receivable accounts and credit lines on tax income accounts.
    Los apuntes contables de los reembolsos de ventas se invierten según el débito o crédito.
  • purchase: Moves in these journals mostly have credit lines on payable accounts and debit lines on expense accounts.
    Los apuntes contables de las compras reembolsadas se invierten según el débito o crédito.
  • general: Used for everything else.

Nota

  • A minimum of three moves is required to identify the journal type.

  • A threshold of 70% of the moves must meet the criteria for a journal type to be determined.

Example

Suppose we are analyzing the moves that share a certain journal_id.

Movimientos

Cuenta

Porcentaje

que tienen una línea de cuenta de venta y no tienen una línea de cuenta de compra

0

0

que tienen una línea de cuenta de compra y no tienen una línea de cuenta de venta

1

25%

que tienen una línea de cuenta de liquidez

3

75%

Total

4

100%

The journal type would be bank, because the bank’s move percentage (75%) exceeds the threshold (70%).

Contactos

Each contact keeps its Reference from the CompAuxNum field.

Nota

These fields are searchable based on previous FEC imports for fiscal/audit purposes.

Truco

Similar and potential duplicate contacts can be merged using the Data Cleaning App.

Movimientos

Entries are posted and reconciled immediately upon submission, with the EcritureLet field used to match the entries.

El campo EcritureNum representa el nombre de los movimientos, pero a veces puede quedar vacío. En esos casos, se utiliza el campo PieceRef en su lugar.

Problemas de redondeo

Se aplica una tolerancia de redondeo basada en la precisión de la moneda para los importes de débito y crédito (es decir, 0,01 para EUR). Si la diferencia está por debajo de esta tolerancia, se añade una nueva línea al movimiento, llamada Diferencia de redondeo de importación, dirigida a las siguientes cuentas:

  • 658000 «Charges diverses de gestion courante», para débitos agregados

  • 758000 «Produits divers de gestion courante», para créditos agregados

Nombre de movimiento faltante

Si el campo EcritureNum no está rellenado y el campo PieceRef no es adecuado para determinar el nombre del movimiento (puede usarse como referencia de línea de movimiento contable), se vuelve imposible identificar qué líneas deben agruparse en un solo movimiento, impidiendo efectivamente la creación de movimientos balanceados.

En esos casos, se realiza un intento final de agrupar todas las líneas por el mismo diario y fecha (JournalLib, EcritureDate). Si esta agrupación genera movimientos balanceados (suma(crédito) - suma(débito) = 0), entonces cada combinación diferente de diario y fecha crea un nuevo movimiento.

Example

ACH + 2021/05/01 –> nuevo movimiento en el diario ACH con el nombre 20210501.

Si este intento falla, se muestra un mensaje de error que enumera todas las líneas de movimiento que se consideran no balanceadas.

Información del contacto

Si una línea incluye información de contacto, se copia al movimiento contable mismo, siempre que el diario objetivo sea de tipo payable o receivable.

Exportar FEC

To download the FEC, install the France - FEC Export`(`l10n_fr_fec) module, then go to Accounting ‣ Reporting ‣ FEC. In the FEC window, fill in the following fields:

  • Fecha de inicio

  • Fecha de fin

  • Archivo de prueba: Activa esta opción para probar la generación del archivo FEC.

  • Excluded Journals

Luego, haz clic en Generar.

Liasse fiscale

The liasse fiscale (tax returns) is a collection of standardized financial documents that businesses must submit annually to the tax authorities. It comprehensively summarizes the company’s financial activities and determines corporate taxes.

Teledec is a platform used to prepare and submit tax returns using data from accounting records. To synchronize your accounting data stored in Odoo with Teledec and electronically send your company’s liasse fiscale to the DGFiP (Direction Générale des Finances Publiques), follow these steps:

  1. Crear cuenta Teledec

  2. Información de registro de la empresa y del ejercicio fiscal

  3. Sincronización con Odoo

Crear cuenta Teledec

Para crear una cuenta Teledec, accede a la página de creación de cuenta Teledec y rellena el campo Adresse e-mail con una dirección de correo electrónico. Elige una contraseña segura, acepta los términos y condiciones generales marcando la casilla y haz clic en S’enregistrer para guardar. Luego, introduce el número SIREN de la empresa.

Nota

Si la cuenta ya ha sido creada, haz clic en Déjà enregistré? (¿Ya registrado?).

Información de registro de la empresa y del ejercicio fiscal

Para registrar la empresa en Teledec, ve a Vos entreprises (Tus empresas) y haz clic en Enregistrer votre entreprise (Registrar tu empresa). Asegúrate de completar la siguiente información de la empresa en las secciones Coordonnées de l’entreprise (Datos de la empresa) y Représentant légal (Representante legal):

  • Nom de l’entreprise: Nombre de la empresa.

  • Forme juridique: Selecciona la forma jurídica de la empresa.

  • Les comptes sont clôturés le: Fecha de cierre.

  • Régime d’imposition, choix de la liasse: Select the Tax scheme and tax return option.

  • Adresse du siège social: Dirección de la sede social.

  • Nom du représentant légal: Nombre del representante legal.

  • Agissant en qualité de: Función del representante legal.

  • Numéro de téléphone: Número de teléfono.

Click Sauvegarder (Save) to display the next step Informations générales sur l’exercice déclaré (General information about the declared fiscal year). Then, fill in information on the financial year, such as the fiscal year start and end dates or the closing date and duration of the previous fiscal period. After saving, the list of documents included in the liasse fiscale is displayed, including both standard tax forms and those customized for the company’s tax return.

Truco

  • La columna Etat (Estado) muestra el progreso de la presentación del documento.

  • Haz clic en Compléter para completar un documento, luego en Sauvegarder para guardar.

  • Para imprimir una versión en blanco de la declaración, haz clic en Imprimer la déclaration y selecciona la opción Imprimer la déclaration avec les notices.

Sincronización con Odoo

Para permitir que Odoo complete automáticamente los datos del Liasse fiscale, haz clic en Autres actions (Otras acciones) en la esquina superior derecha y selecciona Synchroniser avec un logiciel tiers (Sincronizar con software de terceros), luego Synchroniser cette liasse avec Odoo (Sincronizar este liasse con Odoo).

En la ventana Synchroniser cette liasse avec Odoo, completa la siguiente información para completar la sincronización:

  • Nom / URL complète de la base de données Odoo: Nombre de la base de datos de Odoo o URL. Para proporcionar la URL completa de la base de datos, activa la opción Je voudrais donner une url complète hors .odoo.com.

  • Nom de l’utilisateur: Nombre de usuario asociado con la cuenta de Odoo.

  • Clé API: Clave API generada por la instancia de Odoo.

Nota

En una configuración multiempresa, se requieren las siguientes configuraciones en Odoo:

  • El usuario vinculado a la clave API generada debe tener acceso a la empresa destinada a la sincronización.

  • Esta empresa también debe configurarse como la Empresa predeterminada del usuario, ya que Teledec siempre sincroniza con la empresa predeterminada del usuario.

A continuación, haz clic en Importer para sincronizar datos desde Odoo. En la ventana Confirmation de la synchronisation de liasse avec Odoo, revisa los importes y realiza los cambios necesarios. Luego, haz clic en Importer la balance para confirmar la sincronización de la liasse fiscale con Odoo e importar el balance.

Importante

Hacer clic en Importer la balance puede sobrescribir o alterar cualquier actualización manual realizada previamente.

Para realizar el pago y enviar la declaración a las autoridades fiscales, haz clic en Paiement & envoi de la déclaration.

Punto de venta

Certificación antifraude del IVA

Desde enero de 2018, la nueva legislación antifraude está vigente en Francia y sus territorios de ultramar (DOM-TOM). Esta legislación establece requisitos específicos para la integridad, seguridad, almacenamiento y archivo de los datos de ventas. Odoo cumple con estos requisitos legales proporcionando un módulo y un certificado de conformidad descargable.

El software de caja registradora antifraude, como Odoo (CGI art. 286, I. 3° bis), es obligatorio para las empresas sujetas a impuestos en Francia o DOM-TOM, donde algunos clientes son particulares (B2C). Esta regla se aplica a todas las empresas, independientemente de su tamaño, pero los auto-emprendedores exentos de IVA no se ven afectados.

Certificación de Odoo

La administración tributaria exige que todas las empresas proporcionen un certificado de conformidad que confirme que su software cumple con la legislación antifraude. En caso de incumplimiento, puede imponerse una multa de 7.500 €.

Nota

This certificate is granted by Odoo SA to Odoo Enterprise users.

Para obtener la certificación, sigue estos pasos:

  1. Instala el módulo France - VAT Anti-Fraud Certification for Point of Sale (CGI 286 I-3 bis) (l10n_fr_pos_cert).

  2. Configura el campo Country en el registro de la empresa para cifrar los asientos para la verificación de inalterabilidad.

  3. Descarga el certificado de conformidad obligatorio entregado por Odoo SA.

Funciones antifraude

El módulo antifraude ofrece las siguientes funciones:

Inalterabilidad

Todos los métodos para cancelar o modificar datos clave en pedidos de TPV, facturas y asientos contables están desactivados para las empresas ubicadas en Francia o cualquier DOM-TOM.

Nota

En un entorno multiempresa, solo se ven afectados los documentos de dichas empresas.

Seguridad

Para garantizar la inalterabilidad, cada pedido o asiento contable se cifra al validarse. Este número (o hash) se calcula a partir de los datos clave del documento y el hash de los documentos precedentes. El módulo introduce una interfaz para probar la inalterabilidad de los datos. La prueba fallará si se modifica cualquier información en un documento después de su validación. El algoritmo recalcula todos los hashes y los compara con los iniciales. En caso de fallo, el sistema señala el primer documento corrupto registrado en el sistema.

Solo los usuarios con derechos de acceso de administrador pueden iniciar la verificación de inalterabilidad:

  • Para pedidos de TPV, ve a Punto de venta ‣ Informes ‣ POS Inalterability Check;

  • For invoices or journal entries, go to Invoicing/Accounting ‣ Reporting ‣ POS Inalterability Check.

Almacenamiento

El sistema también procesa cierres de ventas automáticos diarios, mensuales y anuales. Estos cierres calculan el total de ventas del período y los totales acumulados desde el primer asiento de ventas registrado en el sistema.

Para acceder a los cierres, ve a Punto de Venta ‣ Informes ‣ Cierres de ventas o Facturación/Contabilidad ‣ Informes ‣ Cierres de ventas.

Nota

  • Los cierres calculan los totales para los asientos contables de los diarios de venta (tipo de diario = ventas).

  • Para entornos multiempresas, estos cierres se realizan para cada empresa por separado.

  • POS orders are posted as journal entries at the closing of the POS session. Closing a POS session can be done anytime. To prompt users to do it daily, the module prevents them from resuming a session that was opened more than 24 hours ago. Such a session must be closed before selling again.

  • El total de un período se calcula a partir de todos los asientos contables publicados después del cierre anterior del mismo tipo, independientemente de su fecha de publicación. Registrar una nueva transacción de ventas para un período ya cerrado se contará en el siguiente cierre.

Truco

Para propósitos de prueba y auditoría, los cierres pueden generarse manualmente en modo desarrollador. Para hacerlo, ve a Ajustes ‣ Técnico ‣ Acciones programadas. En la vista de lista de acciones programadas, abre la acción Cierre de ventas deseada y haz clic en Ejecutar manualmente.

Responsabilidades

Desinstalar este módulo restablecerá los hashes de seguridad. Esto significa que el sistema ya no garantizará la integridad de los datos pasados.

Los usuarios son responsables de su sistema Odoo y deben operarlo con cuidado. No está permitido modificar el código fuente responsable de garantizar la integridad de los datos.

Odoo no se hace responsable de ningún problema con la funcionalidad de este módulo si es causado por aplicaciones de terceros no certificadas.