Mexique

Modules

Les modules suivants sont automatiquement installés avec la localisation mexicaine :

Nom

Nom technique

Description

Mexique - Comptabilité

l10n_mx

Le package de localisation fiscale par défaut ajoute les caractéristiques comptables pour la localisation mexicaine, telles que : les taxes les plus courantes et le plan comptable — basé sur le code de regroupement de comptes SAT.

EDI pour le Mexique

l10n_mx_edi

Includes all the technical and functional requirements to generate and validate electronic documents — based on the technical documentation published by the SAT. This allows invoices to be sent (with or without addendums) and payment complements to the government.

Rapports de la localisation mexicaine d’Odoo

l10n_mx_reports

Adapts reports for Mexico’s electronic accounting: chart of accounts, trial balance, and DIOT, audit reports, etc.

Les modules suivants sont optionnels. Il est recommandé de les installer uniquement en cas de besoin spécifique pour l’entreprise.

Nom

Nom technique

Description

EDI pour le Mexique (fonctionnalités avancées)

l10n_mx_edi_extended

Ajoute le complément de commerce extérieur aux factures (une exigence légale pour vendre des produits à l’étranger).

Mexique - Guide de livraison électronique

l10n_mx_edi_stock

Enables creating a Carta Porte: A bill of lading that proves to the government that goods are sent between A & B with a signed electronic document. It also installs the Fleet app.

Localisation mexicaine d’Odoo pour Stock/Logistique

l10n_mx_edi_landing

Permet de gérer les numéros de douane liés aux coûts logistiques dans les documents électroniques.

Champs CFDI 4.0 pour les bons de commande

l10n_mx_edi_sale

Ajoute des champs supplémentaires au module Ventes pour se conformer à la facturation électronique mexicaine

Localisation mexicaine pour le Point de Vente

l10n_mx_edi_pos

Ajoute des champs supplémentaires au module Point de Vente pour se conformer à la facturation électronique mexicaine

Localisation mexicaine pour eCommerce

l10n_mx_edi_website_sale

Ajoute des champs supplémentaires au module eCommerce pour se conformer aux exigences de facturation électronique mexicaine

Tutoriels vidéo

Des vidéos sur la localisation mexicaine sont également disponibles. Les flux de travail de base et la plupart des sujets abordés sur cette page sont également disponibles en format vidéo, veuillez consulter les éléments suivants :

Vue d’ensemble de la localisation

Les modules de localisation mexicaine d’Odoo permettent de signer des factures électroniques, conformément aux spécifications du SAT pour la version 4.0 du CFDI, une exigence légale depuis le 1er janvier 2022. Ces modules ajoutent également des rapports comptables pertinents, dont le DIOT, activent le commerce extérieur et permettent la création de guides de livraison.

Note

Pour signer électroniquement des documents dans Odoo, l’application Signature doit être installée.

Prérequis

Il est nécessaire de remplir les conditions suivantes avant de configurer les modules de localisation mexicaine dans Odoo :

  1. Être enregistré auprès du SAT avec un RFC valide.

  2. Have a Certificado de Sello Digital / Digital Seal Certificate (CSD).

  3. Choisir un PAC. Actuellement, Odoo fonctionne avec les PACs suivants : Solución Factible, Quadrum et SW Sapien - Smarter Web.

Société

Après avoir installé les modules appropriés, l’étape suivante consiste à vérifier que l’entreprise est configurée avec les données correctes. Pour ce faire, aller à Paramètres ‣ Utilisateurs & Sociétés ‣ Sociétés et sélectionner l’entreprise à configurer.

Saisir l”adresse complète dans le formulaire résultant, y compris : le code postal, l”état, le pays et le RFC (numéro d”identification fiscale).

Conformément aux exigences du CFDI 4.0, le nom du contact principal de l’entreprise doit correspondre à la raison sociale enregistrée auprès du SAT, sans l’abréviation de l’entité juridique. Il en va de même pour le code postal.

Important

D’un point de vue légal, les entreprises mexicaines doivent utiliser la devise locale (MXN). Pour utiliser une autre devise, laisser MXN comme devise par défaut et utiliser plutôt une liste de prix.

Ensuite, aller à Comptabilité ‣ Paramètres et faire défiler jusqu’à la section Facturation électronique MX. Sous Service Tax Administration (SAT), sélectionner le régime fiscal qui s’applique à l’entreprise dans la liste déroulante et cliquer sur Enregistrer.

Astuce

To test the Mexican localization, make sure the following fields are filled in:

  • Company form:

    • Company Name: enter INNOVACION VALOR Y DESARROLLO SA SA

    • Address: fill in all fields with a real address in Mexico, and 58000 as Zip

    • RFC: enter IVD920810GU2

  • Go to Accounting ‣ Configuration ‣ Settings and scroll down to the MX Electronic invoicing section. In the Fiscal Regime field, select General de Ley Personas Morales.

Branches

When using branches, invoicing information is taken from the main company except for the zip code. Unless the RFC is set on the branch, then Odoo uses the branch information instead.

Branches enable users to establish multiple brands within the same parent company. Additionally, when different fiscal regimes are required for invoicing purposes, it is necessary to create a branch for each regime. By default, the regime is inherited from the parent company. However, if the regime is explicitly set on the branch, Odoo adopts the regime applicable to that branch.

Contacts

Note

Installer l’application Contacts pour accéder aux fiches de contact.

Pour créer un contact pouvant être facturé, aller à l’application Contacts et cliquer sur Nouveau. Ensuite, saisir le nom du contact, l”adresse complète incluant le code postal, l”état, le pays et le RFC (identifiant fiscal).

Important

Comme pour l’entreprise elle-même, tous les contacts doivent avoir leur raison sociale correcte enregistrée auprès du SAT. Le régime fiscal doit également être ajouté dans l’onglet Ventes & Achats.

Avertissement

Avoir un RFC (Tax ID) défini sans Country configuré peut entraîner des factures incorrectes.

Taxes

Afin de signer correctement les factures, définir les champs Factor Type et Tax Object sur les taxes de vente.

Astuce

Les retenues à la source RESICO ISR et certaines taxes IEPS sont créées automatiquement, mais la fonctionnalité n’est pas active par défaut. Pour l’activer, aller dans Comptabilité ‣ Configuration ‣ Taxes.

Type de facteur

Les champs Factor Type et SAT Tax Type sont préchargés dans les taxes par défaut.

Pour les nouvelles taxes, définir ces champs dans Comptabilité ‣ Configuration ‣ Taxes et cliquer sur Nouveau. Définir le Type de taxe sur Ventes. Dans l’onglet Options avancées, remplir les champs SAT Tax Type et Factor Type.

Odoo prend en charge quatre groupes de SAT Tax Types : IVA, ISR, IEPS et Local Taxes.

Si le type de facteur est Quota, les méthodes de calcul standard ne peuvent pas être utilisées. Définir plutôt le calcul de la taxe sur Formule personnalisée.

Example

\[result = quantity * 6.455\]
  • quantity = le nombre d’articles dans la transaction

  • 6.455 = la valeur du quota (un montant fixe par unité)

  • Seuls les quotas par unité sont pris en charge, pas les quotas basés sur d’autres facteurs

Astuce

Le Mexique gère deux types différents de TVA à 0 % pour deux scénarios :

  • For 0% VAT, set the Factor Type to Tasa.

  • For VAT Exempt, set the Factor Type to Exento.

Note

Les taxes locales sont générées dans un nœud séparé du fichier XML, celles-ci ne sont pas validées par le PAC.

Avertissement

Les quotas et formules personnalisées nécessitent le module Define Taxes as Python Code. Voir Taxes.

Objet fiscal

Une exigence du CFDI 4.0 est que le fichier XML résultant gère la ventilation des taxes de l’opération conformément à la réglementation. Huit valeurs différentes peuvent être ajoutées dans le fichier XML :

  • 01 : Aucun objet fiscal : Cette valeur est ajoutée automatiquement si la ligne de facture ne contient aucune taxe.

  • 02 : Objet fiscal : Ceci est la configuration par défaut de toute ligne de facture contenant des taxes.

  • 03 : Objet fiscal sans ventilation requise : Ceci ne peut être ajouté que manuellement.

  • 04 : Objet fiscal et n’a pas de taxe : cela ne peut être ajouté que manuellement.

  • 05 : Objet fiscal, TVA pour PODEBI : cela ne peut être ajouté que manuellement.

  • 06: VAT Object, No VAT forwarded: This object is selected when there is an ISR withholding and no VAT tax.

  • 07: No VAT forwarded, IEPS breakdown: This object is selected when there is an ISR withholding, IEPS tax and no VAT tax.

  • 08 : Pas de TVA transmise, ventilation IEPS : cet objet ne peut être ajouté que manuellement.

Avertissement

Using either 01, 03, 04, or 05 removes the tax node from the XML file.

Important

Le statut Ventilation IEPS affecte le comportement des objets fiscaux en raison de l’absence de IEPS lorsque la ventilation n’a pas lieu.

Taxes locales

Les taxes locales (par exemple, ISH, Cedullar) nécessitent un nœud XML distinct et peuvent ne pas suivre la logique fiscale standard.

Lors de la configuration d’une taxe locale, son nom apparaît dans le complément de taxe locale. Le taux est traité comme une retenue s’il est négatif, ou reporté s’il est positif.

Ventilation IEPS

Par défaut, Odoo masque le IEPS dans les factures afin que le sous-total sur lequel la TVA est calculée inclue le montant de IEPS, ceci pour garantir que les régimes fiscaux qui ne le nécessitent pas ne le reçoivent pas.

Il est possible de rendre le IEPS visible dans le XML en cochant la case Ventilation IEPS dans chaque contact sur l’onglet Ventes & Achats.

Important

When using either eCommerce invoicing or the Self invoicing portal, the customer has the option to decide whether or not to have the IEPS breakdown.

Autres configurations fiscales

La localisation mexicaine utilise les taxes en base de caisse. Lors de l’enregistrement d’un paiement, Odoo effectue le mouvement des taxes du Compte de transition de base de caisse vers le compte défini dans l’onglet Définition de l’enregistrement de taxe défini sur la ligne de facture ou de note de frais. Pour un tel mouvement, un compte de base fiscale est utilisé : (899.01.99 Base Imponible de Impuestos en Base a Flujo de Efectivo) dans la pièce comptable lors de la reclassification des taxes. Ne pas supprimer ce compte.

Retenues

Par défaut, Odoo inclut les retenues avec des distributions spéciales pour allouer la TVA.

Lors de l’enregistrement d’une facture, ajouter la retenue et sa TVA correspondante. Les deux doivent être incluses sur la facture fournisseur pour assurer une comptabilité correcte. L’utilisation des positions fiscales est recommandée afin que l’écriture en base de caisse répartisse correctement la distribution.

Example

Pour une facture fournisseur de location de 10 000 MXN, la retenue de location de 10,67 % correspond à une TVA 16 % 2/3 H. Les deux taxes doivent être appliquées ensemble pour refléter la comptabilité correcte.

Écriture en base de caisse avec TVA répartie entre payée et due.

Note

Withholdings CFDI is not currently supported. Consult with an accountant about the proper distribution.

Produits

To configure products, go to Accounting ‣ Customers ‣ Products. Open an existing product or click New. In the Accounting tab, set the UNSPSC Product Category. Products and categories can be set manually, or through a bulk import.

Note

Tous les produits doivent avoir un code SAT associé afin d’éviter les erreurs de validation.

Facturation électronique

Identifiants PAC

After processing the Private Key (CSD) with the SAT, register directly with a PAC before creating any invoices in Odoo.

Once an account has been created with any of these providers, go to Accounting ‣ Configuration ‣ Settings and navigate to the MX Electronic invoicing section. Under the Authorized Certification Provider (PAC) section, enter the name of your PAC with the corresponding credentials (PAC username and PAC password).

Configurer les identifiants PAC depuis les paramètres de comptabilité.

Astuce

Pour tester la facturation électronique sans identifiants, activez la case Environnement de test MX PAC et sélectionnez Solucion Factible comme PAC. Il n’est pas nécessaire d’ajouter un nom d’utilisateur ou un mot de passe pour un environnement de test.

Certificats .cer et .key

Les certificats numériques de l’entreprise doivent être téléversés dans la section Certificats. Pour ce faire, accédez à Paramètres ‣ Paramètres généraux ‣ Certificats et clés.

Sous Gérer vos certificats, cliquez sur le lien Clés pour accéder à la vue liste Clés. Cliquez sur Créer, téléversez le fichier de Clé numérique (fichier .key), ajoutez un Nom à la clé et saisissez le Mot de passe de la clé privée.

Depuis Paramètres ‣ Paramètres généraux ‣ Certificats et clés, sélectionnez Certificats pour accéder à la vue liste Certificat. Cliquez sur Créer, téléversez le Certificat numérique (fichier .cer), ajoutez un Nom au certificat et sélectionnez la Clé privée créée à l’étape précédente dans le menu déroulant.

Note

Les champs Mot de passe du certificat et Clé publique sur les enregistrements Certificat sont facultatifs.

Astuce

To test the electronic invoicing, the following SAT test certificates are provided and can be tested with either Quadrum or Solución Factible as PAC:

Comptabilité

Facturation électronique

Le processus de facturation dans Odoo est basé sur l”Annexe 20 de la version 4.0 de la facturation électronique du SAT.

Factures clients

Pour commencer à facturer depuis Odoo, une facture client doit être créée en utilisant le flux de facturation standard.

Tant que le document est en mode brouillon, des modifications peuvent y être apportées ; certains champs prennent des valeurs définies précédemment dans la commande client ou le contact.

Les champs à vérifier sont :

  • CFDI to public

  • Usage

  • Payment Policy

  • Payment Method, if Payment Policy is not set as PPD

Astuce

Usage, Politique de paiement et Méthode de paiement peuvent être définis au préalable sur une commande client et/ou peuvent être définis sur le contact pour chaque facture.

La politique de paiement est un champ sélectionnable sur la facture et peut être définie manuellement selon la politique requise. Toutefois, si aucune politique n’est sélectionnée, Odoo calculera automatiquement une politique basée sur les règles générales suivantes :

La valeur sera définie sur PUE si la date d’échéance à laquelle le paiement est attendu se situe dans le mois en cours ; si la date est en dehors du mois en cours, la politique sera définie sur PPD à la place.

Avertissement

Si la politique de paiement n’est pas sélectionnée et que la politique PPD est attendue, sélectionnez soit une Date d’échéance de facture sur un mois différent du mois en cours, soit choisissez des Conditions de paiement impliquant un changement du mois d’échéance (par ex., 30 jours ou 15 jours, tant qu’ils tombent le mois suivant).

Après avoir cliqué sur Confirmer dans la facture client, cliquer sur le bouton Envoyer pour traiter la facture auprès du gouvernement. S’assurer que la case CFDI est cochée.

Case à cocher CFDI

Après réception du document signé par le gouvernement, le champ Folio fiscal apparaît sur le document, et le fichier XML apparaît à la fois dans l’onglet CFDI et en pièce jointe dans le chatter.

Si une adresse e-mail est configurée sur la fiche contact du client, cocher les cases par e-mail et CFDI envoie ensemble les fichiers XML et PDF.

Pour télécharger le fichier PDF localement, cliquer sur le bouton Imprimer.

Astuce

When clicking Update SAT, the SAT status field on the invoice confirms if the XML file is Validated in the SAT.

On a testing environment, the message Not Found commonly appears.

Avertissement

Invoices with a Country different from Mexico or missing the Zip field in the customer form are classified as CFDI to public and addressed to a generic customer. The CFDI to public checkbox stays active on the invoice form until valid partner information is provided. Once the contact information for a national customer is complete, the checkbox is automatically deactivated.

Arrondi des paiements en espèces

In the Mexican localization, cash rounding is supported using the Add a rounding line method. This adds a rounding line that changes the paid amount, but does not change the amount in the CFDI.

Avoirs

Lorsque la facture est du type « I » (Ingreso), l’avoir est du type « E » (Egreso).

En complément du processus standard pour les notes de crédit, une exigence du SAT impose qu’il y ait une relation entre une note de crédit et une facture via le folio fiscal.

En raison de cette exigence, le champ Origine CFDI ajoute cette relation avec un 01|, suivi du folio fiscal de l”UUID original.

When creating credit notes, make sure the line description clearly indicates its purpose and specifies which entry applies to a bonus, discount, or refund.

Astuce

Pour que le champ Origine CFDI soit automatiquement ajouté, utiliser le bouton Ajouter une note de crédit depuis la facture, au lieu de la créer manuellement.

Généralement, les notes de crédit inversent le compte de ventes principal défini dans le journal, mais il est également possible d’attribuer globalement un compte à toutes les notes de crédit. Pour ce faire, allez dans Comptabilité ‣ Configuration ‣ Paramètres et définissez le compte Notes de crédit sous la section Comptes par défaut.

Note

Dans la configuration par défaut, le compte des notes de crédit est défini comme 402.01.01 Retours, remises ou bonifications sur ventes et/ou services au taux général.

Astuce

The Payment Policy can be manually forced before stamping.

Factures fournisseurs

Vendor bills must have a fiscal folio for reports and payments to work correctly. If the vendor bill was created by the Purchase app or added manually, add the XML file of the invoice to the chatter as a log note. This updates the fiscal folio accordingly. The bill must be in draft state for the update to happen.

Astuce

En cliquant sur Mettre à jour SAT, le champ Statut SAT de la facture confirme si le fichier XML est Validé par le SAT, ce qui est également vrai pour les factures fournisseurs.

Voir également

Factures fournisseurs

Journaux

The module EDI for Mexico (Advanced Features) (l10n_mx_edi_extended) must be installed on the database to complete the Address Issued field on the sales journal. This ensures that all invoices from that sales journal, as well as global invoices, use the correct ZIP code when generating the CFDI.

To invoice within a company under different time zones with the same user, create a system parameter to ensure the correct time zone is applied when invoicing, as the user’s time zone is used by default.

Pour ce faire, activer le mode développeur et aller dans Paramètres ‣ Technique ‣ Paramètres système. Cliquer sur Nouveau pour créer un nouveau paramètre avec la clé l10n_mx_edi_tz_XX où XX est l’ID du journal, et définir le fuseau horaire souhaité comme valeur, par exemple « America/Tijuana ».

Paiements

Politique de paiement

Un ajout de la localisation mexicaine est le champ Politique de paiement. Selon la documentation SAT, il existe deux types de paiements :

  • PUE (Pago en una Sola Exhibición/paiement en une seule fois)

  • PPD (Pago en Parcialidades o Diferido/Payment in Installments or Deferred)

Avertissement

Payment complements are only generated if the policy of the invoice is set to PPD.

Exemple d'une facture avec les exigences PUE.

Si la facture a une date d’échéance en dehors du mois en cours, elle sera par défaut définie sur PPD.

Exemple d'une facture avec les exigences PPD.
Flux de paiement

Dans les deux cas, le processus de paiement dans Odoo est le même, la principale différence étant que les paiements liés aux factures PPD, par la loi, doivent être envoyés au gouvernement en tant que document de type « P » (Pago).

Si un paiement est lié à une facture PUE, il peut être enregistré via la fenêtre de paiement et être associé à la facture correspondante. Pour ce faire, aller à Comptabilité ‣ Clients ‣ Factures, et sélectionner une facture. Ensuite, cliquer sur le bouton Payer pour ouvrir la fenêtre de paiement, définir le Mode de paiement et tout autre champ, puis cliquer sur Créer le paiement.

Bien que ce processus soit le même pour les factures PPD, l’ajout de la création d’un document électronique implique que certaines exigences supplémentaires sont nécessaires pour envoyer correctement le document au SAT.

D’un point de vue légal, les factures PPD doivent inclure le Mode de paiement spécifique par lequel le paiement a été reçu. Pour cette raison, le champ Mode de paiement ne peut pas être défini sur À définir, et le champ deviendra donc invisible lors de sa sélection.

Note

  • Si un numéro de compte bancaire est requis, l’ajouter dans l’onglet Comptabilité de la fiche contact du client.

  • Les configurations exactes figurent dans l”Annexe 20 du SAT. Généralement, le compte bancaire doit comporter 10 ou 18 chiffres pour les transferts et 16 chiffres pour les cartes de crédit ou de débit.

Si un paiement entièrement lettré est lié à une facture avec un Fiscal Folio, le bouton Update Payments apparaît. Cliquer sur le bouton Update Payments pour envoyer automatiquement le fichier XML du complément de paiement au gouvernement et l’afficher dans l’onglet CFDI de la facture et du paiement.

Comme pour une facture ou une note de crédit, le PDF et le XML peuvent être envoyés au client final. Pour ce faire, cliquer sur l’icône (engrenage) pour ouvrir le menu déroulant des actions et sélectionner Send receipt by email depuis la vue du paiement.

To download the payment PDF from the CFDI tab on the invoice, regardless of whether the payment was created with or without reconciliation, click Print.

Exemple du bouton d'impression dans l'onglet CFDI.
Annulation de paiement

Pour annuler les compléments de paiement, aller dans l’onglet CFDI de la facture associée et cliquer sur Annuler sur la ligne du complément de paiement.

Like with invoices, go to the payment and click Update SAT to change the SAT Status and Status to Cancelled.

Note

When substituting a payment complement, unreconcile the current payment. Then, to link the new payment to the original document, add 04| followed by the fiscal folio in the CFDI Origin field. If the new payment is signed after the substituted document is linked, the older payment is cancelled.

Affacturage

Factoring is a financial transaction in which a business sells its accounts receivable (outstanding invoices) to a specialized financial institution, known as a factor, to gain immediate liquidity.

To record a payment for financial factoring, follow these steps:

  1. Go to Accounting ‣ Configuration ‣ Settings, scroll down to the Default Accounts section and ensure a Factoring account is selected in the Factoring account field.

  2. From the Accounting Dashboard, click Bank on its corresponding Kanban card to manually add a transaction line and record the factoring payment. Complete the following fields:

    • Label: Enter a brief description of the transaction.

    • Partner: Select the financial institution (factor) that will purchase the debt.

    • Amount: Enter the actual amount to be received by the factor.

    Important

    The currency of the factoring payment must match the bank journal’s currency.

  3. In the newly created transaction line, click the (vertical ellipsis) icon and select Reconcile.

  4. In the Search: Journal Items to Match window, remove the Partner filter, select the related invoices to be paid by the factor, and click Select.

    Note

    Do not select the tax lines related to the invoices.

  5. In the Distribute Payment window, fill in the following fields to distribute the payment on the selected invoices:

    • Amount: Enter the amount that will actually be received from the factor.

    • Compensation: Enter the compensation that was paid to the factor.

    Astuce

    • The Amount and Compensation amounts are provided by the factor and are stated on the factoring receipt.

    • Make sure the Amount and Compensation amounts equal the Due amount. If it exceeds the Due amount, the line is highlighted in red.

    • The To distribute field should balance the Amount to the transaction amount entered, ensuring it equals zero.

  6. Cliquez sur Enregistrer.

In the Bank Matching view, the factoring payment is then reconciled with the relevant invoices, and the factoring commission is allocated to the Factoring account set up.

To generate the XML file, go to Accounting ‣ Customers ‣ Invoices, access one of the paid invoices, and click Update Payments.

Note

  • The factoring company can retain a portion of the invoice amount, referred to as aforo, until the end customer completes payment. The retained balance is then released to the vendor.

  • For multi-currency factoring, use the (adjust settings) button in the Distribute Payment window and add the Due (Company) column to display the due amount in the company’s currency.

Annulation des factures

Il est possible d’annuler les documents EDI envoyés au SAT. Selon la Reforma Fiscal 2022, depuis le 1er janvier 2022, deux conditions sont requises pour cela :

  • Toutes les demandes d’annulation nécessitent un motif d’annulation.

  • Après 24 heures suivant la création de la facture, le client doit être sollicité pour approuver l’annulation. En l’absence de réponse dans les 72 heures, l’annulation est traitée automatiquement.

Invoice cancellations are updated automatically in Odoo, but the update can take some time. To check the cancellation status, click Update SAT.

Les annulations de factures peuvent être effectuées pour l’une des raisons suivantes :

  • 01 - Facture émise avec des erreurs (avec document associé)

  • 02 - Facture émise avec des erreurs (sans remplacement)

  • 03 - L’opération n’a pas été effectuée

  • 04 - Opération nominative liée à la facture globale

Pour initier une annulation, aller dans Comptabilité ‣ Clients ‣ Factures, sélectionner la facture comptabilisée à annuler et cliquer sur Request Cancel. Ensuite, se référer aux sections Motif d’annulation 01 ou Raisons d’annulation 02, 03 et 04, selon le motif d’annulation.

Astuce

Alternativement, demander une annulation depuis l’onglet CFDI en cliquant sur Cancel sur la ligne concernée.

Note

  • Si une annulation est demandée sur une période verrouillée, le CFDI sera annulé mais pas l’écriture comptable.

  • Si le client rejette l’annulation, la ligne d’annulation de facture est supprimée de l’onglet CFDI.

Motif d’annulation 01
  1. Dans la fenêtre contextuelle Demander l’annulation du CFDI, sélectionner 01 - Facture émise avec erreurs (avec document associé) dans le champ Raison et cliquer sur Créer une facture de remplacement pour créer un nouveau brouillon de facture. Ce nouveau brouillon de facture remplace la facture précédente, ainsi que le CFDI associé.

  2. Confirmer le brouillon et envoyer la facture.

  3. The substituted invoice automatically cancels the original invoice once the new one is signed.

L’annulation de la facture est alors générée avec une ligne de raison dans l’onglet CFDI.

Ligne de facture annulée dans l'onglet CFDI.

Note

Lors de l’utilisation de la raison d’annulation 01 - Facture émise avec erreurs (avec document associé), le préfixe 04| apparaît dans le champ Folio fiscal. Il s’agit d’un préfixe interne utilisé par Odoo pour compléter l’annulation et ne signifie pas que la raison d’annulation était 04 - Opération nominative liée à la facture globale.

Raisons d’annulation 02, 03 et 04

Dans la fenêtre contextuelle Demander l’annulation du CFDI, sélectionner la Raison d’annulation souhaitée et Confirmer l’annulation.

Ce faisant, l’annulation de la facture est générée avec une ligne de raison dans l’onglet CFDI.

Note

Si le Statut SAT repasse à Validé, cela peut être dû à l’une de ces trois raisons :

  • The invoice is labeled as No Cancelable in the SAT Website. due to the fact that it has a valid related document: Either another invoice linked with the CFDI Origin field or a Payment Complement. If so, cancel any other related document first.

  • La demande d’annulation est toujours en cours de traitement par le SAT. Dans ce cas, patienter quelques minutes et réessayer.

  • The final customer needs to reject or accept the cancellation request in their Buzón Tributario. This can take up to 72 hours. If the cancellation request is rejected, repeat the process.

Pour les raisons d’annulation 02, 03 et 04, le bouton Créer une facture de remplacement est remplacé par un bouton Confirmer qui demande l’annulation immédiatement.

L”État actuel et la Raison d’annulation se trouvent dans l’onglet CFDI.

Ancienne facture avec origine CFDI.
Cancellation acknowledgement

To print a cancellation PAC response after cancelling a CFDI, click Print on the corresponding cancellation line in the CFDI tab of the invoice form.

To include the current SAT status in the PDF, click Update SAT in the invoice form. Note that when a payment is reviewed, the invoice status is updated accordingly.

Cancellation acknowledgement example.

Important

A cancellation acknowledgement confirms that the cancellation was requested successfully, but it is not definitive proof that the CFDI has been fully cancelled.

Cas d’utilisation particuliers de la facturation

Relations CFDI

To relate the current document to previously signed CFDIs, fill in the CFDI Origin field on the invoice and specify the relation using one of the seven available values:

  • 01 : Nota de crédito

  • 02 : Nota de débito de los documentos relacionados

  • 03 : Devolución de mercancía sobre facturas o traslados previos

  • 04 : Sustitución de los CFDI previos

  • 05 : Traslados de mercancias facturados previamente

  • 06 : Factura generada por los traslados previos

  • 07 : CFDI por aplicación de anticipo

Astuce

Le format est : Type d’origine|UUID1, UUID2, …., UUIDn où plusieurs types d’origine peuvent être ajoutés.

Example

Voici un exemple avec deux relations :

04|042FE739-7B45-4D64-B26D-360000876D83,
07|A164BAF8-8016-428C-A422-D9BD2F68F6A0,CEAD9433-3B77-4270-85BF-AC2519587514
  • La première section a le type de relation 04 avec 1 UUID

  • La deuxième section a le type de relation 07 avec 2 UUID

De plus, toute combinaison est également visible sur le PDF signé.

Exemple du PDF avec 3 relations.
Multi-devises

The main Currency in Mexico is MXN. While this is mandatory for all Mexican companies, it is possible to send and receive invoices (and payments) in different currencies. To enable the use of multicurrency, navigate to the Accounting ‣ Configuration ‣ Currencies, and set [MX] Bank of Mexico as the Service in the Automatic Currency Rates section. Then, set the Interval field to the desired frequency to update the exchange rates.

Ainsi, le fichier XML du document aura le taux de change correct et le montant total, à la fois dans la devise étrangère et en MXN.

Il est fortement recommandé d’utiliser des comptes bancaires distincts pour chaque devise.

Note

Les seules devises dont le taux de change est automatiquement mis à jour quotidiennement sont : USD, EUR, GBP, JPY et CNY.

Remises

Selon la loi, les documents électroniques envoyés au gouvernement ne peuvent pas contenir de lignes négatives, car cela peut déclencher des erreurs. Par conséquent, lors de l’utilisation de cartes cadeaux ou de programmes de fidélité, les lignes négatives qui en résultent seront traduites dans le XML comme s’il s’agissait de remises classiques.

Pour configurer cela, accédez à Ventes ‣ Produits ‣ Produits et créer un produit Remises. Assurez-vous qu’il dispose d’une taxe valide (généralement IVA à 16%).

Après cela, créer et signer la facture via CFDI, et ajouter le produit Remises en bas. Dans le XML, Odoo distribuera la remise entre les lignes de manière uniforme, tandis que toute différence mathématique sera ajoutée dans un produit d’arrondi.

Astuce

Une remise et une catégorie de produit UNSPSC doivent être créées pour chaque variante de produit liée aux cartes cadeaux ou aux programmes de fidélité.

Acomptes

A common practice in Mexico is the usage of down payments. They are primarily used when a payment is received for a good or service whose product, price, or both have not been fully determined.

Le SAT permet deux manières différentes de gérer ce processus : toutes deux impliquent de lier toutes les factures entre elles avec le champ Origine CFDI.

Note

Pour ce processus, l’application Ventes doit être installée.

Configuration

Tout d’abord, accédez à Ventes ‣ Produits ‣ Produits pour créer un produit Anticipo et le configurer. Le type de produit doit être service, et utiliser la catégorie UNSPSC 84111506 Servicios de facturación.

Ensuite, accédez à Ventes ‣ Configuration ‣ Facturation ‣ Acomptes, et ajouter le produit Anticipo par défaut.

Méthode A

This method consists of creating a down payment invoice, creating an invoice for the total amount, and finally, creating a credit note for the total of the down payment.

Tout d’abord, créer une commande client avec le montant total, et créer un acompte à partir de celle-ci (en utilisant un pourcentage ou un montant fixe). Ensuite, signer le document via CFDI et enregistrer le paiement.

Lorsque le moment est venu pour le client d’obtenir la facture finale, la créer à nouveau à partir de la même commande client. Dans la fenêtre créer une facture, sélectionner facture normale. Assurez-vous de supprimer la ligne qui contient le produit Anticipo.

Astuce

Lors de l’utilisation d’acomptes avec la localisation mexicaine, assurez-vous que la politique de facturation des produits est quantités commandées. Sinon, une note de crédit client sera créée.

Then, copy the Fiscal Folio from the down payment invoice, and paste it into the CFDI Origin field of the final invoice. Add the prefix 07| before the value and sign the document via CFDI.

Enfin, créer une note de crédit pour la première facture. Copier le folio fiscal de la facture finale et le coller dans l”origine CFDI de la note de crédit, en ajoutant le préfixe 07|. Ensuite, signer le document via CFDI.

With this, all electronic documents are linked to each other. The final step is to fully pay the new invoice. At the bottom of the new invoice, the credit note appears in the Outstanding credits; add it as payment. Finally, register the remaining amount with the Pay popup.

Dans la commande client, les trois documents devraient apparaître comme « En paiement ».

Méthode B

Une autre façon plus simple de répondre aux exigences SAT consiste à créer uniquement la facture d’acompte et une deuxième facture pour le reliquat. Cette méthode repose sur le fait que les lignes négatives sont traitées comme des remises.

For this, follow the same process as Method A, up until the creation of the final invoice. Do not delete the line that contains the Anticipo and instead rename the other products Description to include the text CFDI por remanente de un anticipo. Add the Fiscal Folio of the down payment invoice in the CFDI Origin field of the final invoice, adding the prefix 07|.

Enfin, signer la facture finale via CFDI.

Addendas et compléments

An addenda is a code addition to an invoice XML file that provides extra information beyond legal requirements. It is added after the invoice has been signed. A complement is a fiscal addition that reports specific fiscal operations and is added before the invoice is signed. Only a limited number of complements are available, and some are already included in Odoo. See the SAT complement documentation for more information.

Addendas and complements can be included in the XML. To add one, go to Accounting ‣ Configuration ‣ Addendas & Complementos (MX) and click New to enter the code to be injected. Additional fields beyond standard Odoo may be required.

Avertissement

Cette section peut nécessiter des connaissances techniques et risque d’ajouter de la dette technique ; il est recommandé de demander conseil à votre gestionnaire de compte pour obtenir les meilleurs conseils techniques.

Une fois les nœuds souhaités créés, ils peuvent être sélectionnés sur chaque contact pour les faire apparaître sur chaque facture adressée à ce contact. Par défaut, tous les nœuds sélectionnés seront ajoutés automatiquement sur chaque facture.

Il est également possible de simplement sélectionner les nœuds nécessaires sur chaque facture en sélectionnant l’onglet Autres informations puis en choisissant les nœuds souhaités dans Addendas & Complementos

Astuce

Il est possible d’en ajouter plus d’un par contact ou par facture.

Lecteur XML

On certain occasions, such as when creating invoices in another software or in the SAT directly, it is possible to upload invoices to Odoo. The XML Reader can retrieve the data from an XML file. To do this, navigate to Accounting ‣ Customers ‣ Invoices and, in the list view, click Upload to select any number of XML files. Draft invoices are automatically created. This can also work by dragging files from a local storage and dropping them in the view.

Les factures brouillons récupèreront les Informations client (si elles n’existent pas, de nouvelles seront créées), les Lignes de produit (uniquement si des produits portant le même nom existent déjà) et calculeront toutes les taxes et champs supplémentaires exclusifs à la localisation mexicaine. Les informations d’importation apparaîtront dans le fil de discussion.

Avertissement

Selon l’origine de création de la facture, les fichiers XML peuvent avoir des valeurs différentes du total calculé dans Odoo. Toujours vérifier tout document téléchargé de cette manière.

Customer Invoices created this way can create payment complements and can be canceled at any time. If the Print option is used, the PDF document includes all the corresponding information.

Cela peut également être fait pour les Factures fournisseurs.

Astuce

Pour récupérer le Folio fiscal, glisser-déposer les fichiers XML comme note de journal dans le fil de discussion pour les factures brouillons créées précédemment.

CFDI au public

Le gouvernement mexicain exige que tous les biens ou services vendus soient justifiés par une facture. Si le client n’exige pas de facture ou n’a pas de RFC, un CFDI au public doit être créé, également appelé facture « nominative ».

Un contact doit être créé avec un nom particulier.

If the CFDI to Public checkbox in either a sales order or an invoice is checked, the final XML will override the data in the invoice contact and will add the following characteristics:

  • RFC : XAXX010101000 s’il s’agit d’un client national ou XEXX010101000 s’il s’agit d’un client étranger

  • Code postal : Le même code que celui de l’entreprise

  • Usage : S01 - Sans effets fiscaux

Case CFDI au public

Si le client final ne partage aucune information, créer un Client générique. Le nom ne peut pas être PUBLICO EN GENERAL sous peine de déclencher une erreur (il peut être, par exemple, CLIENTE FINAL).

Avertissement

By default, sending the invoice is not allowed if the partner does not have either the Country or ZIP code set. However, this is not required if the CFDI to public checkbox is active.

Facture globale

If by the end of a certain period of time (that can vary from daily to bimonthly, depending on the company’s legal needs and preferences) and the customer still has sales that weren’t marked as regular invoices or individual CFDI to Public invoices, the SAT allows for the creation of a single invoice that can contain all operations, known as a global invoice.

Note

Pour ce processus, l’application Ventes doit être installée.

Configuration

La Série de facture globale est spécifique à chaque succursale ou entreprise et est utilisée pour définir la séquence des factures globales. Pour la configurer, aller dans Comptabilité ‣ Configuration ‣ Paramètres, et naviguer jusqu’à la section Facturation électronique MX. Le champ Série de facture globale se trouve dans la section Service d’administration fiscale (SAT).

Paramètre de comptabilité avec une société MX.

Astuce

La séquence par défaut pour chaque société/succursale est GINV/

Flux de ventes

Créer d’abord un journal dédié dans Comptabilité ‣ Configuration ‣ Journaux pour maintenir une séquence distincte utilisée pour les factures globales, qui fonctionnent comme des commandes lors de leur création.

Ensuite, assurez-vous que toutes les commandes qui doivent être signées ont les configurations suivantes :

  • Case CFDI to Public cochée

  • Statut de facturation marqué comme À facturer

Ensuite, aller dans Ventes ‣ À facturer ‣ Commandes à facturer, sélectionner toutes les commandes concernées et cliquer sur Créer des factures. Désactiver la case Facturation consolidée et cliquer sur Créer un brouillon de facture.

In the list of draft invoices displayed, select all, click Actions, and select Confirm entries. Then, select all posted invoices again and return to the Actions drop-down menu to select Create Global Invoice.

In the Create Global Invoice window, select the Periodicity recommended by an accountant and use the Date field to specify the period to be invoiced. Then, click Create. Verify all invoices are signed under the same XML file and share the same Fiscal Folio.

Note

  • The selected Date is used only to extract the month and year for the XML. For bimonthly periodicity, the month determines the period declared as follows:

    • Months 1-12: Standard month number (January = 1, February = 2, etc.)

    • January - February -> 13

    • March - April -> 14

    • May - June -> 15

    • July - August -> 16

    • September - October -> 17

    • November - December -> 18

  • Global invoices created this way won’t include a PDF attachment, as their information is already in Odoo and isn’t meant to be seen by customers.

Example

  • Selecting the date 01/12/2026 with monthly periodicity declares month 12 and year 2026.

  • Selecting the date 01/12/2026 with bimonthly periodicity declares month 18 and year 2026.

  • Selecting the date 01/12/2026 with daily periodicity declares month 12 and year 2026.

Astuce

  • Cliquer sur Afficher dans l’onglet CFDI pour afficher une liste avec toutes les factures associées.

  • Cliquer sur Annuler dans l’onglet CFDI pour annuler la facture globale à la fois dans le SAT et dans Odoo.

Electronic accounting reports

Pour le Mexique, la comptabilité électronique fait référence à l’obligation de tenir des registres et écritures comptables par voie électronique, et de saisir les informations comptables sur une base mensuelle, via le site web du SAT.

Elle se compose de trois fichiers XML principaux :

  1. La liste actualisée du plan comptable actuellement utilisé

  2. Une balance générale mensuelle, plus un rapport d’écriture de clôture, également connu sous le nom de : Balance générale Mois 13

  3. Un export des écritures comptables dans le grand livre général (optionnel sauf en cas d’audit obligatoire)

Les fichiers XML résultants sont conformes aux exigences de l”Anexo Técnico de Contabilidad Electrónica 1.3.

En plus de cela, il est possible de générer le DIOT : un rapport des écritures comptables fournisseurs qui impliquent des taxes IVA pouvant être exporté dans un fichier TXT.

Note

To use these reports, the following modules must be installed:

  • Odoo Mexican Localization Reports (l10n_mx_reports)

  • Mexico - Month 13 Trial Balance (l10n_mx_reports_closing)

  • Odoo Mexican XML Polizas Export (l10n_mx_xml_polizas)

Le plan comptable et les rapports Balance générale Mois 13 se trouvent dans Comptabilité ‣ Analyse ‣ Balance générale. Le rapport DIOT se trouve dans Comptabilité ‣ Analyse ‣ Rapport fiscal.

Important

The specific characteristics and obligations of the reports required to be sent might change depending on the fiscal regime. Always contact an accountant before sending any documents to the government.

Plan comptable

The chart of accounts in Mexico follows a specific pattern based on the SAT documentation Código agrupador de cuentas.

It is possible to create any account, as long as it respects SAT’s encoding group: the pattern is NNN.XX.YY, NNN.XX.YYY or NNN.XX.YYY.ZZ.

Example

Some examples are 102.01.99, 401.01.001 or 401.01.001.16.

When a new account is created in Accounting ‣ Configuration ‣ Chart of Accounts, the structure is validated.

Une fois tous les comptes créés, assurez-vous que les bonnes Étiquettes sont ajoutées car elles marquent la nature du compte.

Due to the account hierarchy on parent accounts, set the appropriate Parent Account on each account to create a hierarchy for reports. Accounts without a parent are level 1 accounts; accounts below them are level 2, and so on.

Note

  • Active accounts must be longer than five digits, or they trigger errors in the report. By default, Odoo marks accounts in yellow if the numbering could cause issues later on.

  • If an account is shorter than five characters, mark it as inactive so validations do not apply to it.

  • Accounts shorter than three characters are not reported in XML reports. This is useful to classify accounts.

  • As a good practice, only keep last-level accounts active and keep all parent accounts inactive. This prevents accounting errors, while parent accounts still appear in reports.

Une fois tout configuré, aller dans Comptabilité ‣ Analyse ‣ Balance générale, et cliquer sur le bouton COA SAT (XML) pour générer un fichier XML contenant tous les comptes. Ce fichier XML est prêt à être téléchargé sur le site web du SAT.

Balance comptable

The trial balance reports the initial balance, credits, and total balances of the accounts, provided that their numbering is correct.

To generate an XML file of the trial balance, go to Accounting ‣ Reporting ‣ Trial Balance and select the date. Click the (gear) icon and select SAT (XML). Then, select the appropriate Submit Type from the Export SAT window, depending on whether the trial balance is Normal or Supplementary.

Rapport de balance générale.
Mois 13

Un rapport supplémentaire est le Mois 13 : un bilan de clôture qui montre tous les ajustements ou mouvements effectués en comptabilité pour clôturer l’année.

Pour générer ce document XML, aller dans Comptabilité ‣ Comptabilité ‣ Pièces comptables, et créer un nouveau document. Ici, ajouter tous les montants à modifier, et équilibrer le débit et/ou le crédit de chacun.

After this is done, go to the Other Info tab and check the Month 13 Closing field. If needed, go to Accounting ‣ Reporting ‣ Trial Balance and select the date Month 13, where it is possible to see the total amount of the year, plus all the additions of the journal entry. To generate the XML file, click the (action menu), then select SAT (XML).

Grand livre

Selon la loi, toutes les transactions au Mexique doivent être enregistrées numériquement. Comme Odoo crée automatiquement toutes les écritures comptables sous-jacentes de toutes les factures et paiements, l’exportation du grand livre général suffit pour les audits et/ou les remboursements fiscaux du SAT.

Astuce

Le rapport peut être filtré par période ou par journal, selon les besoins.

Pour créer le XML, allez dans Comptabilité ‣ Rapports ‣ Grand livre général, cliquez sur (menu d’action), puis cliquez sur XML (Polizas). Sélectionnez ensuite parmi quatre types d”Export :

  • Audit fiscal

  • Certification d’audit

  • Retour de marchandises

  • Compensation

Pour Audit fiscal ou Certification d’audit, ajoutez le Numéro de commande fourni par le SAT. Pour Retour de marchandises ou Compensation, ajoutez le Numéro de processus, également fourni par le SAT.

Note

Pour consulter ce rapport sans l’envoyer, utilisez ABC6987654/99 pour le Numéro de commande ou AB123451234512 pour le Numéro de processus.

Déclaration DIOT

The DIOT (Declaración Informativa de Operaciones con Terceros / Informative Declaration of Operations with Third Parties) is an additional obligation with the SAT, where the current status of creditable and non-creditable payments, withholdings, import taxes, and refunds of VAT from the vendor bills are provided to the SAT.

Unlike other reports, the DIOT is uploaded to a website provided by the SAT that contains the A-29 form. In Odoo, it is possible to download the records of all transactions as a TXT file with 54 columns. This file can be uploaded to the form, reducing the data that is manually added.

Le fichier de transactions contient le montant total des paiements enregistrés dans les factures fournisseurs, ventilé par types d’IVA correspondants. Les champs TVA, Pays et Type d’opération sont obligatoires pour tous les fournisseurs.

Pour télécharger le rapport DIOT sous forme de fichier TXT, allez dans Comptabilité ‣ Rapports ‣ Déclaration de taxe. Sélectionnez le mois souhaité, cliquez sur (menu d’action), puis sélectionnez DIOT (TXT).

In case new taxes are created in the database, there are two types of tags. Tags containing tax must go into the tax distribution, and the ones with the base name go on the base of the tax. All lines of a VAT tax must contain at least one tax grid.

Bouton de téléchargement DIOT (TXT).

Important

Il est nécessaire de remplir le champ Type d’opération dans l’onglet Comptabilité de chaque fournisseur pour éviter les erreurs de validation. Assurez-vous que les clients étrangers ont leur Pays défini.

Informations DIOT sur un contact fournisseur.

Sélectionner 87 - Opérations globales fera en sorte que le fichier TXT final fusionnera tous les fournisseurs qui font partie des opérations globales sous une TVA générique : XAXX010101000.

Accounting reports

Two Mexican-specific reports are the Balance Sheet and the Profit and Loss.

Bilan

The report is based on NIF B-6 and is divided into assets, liabilities, and equity, which reflect the current financial state of the company.

Compte de résultat

The report is based on NIF B-3 and is divided into income, operating expenses, comprehensive financial results (RIF), and taxes, which help identify the net profit or financial position of a company.

Commerce extérieur

Le commerce extérieur est un complément à une facture ordinaire qui ajoute certaines valeurs dans le XML et le PDF, aux factures avec un client étranger conformément aux règlements SAT, tels que :

  • L’adresse précise de l’expéditeur et du destinataire

  • L’ajout d’une Fraction tarifaire qui identifie le type de produit

  • Les Incoterms corrects (International Commercial Terms)

  • Et plus encore, comme le certificat d’origine et les unités de mesure spéciales

Cela permet d’identifier correctement les exportateurs et les importateurs, en plus d’élargir la description de la marchandise vendue.

Depuis le 1er janvier 2018, le commerce extérieur est obligatoire pour les contribuables qui effectuent des opérations d’exportation de type A1. Bien que le CFDI actuel soit en version 4.0, le commerce extérieur est actuellement en version 2.0.

Note

Pour utiliser cette fonctionnalité, le module EDI pour le Mexique (fonctionnalités avancées) l10n_mx_edi_extended doit être installé.

Important

Before installing, make sure your business needs to use this feature. Consult an accountant first, if needed, before installing any modules.

La case CFDI au public doit être cochée lors de la création de factures étrangères.

Configuration

Contacts

Pour configurer le contact de votre entreprise pour le commerce extérieur, aller à Comptabilité ‣ Clients ‣ Clients, supprimer le filtre par défaut Factures clients, et sélectionner le nom de votre Entreprise. Alors que les exigences du CFDI 4.0 nécessitent d’ajouter un Code postal valide dans la fiche contact de l’entreprise, le complément de commerce extérieur ajoute l’exigence que la Ville et l”État doivent également être valides. Les trois champs doivent correspondre au catalogue officiel SAT pour Carta Porte, sinon une erreur sera générée.

Avertissement

Ajouter la Ville et l”État dans la fiche contact de l’entreprise, pas dans la fiche entreprise elle-même.

Dans la fiche contact, les champs optionnels Localité et Code de colonie peuvent également être remplis. Ces deux champs doivent également correspondre aux données dans le SAT.

Pour configurer les données de contact d’un client destinataire étranger, aller à Comptabilité ‣ Clients ‣ Clients, et sélectionner le contact du client étranger. Le contact doit avoir les champs suivants complétés pour éviter les erreurs :

  1. L”Adresse complète de la société, y compris un code postal valide et le Pays étranger.

  2. Le RFC étranger (numéro d’identification fiscale), dans le format correct (par exemple : Colombie 123456789-1)

  3. Dans l’onglet Ventes et achats, activer la case Nécessite le commerce extérieur ?.

Note

Dans les fichiers XML et PDF résultants, la TVA est automatiquement remplacée par la TVA générique pour les transactions à l’étranger : XEXX010101000.

Produits

Tous les produits concernés par le commerce extérieur ont quatre champs supplémentaires obligatoires, dont deux sont exclusifs au commerce extérieur.

  1. La Référence du produit doit être définie dans l’onglet Informations générales.

  2. Le Poids du produit dans l’onglet Inventaire doit être supérieur à 0.

  3. The Tariff Fraction of the product must be set in the Accounting tab for external trade. Use the VUCEM tariff fraction classifier to find the correct value.

  4. L”UMT Aduana dans l’onglet Comptabilité doit être définie et correspondre à la Fraction tarifaire pour le commerce extérieur.

Champs de produit obligatoires pour le commerce extérieur.

Astuce

  • Si le code UdM de la Fraction tarifaire est 01, l”UMT Aduana correcte est kg.

  • Si le code UdM de la Fraction tarifaire est 06, l”UMT Aduana correcte est Unités.

Flux de facturation

Avant de créer une facture, il est important de prendre en compte que les factures de commerce extérieur nécessitent de convertir les prix des produits dans une devise étrangère telle que l’USD. Par conséquent, le multidevises doit être activé avec la devise étrangère activée dans la section Devises. Le bon Service à exécuter est [MX] Banque du Mexique. Pour convertir les prix des produits, créer une liste de prix dans la devise étrangère.

Ensuite, avec le taux de change correct configuré dans Comptabilité ‣ Configuration ‣ Devise, définir l”Incoterm et le champ optionnel Source du certificat dans l’onglet Autres informations de la facture.

Astuce

Bien que non obligatoire, l’information sera plus complète si CFDI au public est également actif.

Enfin, confirmez la facture avec le même processus qu’une facture normale, et cliquez sur le bouton Envoyer pour la signer via CFDI.

Invoicing services

Services and merchandise can be invoiced together on the same invoice if the service is set up correctly. To do so, follow these steps:

  1. Go to Accounting ‣ Customers ‣ Products and access the relevant service form.

  2. In the Accounting tab, under the UNSPSC section, find the UMT Aduana field and click the (right arrow).

  3. Verify that either the UNSPSC Category is selected to E48 service unit or the Customs code is set as 99.

Invoicing with either of these codes sets the service price to 0 for customs declarations.

Point de vente

L’adaptation du Point de Vente de la localisation mexicaine permet de créer des factures conformes aux exigences SAT directement depuis le registre du Point de Vente, avec l’avantage supplémentaire de créer des tickets de reçu permettant l’auto-facturation dans un portail spécial et de créer des factures globales.

Flux du point de vente

En plus de la configuration standard du Point de Vente, la localisation mexicaine exige que chaque méthode de paiement soit configurée avec un Mode de paiement correct ainsi qu’un Compte de refacturation pour gérer la comptabilité des factures avec le portail de facturation.

Astuce

Par défaut, Odoo crée des méthodes de paiement préconfigurées pour les espèces, les cartes de crédit et les cartes de débit et attribue le compte 402.04.01 Refacturation par défaut pour la refacturation.

Lors de la vente sur le Point de Vente, cliquez sur le bouton Client pour créer ou sélectionner un client. Il est possible d’examiner les informations de facturation du client (telles que le RFC ou le Régime fiscal) et même de les modifier directement dans la session.

Après avoir sélectionné un client, cochez la case Facture. Cela ouvre un menu pour sélectionner l”Utilisation et définir s’il s’agit d’une facture au public. Cliquez sur confirmer, sélectionnez le mode de paiement, puis cliquez sur valider pour finaliser la commande. Le PDF est alors téléchargé et il est possible d’envoyer la facture par e-mail au client final avec le reçu.

Astuce

Pour créer des factures à partir de commandes, allez dans le menu Commandes, sélectionnez la commande, cliquez sur Charger la commande, et cochez la case Facture. Cela ouvre le même menu pour l”Utilisation et le CFDI au public.

Configuration de facture pour le Point de Vente.

Pour signer automatiquement une note de crédit, cochez la case Facturer lors du traitement d’une note de crédit.

Note

Les notes de crédit pour les produits retournés contiendront le type de relation 03 - Devolución de mercancía sobre facturas o traslados previos.

Important

  • Dans la localisation mexicaine, les lignes positives et négatives d’une session Point de Vente ne peuvent pas être mélangées.

  • If a SAT validation error occurs, the customer receives a Pro-Forma invoice instead.

Portail d’auto-facturation

Si le client final n’est pas sûr de vouloir générer sa facture au moment exact de la vente, il est possible de lui donner l’option de créer un reçu avec soit un code QR, soit une URL. Pour ce faire, suivez ces étapes :

  1. Aller dans Point de Vente ‣ Configuration.

  2. Sélectionner le Point de Vente.

  3. Faire défiler jusqu’à la section Factures et reçus.

  4. Activer Facturation en libre-service.

  5. Définir le champ Imprimer sur Code QR, URL, ou Code QR + URL.

Customers who scan this QR code or follow the URL access a menu where they can add their fiscal information, including :guilabel: Usage` and Fiscal Regime.

Sur les écritures comptables de la session, le compte de refacturation précédemment sélectionné sera utilisé pour gérer les extournes des écritures de ventes lorsque des factures sont demandées ainsi que comme compte de ventes pour les nouvelles factures.

Voir également

refund

Facture globale

Comme pour les commandes de vente classiques, les factures globales peuvent également être créées depuis le registre du Point de Vente.

Pour cela, assurez-vous de ne pas sélectionner de client ou l’option de facture dans le menu de paiement et allez dans Point de Vente ‣ Commandes ‣ Commandes. Là, sélectionnez toutes les commandes à facturer, cliquez sur Actions et sélectionnez Créer une facture globale.

Comme pour les bons de commande, choisissez la bonne Périodicité et appuyez sur Créer.

Cela attache un fichier XML à chacune des commandes sélectionnées. Les fichiers XML peuvent être téléchargés en allant dans l’onglet CFDI. Si nécessaire, il est possible d’annuler la facture depuis le même onglet.

Si finalement l’une des commandes faisant partie de la facture globale doit être adressée à un client, il est toujours possible d’envoyer une facture en ouvrant le registre du Point de Vente, en cliquant sur (menu déroulant), puis en cliquant sur Commandes. Remplacez le filtre Toutes les commandes actives par Payé, sélectionnez la commande et cliquez sur le bouton Facturer.

Note

Les factures globales, tout comme les factures classiques, ne peuvent être regroupées que par adresse physique. Cela est déterminé par l’adresse définie sur le journal de factures du Point de Vente. Lors de la tentative de facturation de deux adresses, un avertissement apparaîtra pour informer l’utilisateur de l’erreur.

Voir également

For cash rounding, consider the configuration in the Cash rounding section.

eCommerce

The eCommerce adaptation of the Mexican Localization provides an extra step to create invoices that comply with the SAT requirements on eCommerce by retrieving the customer data after the Checkout and even allowing for the signature of automatic invoices after the payment is processed, as well as sending customers the files via email and granting them access to retrieve their PDF file from their own customer portal.

Flux eCommerce

During the regular checkout process, a new Invoicing Info step appears, where it is possible to request an invoice or not. If No is selected, a CFDI to Public is created. If Yes is selected, the RFC, Fiscal Regime, and Usage are required in order to get all information in the sales order, where its status will change to To Invoice.

De plus, le client peut décider de demander ou non la ventilation IEPS.

Important

Assurez-vous d’ajouter un code UNSPSC au produit de livraison.

Si la Facturation automatique est activée dans Paramètres ‣ Site Web ‣ Facturation, le document électronique sera signé automatiquement.

Ventes

L’application Ventes contient des champs qui facilitent la facturation. Bien que les champs eux-mêmes ne modifient pas le comportement des ventes, ils sont directement copiés lors de la création d’une facture.

Les champs copiés sont :

  • Payment Way

  • Payment Policy

  • CFDI to public

  • Usage

De plus, il est possible d’obtenir un aperçu de la facture à des fins de validation avec le client en installant le module pro-forma. Ce module ajoute les champs mentionnés à la commande client ainsi que :

  • Product code

  • Unit code

  • Fiscal regime

Abonnements

Lors de la gestion des abonnements, tous les champs de vente sont utilisés pour créer les factures récurrentes. Celles-ci sont automatiquement signées et envoyées par email avec le PDF et le XML joints, sans aucune action manuelle supplémentaire requise.

Important

Toutes les factures générées par l’application Abonnements seront toujours automatiquement signées, sans exception.

Inventaire

Numéros de douane

Une déclaration en douane (Pedimento Aduanero) est un document fiscal qui certifie que toutes les contributions à l’entité fiscale (le SAT) ont été payées, y compris l’importation/exportation de marchandises.

Selon l”Annexe 20 du CFDI 4.0, dans les documents où les marchandises facturées proviennent d’une opération d’importation de première main, le champ Numéro de douane doit être ajouté à toutes les lignes de produits impliqués dans l’opération, tout comme la date du document.

Note

Pour ce faire, le module Localisation mexicaine Odoo pour Stock/Réception l10n_mx_edi_landing doit être installé, en plus des applications Inventaire, Achats, et Ventes.

Important

Do not confuse this feature with external trade. The customs numbers are directly related to importing goods, while the external trade complement is related to exporting. Consult an accountant first if this feature is needed before doing any modifications.

Configuration

Afin de suivre le bon numéro de douane pour une facture spécifique, Odoo utilise les coûts atterris. Aller à Inventaire ‣ Configuration ‣ Paramètres, et dans la section Valorisation, s’assurer que Coûts atterris est activé.

Astuce

Il est recommandé d’ajouter un Journal par défaut pour remplir automatiquement le champ obligatoire Journal sur les coûts supplémentaires même si les coûts supplémentaires qui ajoutent uniquement des numéros de douane sans ajouter de Coûts supplémentaires ne créent pas d’écritures comptables.

Configurer les produits de type marchandises qui contiennent les numéros de douane. Pour ce faire, créer les produits et remplir ces trois exigences :

  • Le Suivi doit être défini sur Par lots ou Par numéro de série unique mais pas sur Par quantité.

  • La Politique de facturation doit être définie sur Quantités livrées.

  • La valorisation par lots/numéros de série doit être activée.

This makes the Customs invoicing field available on the Accounting tab. Enable the field to use customs numbers with this product.

Il est important de s’assurer que le produit a une Catégorie de produit et a la configuration suivante :

  • Méthode de coût : FIFO ou AVCO

  • Valorisation d’inventaire : soit Périodique, soit Perpétuelle

Note

La fonctionnalité fonctionne que la valorisation d’inventaire soit définie sur Périodique (à la clôture) ou Perpétuelle (à la facturation).

Configuration générale des produits stockables. Configuration de la catégorie de produits stockables.

Flux d’achats et de ventes

Après avoir configuré le produit, suivre le flux d’achats standard.

Créer un bon de commande depuis Achats ‣ Commandes ‣ Bon de commande. Ensuite, confirmer la commande pour afficher un bouton intelligent Réception. Cliquer sur le bouton intelligent Réception et valider la réception.

Aller à Inventaire ‣ Opérations ‣ Coûts logistiques, et créer un nouvel enregistrement. Dans Transfert, ajouter la réception qui vient d’être validée, et ajouter le Numéro de douane.

Astuce

While it is possible to add costs related to the customs number at this stage of the process, it is highly recommended to create a landed cost from a vendor bill from a customs agent. Learn more about Landed Costs here.

Avertissement

Le champ Numéro de douane n’est pas modifiable une fois défini et ne peut être répété, mais il est possible de corriger le numéro sur le lot ou le numéro de série ultérieurement en sélectionnant un coût logistique différent.

Numéro de douane sur une fiche de coûts d'acquisition dans l'inventaire.

The customs number assigned to a specific lot or serial number can be found on its record in Inventory ‣ Products ‣ Lots/Serial Numbers. The L10N Mx Edi Landed Cost field can be edited at any time to fix any mistakes that could have occurred when registering the landed cost. Editing the L10N Mx Edi Landed Cost field automatically updates the Customs number and the name of the lot or serial number.

Next, create a sales order and confirm it. Click the Delivery smart button that appears, and carefully review the assigned lots/serial numbers to make sure they are the desired values. After that, click Validate on the delivery order.

Finally, create an invoice from the sales order and confirm it. The invoice lines are created according to the distribution of the delivery order. If more than one customs number is selected, Odoo splits the invoice lines by quantity and customs number.

Numéro de douane sur un produit d'une commande confirmée.

Guide de livraison

Une Carta Porte est un connaissement : un document qui indique le type, la quantité et la destination des marchandises transportées.

Le 17 juillet 2024, la version 3.1 de ce CFDI a été mise en œuvre pour tous les transporteurs, intermédiaires et propriétaires de marchandises. Odoo peut générer un document de type « T » (Traslado) qui, contrairement à d’autres documents, est créé dans un bon de livraison plutôt que dans une facture ou un paiement.

Odoo peut créer des fichiers XML et PDF avec (ou sans) transport routier, et peut traiter des matériaux considérés comme Matières dangereuses.

To print the PDF, the delivery order must be signed by the government. Then, it can be printed using the Print Carta Porte button on the delivery order.

Astuce

Le fichier PDF contient un code QR pour vérifier le code CCP auprès des autorités.

To transport goods between warehouses, the logistic route must contain a Delivery type of operation.

Note

Pour utiliser cette fonctionnalité, le module Mexique - Guide de livraison électronique l10n_mx_edi_stock doit être installé.

De plus, il est nécessaire d’avoir les applications Inventaire et Ventes installées.

Important

Odoo ne prend pas en charge le document Carta Porte de type « I » (Ingreso), ni le transport aérien, ferroviaire ou maritime.

Consult an accountant first if this feature is needed before doing any modifications.

Configuration

Odoo gère deux types différents de CFDI de type « T ». Les deux peuvent être créés à partir de réceptions ou bons de livraison.

  • Sans autoroutes fédérales est utilisé lorsque la Distance vers la destination est inférieure à 30 km.

  • Transport fédéral est utilisé lorsque la Distance vers la destination dépasse 30 km.

Pour les routes non fédérales, aucune autre configuration n’est requise au-delà des exigences standard de facturation habituelle (le RFC du client, le code UNSPSC, etc.).

Pour le Transport fédéral, plusieurs configurations doivent être ajoutées aux contacts, aux paramètres du véhicule et aux produits. Ces configurations sont ensuite incluses dans les fichiers XML et PDF.

Contacts et véhicules

Comme pour la fonctionnalité de commerce extérieur, l”Adresse de l’entreprise et du client final doit être complète. Le code postal, la Ville et l”État doivent correspondre au Catalogue officiel SAT pour Carta Porte.

Astuce

Le champ Localité est facultatif pour les deux adresses.

Important

The origin address used for the delivery guide is set in Inventory ‣ Configuration ‣ Warehouses. While this is set as the company address by default, it is possible to change it to a proper warehouse address.

Cette fonctionnalité nécessite l’utilisation de Parc automobile pour gérer les véhicules. La configuration du véhicule est gérée directement sur le véhicule, et tous les champs requis ne sont visibles qu’après avoir coché le champ L10N Mx Is Freight Vehicle.

Cocher le champ L10N Mx Is Freight Vehicle affiche l’onglet Paramètres MX où les champs obligatoires sont requis pour créer un bon de livraison correct. De plus, le véhicule doit contenir une Plaque d’immatriculation, une Année du modèle et un Conducteur.

Astuce

Les champs Numéro de plaque du véhicule et Plaque d’immatriculation doivent contenir entre 5 et 7 caractères.

Le conducteur principal du véhicule est défini directement dans le champ Conducteur, et il est possible d’ajouter d’autres opérateurs de véhicules dans la section Intermédiaires. Les seuls champs obligatoires pour les contacts conducteurs sont TVA et Permis de conduire.

Configuration du véhicule pour le guide de livraison.

Astuce

Si le véhicule est loué ou si d’autres intermédiaires sont nécessaires, il est possible de les ajouter dans le champ Intermédiaires.

Produits

Comme pour la facturation classique, tous les produits doivent avoir une catégorie UNSPSC. En plus de cela, il existe deux configurations supplémentaires pour les produits impliqués dans les guides de livraison :

  • Le Type de produit doit être défini sur Produit stockable pour que les mouvements de stock puissent être créés.

  • Dans l’onglet Inventaire, le champ Poids doit être supérieur à 0.

Avertissement

Créer un bon de livraison pour un produit avec le Poids défini à 0 déclenchera une erreur. Comme le Poids est immédiatement enregistré dans le bon de livraison, il est alors nécessaire de retourner les produits et de recréer le bon de livraison (et le guide de livraison) avec les valeurs correctes.

Flux de vente et d’inventaire

Pour créer un bon de livraison, créer et confirmer d’abord une commande client depuis Ventes ‣ Commande client. Cliquer sur le bouton intelligent Livraison qui est généré, et Valider le transfert.

After the status is set to Done, it is possible to edit the transfer and select the Transport Type in the Additional Info tab.

Si vous utilisez le Sans autoroutes fédérales comme Type de transport, enregistrer le transfert, puis cliquer sur Générer le guide de livraison. Le fichier XML résultant se trouve dans le fil de discussion.

Note

Outre le UNSPSC sur tous les produits, les bons de livraison qui utilisent Routes non fédérales ne nécessitent aucune configuration spéciale pour être envoyés au gouvernement, car il s’agit d’un CFDI de type « T » sans complément de guide de livraison.

If using the Federal Transport Transport Type, the Vehicle Setup is displayed to be selected. The Operator is taken from the vehicle’s driver. It can be changed for each delivery. If changed, the Set As Main Driver button appears. Click it to replace the driver on the fleet vehicle for traceability purposes. The Gross vehicle weight is taken from the Vehicle setup configuration where it is possible to add additional Extra weight to account for the drivers and luggage.

Note

Odoo calculates the Gross vehicle weight with the following formula:

\[Poids brut du véhicule = Poids du véhicule + (Poids + Poids supplémentaire) / 1000\]

Chaque livraison nécessite une valeur dans Distance vers la destination (KM) supérieure à 0. Enfin, saisir la date de livraison et cliquer sur Générer le guide de livraison.

Note

By default, the Scheduled Date is filled and represents the time at which the shipment leaves the warehouse. The Delivery Date is the time when the shipment is expected to arrive at its destination. These values are declared in both the XML and PDF.

Risques dangereux

Certaines valeurs dans la catégorie UNSPSC sont considérées dans le catalogue officiel SAT comme des matières dangereuses. Ces catégories nécessitent des considérations supplémentaires lors de la création d’un bon de livraison avec Transport fédéral.

Commencer par sélectionner le produit depuis Inventaire ‣ Produits ‣ Produits. Ensuite, dans l’onglet Comptabilité, renseigner les champs Code de désignation de matière dangereuse et Emballage de matière dangereuse avec le code correct du catalogue SAT.

Champs obligatoires pour un produit à matière dangereuse dans le bon de livraison.

Important

A UNSPSC Category may or may not be classified as a dangerous hazard, for example 01010101. If it is not dangerous, enter 0 in the Hazardous Material Designation Code field.

Dans paramètres MX, compléter également assureur environnement et police d’assurance environnement. Ensuite, poursuivre avec le processus habituel pour créer un guide de livraison.

Importations et exportations

If a Carta Porte is for international operations (for exports), some additional fields need to be taken into account.

Vérifier que tous les produits :guilabel:`` concernés disposent de la configuration suivante :

  • La catégorie UNSPSC ne peut pas être 01010101 N’existe pas dans le catalogue.

  • Les champs Fraction tarifaire et UMT Aduana doivent être renseignés, comme dans le flux de commerce extérieur.

  • Le champ Type de matériau doit être renseigné.

Lors de la création d’un bon de livraison depuis une livraison ou une réception, renseigner les champs suivants :

  • Régimes douaniers

  • Type de document douanier

  • Identification du document douanier

Lors de la création d’un guide de livraison pour une réception où le type de document douanier est numéro de douane, deux nouveaux champs apparaissent : numéro de douane et importateur.

Astuce

The Customs Number field should follow the pattern xx xx xxxx xxxxxxx. For example, use 15 48 3009 0001235 with two spaces between text.