México

Webinarios

A continuación, puede encontrar videos con una descripción general de la localización y cómo configurarla.

Introducción

Los usuarios de Odoo Enterprise en México tienen acceso gratuito a un conjunto de módulos que les permiten emitir facturas electrónicas de acuerdo a las especificaciones del SAT para la versión 3.3 del CFDI, requisito legal a partir del 1 de enero de 2018. Estos módulos también agregan informes contables relevantes (por ejemplo, el DIOT), y habilitan el comercio exterior, con soporte para las operaciones aduaneras asociadas.

Con la localización mexicana en Odoo no solo podrá cumplir con los requisitos legales para facturar en México, sino que también lo utilizará como tu sistema contable, satisfaciendo las necesidades normales del mercado. Esto convierte a Odoo en la solución perfecta para administrar su negocio en México.

Pre requisitos

Antes de instalar los módulos y realizar las configuraciones necesarias para tener la localización mexicana en Odoo, es necesario cumplir con los siguientes requisitos:

  1. Estar registrado en el SAT y tener un RFC.

  2. Tener un Certificado de Sello Digital (CSD).

  3. Choose a PAC and purchase stamps. Currently the Mexican location in Odoo works with the following PACs: Solución Factible, Quadrum (formerly Finkok) and SW Sapien - Smarter Web.

  4. Cuente con el conocimiento y la experiencia en facturación, ventas y contabilidad en Odoo. Esta documentación contiene solo la información necesaria para permitir el uso de Odoo en una empresa que trabaje en México

Módulos

Para instalar el módulo de localización mexicana, vaya a Apps, luego elimine el filtro predeterminado «Apps» y busque l10n_mx.

Installation of the Mexican localization module in Odoo Apps

Nota

Si creó la base de datos desde www.odoo.com y eligió «México» como país al crear su cuenta, algunos de los módulos de localización mexicana se habrán instalado automáticamente. En ese caso, observamos que algunos módulos tienen un botón que dice «Instalar», mientras que otros tendrán una etiqueta que dice «Instalado».

Los siguientes módulos son necesarios para todas las bases de datos que requieren localización mexicana:

  1. México - Contabilidad (l10n_mx)
    Todos los datos básicos para gestionar la contabilidad, los impuestos y el plan de cuentas. El plan de cuentas instalado se basa en el código agrupador de cuentas SAT.
  2. EDI para México (l10n_mx_edi & l10n_mx_edi_extended)
    Necesario para transacciones electrónicas, CFDI 3.3, complemento de pago y addendas en facturas.
  3. Informes de localización mexicana de Odoo (l10n_mx_reports y l10n_mx_reports_closing)
    Todos los informes obligatorios para la contabilidad electrónica. (Requiere la aplicación de contabilidad).

Los siguientes módulos son opcionales y solo se deben instalar si cumplen con un requisito específico de la organización. No se recomienda instalar estos módulos a menos que esté seguro de que son necesarios, ya que agregan campos que pueden complicar innecesariamente el llenado del formulario.

  1. Odoo Localización Mexicana para Inventario / Costes en Destino (l10n_mx_edi_landing)
    Este módulo le permite gestionar las solicitudes como parte de los costos de envío.
  2. Políticas de exportación XML de Odoo México (l10n_mx_xml_polizas)
    Con este módulo podrá exportar sus asientos de diario en XML, listos para enviar al SAT.

Configuración

Habilitar la facturación electrónica

Vaya a Configuración ‣ Contabilidad ‣ Facturas de clientes, y asegúrese de que la opción Facturación electrónica mexicana esté habilitada. Con esto podrá generar la factura firmada y también generará el complemento de pago firmado, todo integrado automáticamente en el flujo de facturación normal en Odoo.

Steps to enable electronic invoicing

Fijar el régimen fiscal de la empresa

A continuación se indica cuál es el régimen fiscal de la empresa que estamos configurando. Este régimen se establece a través de un campo preexistente en Odoo denominado «régimen fiscal».

Vaya a Configuración ‣ Contabilidad ‣ Facturación Electrónica (MX) ‣ Régimen Fiscal, y seleccione la opción de la lista desplegable que corresponda a su empresa.

Set the Fiscal Regime in Odoo Accounting

Truco

Para el entorno de prueba: Seleccione la opción ** Ley General de Personas Jurídicas ** del menú desplegable.

Configuración de contactos

Al crear un contacto para facturar en Odoo, se debe configurar la siguiente información para la validación de la factura: dirección completa (incluyendo código postal, ciudad, estado, país, etc.) y el número de RFC.

Contact form example

Configuración de impuestos

Una configuración necesaria para que la facturación electrónica funcione correctamente en Odoo es agregar el tipo de factor asociado a los impuestos sobre las ventas.

Para realizar esta configuración primero hay que ir a Contabilidad ‣ Configuración ‣ Ajuste ‣ Impuestos.

Dentro del listado de impuestos que están precargados, seleccione la opción Ventas en el filtro, esto es para ver solo los impuestos asociados a las ventas, que son los que están validados para las facturas selladas. Abra la vista de formulario de cualquiera de los impuestos a las ventas, seleccione la pestaña Opciones avanzadas y dentro del campo Tipo de factor elija la opción Tasa.

Taxes configuration

Haga lo mismo para todos los impuestos a las ventas que necesite la empresa, ya sean los que vienen por defecto en Odoo, o los que tu añadas que sean necesarios para la factura de tu empresa.

Truco

Para el 0% de IVA, seleccione la opción Exento en lugar de Tasa dentro del campo Tipo de factor.

Al registrar un pago, Odoo llevará a cabo el movimiento de impuestos desde la Cuenta de transición de base de efectivo a la cuenta configurada en la pestaña Definición. Para tal movimiento se utilizará una cuenta base imponible («Base Imponible de Impuestos en Base a Flujo de Efectivo» - no elimine esta cuenta) en el Asiento de Diario al reclasificar impuestos.

Taxes accounts

Configuración de productos

Todos los productos a vender necesitan tener asociado el código SAT a su clasificación para que las facturas no den error al validar.

Para configurar productos, vaya a la pestaña Información general y en el campo Categoría de producto UNSPSC seleccione la categoría que representa ese producto. El proceso se puede realizar manualmente o mediante una importación masiva.

Configure products

Configuración de PAC para firmar facturas

Otro paso importante para configurar la facturación electrónica en Odoo es ingresar el PAC con el que estás trabajando y las credenciales. De esa forma se habilitará la facturación electrónica.

Advertencia

Recuerde que debe registrarse directamente con el PAC de su elección antes de comenzar a crear facturas desde Odoo. Tenemos disponibles los siguientes PACs: Quadrum, Solución Factible y SW Sapien - Smarter Web.

Debe procesar su clave privada (CSD) con la institución SAT antes de seguir estos pasos. Si no tiene esta información, pruebe con las Credenciales de prueba y vuelva a este proceso cuando tenga las Credenciales SAT para que su entorno de producción funcione con transacciones reales.

Para agregar las credenciales, vaya a Configuración ‣ Contabilidad ‣ Facturación electrónica (MX). En la sección PAC MX, ingrese el nombre de su PAC con sus credenciales (nombre de usuario y contraseña de PAC).

PAC credentials

Truco

Si marca la casilla de verificación Entorno de prueba, no es necesario ingresar un nombre de usuario y / o contraseña de PAC, pero debe seleccionar un PAC de la lista desplegable.

Finalmente, cargue los certificados digitales de la empresa dentro del apartado Certificados MX. Haga clic en Agregar una línea, se abrirá una ventana, haga clic en Crear y desde allí puede cargar su certificado digital, su clave y su contraseña. Para finalizar, haga clic en Guardar y cerrar.

Certificate and key

Truco

Si aún no tiene uno de los PAC contratados y quiere probar la facturación electrónica puedes utilizar los siguientes certificados de prueba SAT:

También debe configurar la empresa con una dirección real dentro de México (incluyendo todos los campos) y agregar EKU9003173C9 como número de IVA.

Flujos

Facturación Electrónica

El proceso de facturación en Odoo se basa en el Anexo 20 versión 3.3 de facturación electrónica del SAT.

Para comenzar a facturar desde Odoo, se debe crear una factura utilizando el flujo de facturación estándar, es decir, desde una orden de venta o desde el menú de facturas en la aplicación Contabilidad.

La factura se sellará después de hacer clic en Validar, antes de que el estado todavía esté en modo borrador y se puedan realizar cambios. Después de validar la factura, puede verificar que se haya sellado correctamente, ya que se vería así:

Creating an invoice

Los detalles de la factura se reflejarán en Chatter, que es lo que ve a la derecha de la factura en la imagen adjunta. Allí podrás encontrar tu XML enviado al SAT y el estado del sello, es decir, si fue validado o no.

Para enviar la factura sellada a su cliente, puede enviar el XML junto con el archivo PDF directamente desde Odoo, haciendo clic en el botón Enviar e imprimir. También puede descargar el archivo PDF directamente a su computadora haciendo clic en el botón Imprimir y seleccionando la opción deseada.

Truco

Dependiendo del tamaño de la pantalla, el Chatter se puede ver al lado o debajo del documento.

Facturando Casos Especiales

Factura de comercio exterior

El proceso de facturación de comercio exterior en Odoo se basa en el correspondiente Reglamento SAT. La versión de facturación electrónica del SAT es la 3.3.

¿A qué nos referimos cuando hablamos de comercio exterior?

Desde enero de 2018, el SAT exige un Suplemento de Comercio Exterior en las transacciones de exportación.

¿Qué es el complemento de Comercio Exterior?

Es un anexo a la factura electrónica que permite la identificación de exportadores e importadores, además de ampliar la descripción de la mercancía vendida.

¿Qué información se puede incorporar en este nuevo complemento?
  • Información sobre el tipo de operación que cubre.

  • Datos de identificación fiscal del emisor, receptor o destinatario de la mercancía.

  • Descripción de la mercancía a exportar.

¿Quién está obligado a generarlo?

Contribuyentes que realicen operaciones de exportación de tipo A1.

¿A qué exportaciones se aplica el tipo A1?
  • Ingreso de bienes de origen extranjero para permanecer en territorio nacional por tiempo ilimitado.

  • Salida de bienes del país para permanecer en el extranjero por tiempo ilimitado.

  • Importación definitiva de vehículos por misiones diplomáticas y consulares y oficinas de organismos internacionales y su personal extranjero, de acuerdo con la importación de vehículos en franquicia diplomática.

¿Es el comercio exterior lo mismo que los pedimentos?

No necesariamente, los pedimentos se relacionan directamente con el proceso de Importación de bienes, mientras que el complemento de comercio exterior se relaciona con el proceso de exportación.

Módulos requeridos

Para generar facturas de comercio exterior se deben instalar los siguientes módulos.

  • EDI para México (l10n_mx_edi)

    EDI para México
  • EDI para México (l10n_mx_edi_extended)

    EDI Advanced Features
Empresa

Configure la empresa con un código postal válido, y si tiene un código de colonia, este debe coincidir con el código postal correspondiente. Al mismo tiempo, recuerde colocar el Número de Identificación Fiscal (Número de NIF - RFC).

Contact address configuration
Cliente receptor

Generalmente será un cliente extranjero, en el cual deberá verificar que tiene al menos los siguientes campos completados con la información correspondiente.

External trade invoice

Advertencia

  • La dirección de entrega del cliente también debe contener el código postal.

  • El formato del NIF extranjero (Número de Identificación Fiscal) se validará según corresponda en cada país (Ejemplo: Colombia `` 123456789-1``)

  • En el XML, el NIF se reemplaza de forma automática por el NIF genérico para transacciones en el extranjero: XEXX010101000

Productos

A nivel de producto también se deben configurar algunos parámetros en los siguientes campos.

SAT product code Tariff fraction

Advertencia

  • Debe seleccionar la UDM Aduana (Unidad de medida) en KG ya que solo es aceptada por el SAT

  • El peso se refiere al peso unitario del producto

  • La fracción arancelaria debe ser del código UdM de kilogramos (UdM = 01)

Si bien el producto se vende en piezas o en unidades, el valor que se debe registrar en la aduana en la fracción arancelaria se debe reportar en kilogramos.

Flujo de facturación

Al crear la factura de venta al extranjero, debe seleccionar el Incoterm correspondiente y debe seleccionar la casilla de verificación ¿Necesita comercio exterior?. Con esta configuración habilitada, el PDF y el complemento XML de la factura contarán con la información necesaria para cumplir con la normativa del SAT.

¿Qué es el certificado de origen y cuándo se utiliza?

El certificado de origen (o prueba de origen) es el documento que permite a un importador o exportador comprobar el país o región de donde se considera que un bien es originario y sirve para recibir preferencias arancelarias generalmente acordadas en acuerdos comerciales.

Incoterm on invoice PDF external Trade

Asignar pedimentos

Si su empresa importa productos y necesita agregar el número de pedimento en sus facturas, también puede configurar Odoo para registrar el proceso.

Primero, vaya a Aplicaciones, elimine el filtro «Aplicaciones» y busque México, mx o l10n_mx. Luego, instale el módulo Localización de Odoo México para las existencias/almacenamiento (l10n_mx_edi_landing).

MX stock module

Truco

El módulo l10n_mx_edi_landing depende de las aplicaciones Inventario y Ventas, ya que se deben ingresar los productos en inventario para poder agregar su número de pedimento al recibo de productos correspondiente.

Luego, vaya a Inventario ‣ Configuración ‣ Ajustes. Dentro de las opciones, active Costos en destino. Esta opción permitirá agregar el número de pedimento a las recepciones de producto correspondientes.

Costos en destino

Truco

Para utilizar los costos en destino, la configuración contable de la valoración de inventario de los productos debe configurarse como Automatizado y su método de costo como Promedio o PEPS (primeras entradas, primeras salidas).

Para asociar el número de pedimento indicado con una importación (recepción de mercancía) se debe crear un nuevo costo en destino. Se puede acceder a ellos a través de Inventario ‣ Operaciones ‣ Costos en destino. Allí encontrará la opción de adjuntar el número de pedimento.

Customs number

Advertencia

Solo puede agregar el número de pedimento una vez, así que tenga cuidado al asociar el número correcto con la transferencia o transferencias.

Términos de pago

Los términos de pago se configuran en Odoo al instalar la localización mexicana, esto significa que si va a Contabilidad ‣ Configuración ‣ Términos de pago, encontrará la lista predeterminada en Odoo.

Payment terms

En México, usted puede tener 2 tipos de pagos: PPD o PUE. Estos se dan por el término de pago elegido (o si no hay un término de pago elegido, se basará en la fecha de vencimiento de la factura).

Pagos PPD

Para configurar los pagos PPD (pago en parcialidades o diferido) solo es necesario elegir una fecha de vencimiento para su factura y Odoo detectará si es posterior al primer día del mes siguiente (en este caso no se establece término de pago. Con el término de pago también puede estipular si será PPD o PUE).

PUE

Para configurar los pagos PUE (pago en una sola exhibición) debe seleccionar una fecha de vencimiento de la factura dentro del mismo mes o elegir un término de pago que no implique cambiar el mes de vencimiento (pago inmediato, 15 días, 21 días, todo dentro del mes actual).

Pagos

De acuerdo con la documentación del SAT, puede haber 2 tipos de pago: PUE o PPD. En ambos casos el proceso de pago en Odoo es el mismo, la diferencia de si el pago es PUE o PPD radica en el término de pago de la factura, como se indica en el punto anterior en los términos de pago.

Si el pago es de tipo PPD, Odoo generará automáticamente el complemento de pago correspondiente al confirmarlo. Si el pago es PUE, no se generará el complemento de pago. El tipo de pago es visible desde la factura en el campo llamado política de pago y toma como parámetros la fecha de la factura y la fecha de vencimiento.

Payment policy

Al configurar los contactos que se utilizarán al realizar los pagos, debe configurar los bancos en la pestaña Contabilidad y colocar el Banco, Número de cuenta y CLABE.

Contact bank account

Registrar pagos PPD

Si al momento de registrar un pago es de tipo PPD entonces se generará un complemento de pago (XML) con sus detalles.

El pago se puede registrar desde la factura y, una vez confirmado, se pagará la factura y con su registro de pago asociado.

PPD payments PPD payment information

Nota

El diario será el método de pago donde recibe o envía el pago. También debe asociar una forma de pago y una cuenta bancaria destinatario (esta última debe crearse dentro del contacto asociado a la factura).

Una vez realizado el pago, se asociará a la factura correspondiente y su estado será En pago, ya que el pago se validará cuando se realice la conciliación bancaria.

PPD payment created

Nota

La cuenta bancaria destinataria es la que se adjunta a la pestaña Contabilidad en el contacto asociado a la factura, debe ser válida para que se pueda crear el complemento de pago sellado.

Advertencia

  • Al realizar un pago en MXN de una factura en USD, el pago debe crearse mediante el botón de Registrar pago en la vista de factura y no de forma separada como un pago. De otra forma, el CFDI de pago no se genera de forma correcta.

  • Por lo tanto, un pago en MXN no se puede utilizar para pagar múltiples facturas en USD. En su lugar, el pago se debe separar en múltiples pagos creados mediante el botón de Registrar pago en las facturas correspondientes.

Registrar pagos PUE

Si al momento de registrar un pago es del tipo PUE entonces en este caso no se generará un complemento de pago (XML) ya que no es necesario.

El pago se puede registrar desde la factura y, una vez confirmado, se pagará la factura y con su registro de pago asociado.

PUE payments PUE payment information PUE payment created

Nota

En este caso, no se crea como complemento de pago debido a la naturaleza del mismo.

Anticipos

Este es un caso especial en el que debemos recibir un anticipo de un cliente que luego se aplicará a una factura.

Proceso para crear un anticipo en México
  1. Emisión de factura electrónica con el importe del anticipo recibido.

  2. Emisión de la factura electrónica por el valor total de la operación (factura completa). (Origen CFDI: 07 | Factura anticipada, punto 1)

  3. Emisión de la factura electrónica con el tipo Egreso. (Origen CFDI: 07 | Invoice_total, punto 2)

Pasos a seguir en Odoo
  1. Preparación: crear el producto

  2. Emisión del anticipo de la factura electrónica por el importe del anticipo recibido

  3. Emisión de la factura electrónica por el valor total de la operación

  4. Agregar una nota de crédito de la factura de anticipo

Preparación: crear el producto

El producto de Anticipo debe ser del tipo Servicio y debe utilizar la Categoría de producto NSPSC: 84111506 Servicios de facturación.

Down payment product

Agregue el producto de anticipo como predeterminado para usar desde las configuraciones de Odoo.

Down payment configuration
Emisión de la factura electrónica por el valor del anticipo recibido

Crear la factura anticipada: a partir de la orden de venta, cree una factura anticipada para el porcentaje de la compra que se pagará por adelantado (o por una cantidad fija).

Applying down payment

Valide la factura con el producto de anticipo.

Confirm down payment Folio fiscal down payment

Registre el pago de la factura anticipada.

Down payment invoice Down payment registered
Emisión de la factura electrónica por el valor total de la operación.

A partir de la orden de venta, cree una factura para el total, es decir, para todas las líneas de la orden sin descontar el anticipo.

Full invoice

Nota

Deseleccione la casilla de verificación del campo Deducir anticipos.

Agregue el CFDI original de la factura anticipada agregando 07 | al inicio + Folio fiscal de la factura de anticipo que se creó en el paso anterior.

Copie el Folio fiscal de la siguiente factura, como se muestra en este ejemplo:

Folio full invoice

Y péguelo en el borrador de factura que se creó a partir de la orden de venta sin descontar los anticipos:

CFDI origen folio

Valide y copie el Folio fiscal para más adelante (en el ejemplo, la copia del Folio fiscal es: 50E4FF06-4341-4006-A7C3-A7F653CBEFAE)

Agregar una nota de crédito de la factura

Cree una Nota de crédito a partir de la factura anticipada (la factura correctiva debe editarse antes de confirmarla, vea la explicación debajo de las 2 imágenes a continuación)

Creation of a Credit Note Matching down payment

Antes de confirmar la nota de crédito, edite el CFDI de Origen con 07 |  XXX en lugar del prefijo 01 |  XXX

Modify folio fiscal CFDI origen type

Ahora se puede confirmar la factura.

Post credit note

Ahora la nota de crédito (pago anticipado) debe aplicarse al total de la factura, esto se agrega en la parte inferior debajo del importe adeudado.

Add credit note Down payment applied

Registre un pago por la diferencia del anticipo y el total de la venta.

Residual amount payment

Si va al XML de la factura, debería ver en el CFDI relacionado el tipo de relación 07 y el Folio Fiscal de la factura anticipada.

XML down payment

Descuentos basados en días de pago

Los descuentos de efectivo son incentivos que puede ofrecer para motivar a los clientes a pagar dentro de un periodo de tiempo específico. Por ejemplo, ofrece un 2% de descuento si el cliente le paga dentro de los primeros 5 días de la factura, cuando vence en 30 días. Este enfoque puede mejorar en gran medida el periodo de pago promedio de sus clientes.

  1. Crear y asignar el término de pago correspondiente.

  2. Registrar el pago dentro de los días del descuento.

  3. Crear una nota de crédito.

Crear y asignar el término de pago correspondiente.

Para configurar el descuento por anticipo, vaya a Contabilidad ‣ Configuración ‣ Términos de pago y haga clic en Crear. Agregue un tipo de porcentaje con un valor correspondiente (por ejemplo, 98% del precio total para un descuento del 2%) y el número de días durante los cuales la oferta es válida (por ejemplo, 5 días). También puede cambiar el tipo de balance adeudado si es necesario (en este ejemplo, 30 días).

Discount payment term

Luego, al crear la orden de venta o factura de venta, asigne el término de pago creado previamente.

discount on invoice
Registrar el pago dentro de los días del descuento.

Registre el pago dentro de los días en los que se especificó la aplicación del descuento, en nuestro caso es dentro de los 5 días posteriores a la creación de la factura de venta.

Discount payment

Luego vaya a la parte inferior de la factura donde se encuentran los totales y allí verá 2 pagos creados, restablezca a borrador y cancele el pago que no corresponde, el relacionado con el descuento.

See discount payment Mote to draft payment Cancel payment
Crear una nota de crédito.

Por último, para cerrar el ciclo debemos cerrar la factura, pero como en este caso aplicamos un descuento, para cerrarlo correctamente debemos crear una nota de crédito que especifica que la diferencia se le dio al cliente en una nota de crédito.

Discount credit note Reason of credit note

Ajuste el importe al balance restante en la factura original.

Total credit note

Agregue la nota de crédito a la factura original para que se liquide.

Add credit note for discount

Cancelación de facturas

Antes de las 72 horas

Si es necesario cancelar una factura que se validó y envió al SAT en menos de 72 horas siga los pasos a continuación.

  1. Solicitar una cancelación

    Cancel within 72 hours
  2. El estado de la Facturación electrónica cambia a Cancelado

  3. Haga clic en RESTABLECER A BORRADOR

    Invoice to draft
  4. Haga clic en CANCELAR ASIENTO

    Cancel journal entry

Después de 72 horas

Si es necesario cancelar una factura que se validó y envió al SAT hace más de 72 horas, se debe solicitar al cliente que acepte la cancelación, para ello se deben seguir los siguientes pasos.

  1. Haga clic en Solicitar cancelación de Intercambio electrónico de datos para informar al SAT que desea cancelar la factura, en este caso el cliente debe ingresar a la página web del SAT y aprobarla. (El estado del campo Facturación electrónica en Odoo cambia a Por cancelar)

  2. Después de que el cliente (Receptor/cliente) aprueba la cancelación en su portal del SAT es posible cambiar la factura a borrador y hacer clic en Cancelar asiento.

  3. Odoo se sincroniza con el SAT para actualizar el estado de la factura electrónica con una acción programada, las facturas canceladas en el SAT se cancelarán en Odoo.

Cancel after 72 hours

Después de hacer clic en Solicitar cancelación de intercambio electrónico de datos, el estado del campo Facturación electrónica será Por cancelar, pero el estado del SAT será Válido, permanecerá activo hasta que el cliente final/el destinatario apruebe la cancelación en el SAT.

Check estado del PAC

Una vez cancelado en el SAT, Odoo sincronizará el estado del SAT a través de acciones programadas que se ejecutan todos los días para sincronizar los estados del SAT, Facturación electrónica y Odoo (esta acción programada se puede ejecutar manualmente al ingresar con el modo de desarrollador).

Si la factura se cancela en el SAT, se cancela también en Odoo, lo que permite cambiar la factura a borrador y, por último, cancelar la factura (cancelar asiento).

PAC scheduled action

Cancelar facturas pagadas

Si la factura ya se pagó, se debe crear una nota de crédito a partir de la factura para que se reconozca el CFDI de origen y luego se cancele la factura original.

Cancel paid invoice Credit note to cancel

Cancelar facturas del periodo anterior

Problema

Si la factura es del mes anterior y el periodo está cerrado, los ingresos ya se declararon en los reportes financieros y al gobierno. En Odoo, al cancelar una factura, se elimina el asiento de diario como si los ingresos ya reportados no hubieran existido, esto representa un problema fiscal porque los ingresos ya se declararon en el mes anterior.

El problema reside cuando se ha cerrado el periodo fiscal, en el periodo actual debe realizar el asiento de reversión y guardar la información de cancelación.

Factura por cancelar

Previous period

Así es como se ve el balance general:

Previous BS

Si se cancela la factura, el asiento de diario y el balance general se ven así después de cancelar:

AR in BS
Solución
  1. Cierre el periodo fiscal todos los meses (mejores prácticas de localización en México).

  2. Cancele la factura en el SAT.

  3. Cree un asiento de reversión manual (asiento de diario).

  4. Concilie la factura abierta con el asiento de reversión (asiento de diario).

  5. Cambie el estado de facturación electrónica a Cancelado con acción del servidor.

Cierre del periodo contable cada mes (Mejores prácticas de localización mexicana)

Si el periodo contable se cierra debido a las fechas de bloqueo, Odoo no permitirá modificar o agregar asientos contables de una fecha correspondiente a ese periodo contable.

Closing fiscal period
Cancelar factura en el SAT

Si el periodo contable está cerrado y la factura fue cancelada en el SAT, se publicará el estado en Odoo mientras que el estado de Facturación electrónica será Enviado y el estado del SAT es Cancelado.

Cancel in SAT
Crear un asiento de reversión manualmente

La solución es crear el asiento de diario de reversión con la fecha registrada manualmente en el periodo fiscal actual y conciliar la factura abierta con la reversión creada manualmente.

Debe indicarse claramente en la referencia que se trata de una cancelación (puede utilizar una cuenta de cancelación para facturas de periodos anteriores como Otros ingresos).

Manual reversal
Conciliar la factura abierta con el asiento de reversión
Reconcile open invoice Open invoice paid

En el balance general y balance de comprobación ahora se encuentran los balances correctos.

New BS Up to date BS Balanza de comprobación
Cambiar el estado de la facturación electrónica a Cancelado con acción del servidor

Se puede crear una acción de servidor que modifique el estado de la factura a Cancelada una vez que se concilie con el asiento de reversión (debe verificar con el soporte o con su consultor funcional asignado antes de realizar esta acción).

Scheduled action PAC status Execute server action

Contabilidad electrónica

La contabilidad de México en Odoo se compone de 3 reportes:

  1. Plan de cuentas electrónico (se llama y aparece como COA).

  2. Balance electrónico de comprobación.

  3. Reporte DIOT

1. and 2. are considered electronic accounting, and DIOT is a report only available in the context of accounting.

Puede encontrar todos esos reportes en Contabilidad ‣ Reportes ‣ México

MX reports

Plan de cuentas electrónico (se llama y aparece como COA).

La facturación electrónica nunca ha sido tan fácil, simplemente vaya a Contabilidad ‣ Reportes ‣ México ‣ COA y haga clic en el botón Exportar para SAT (XML).

COA for SAT

¿Cómo agregar cuentas nuevas?

Si agrega una cuenta con la convención de codificación NNN.YY.ZZ donde NNN.YY es un grupo de codificación SAT, su cuenta se configurará automáticamente.

Ejemplo: para agregar una cuenta para una nueva cuenta bancaria vaya a Contabilidad ‣ Ajustes ‣ Plan de cuentas y luego cree una nueva cuenta en el botón «Crear» e intente crear una cuenta con el número 102.01 .99, una vez que cambie para establecer el nombre verá una etiqueta configurada automáticamente, las etiquetas configuradas son las elegidas para ser utilizadas en el Plan de cuentas en XML.

Create account

¿Qué significan las etiquetas?

Para conocer todas las posibles categorías, puede leer el Anexo 24 en el sitio web del SAT, en la sección denominada Código agrupador de cuentas del SAT.

Truco

Cuando instala el módulo l10n_mx y su plan de cuentas depende de él (esto sucede automáticamente al instalar la configuración de México como país en su base de datos), tendrá las etiquetas más comunes de forma predeterminada. Si no se crea la etiqueta que necesita, puede crearla usted mismo.

Balance de comprobación

Exactamente como el plan de cuentas, pero con el crédito y débito del balance inicial, una vez que haya configurado correctamente su plan de cuentas, puede ir a Reportes ‣ Balance de comprobación este se genera automáticamente y se puede exportar a XML mediante el botón Exportar para SAT (XML) en la parte superior con la selección previa del periodo que desea exportar.

Electronic verification balance

Todos los análisis normales y las funciones enumeradas están disponibles aquí, así como cualquier reporte normal de Odoo.

Reporte DIOT (requiere la aplicación de Contabilidad)

¿Qué es la DIOT y la importancia de su presentación al SAT?

Cuando se trata de trámites con el Servicio de Administración del SAT, sabemos que no debemos descuidar lo que presentamos.

La DIOT es la Declaración Informativa de Operaciones con Terceros, la cual es una obligación adicional con el IVA, donde debemos dar el estado de nuestras operaciones a terceros, o lo que se considere lo mismo, con nuestros proveedores.

Esto aplica tanto a Personas físicas como a Personas morales, por lo que si tenemos IVA para presentar al SAT y también tratamos con proveedores es necesario enviar la DIOT.

¿Cuándo presentar la DIOT y en qué formato?

Es fácil presentar la DIOT, ya que, como todos los formatos, se puede obtener en la página del SAT. Es el formulario electrónico A-29 que se puede encontrar en el sitio web del SAT.

Todos los meses, si tiene operaciones con terceros, es necesario presentar la DIOT, como hacemos con el IVA, por lo que si en enero tenemos tratos con proveedores, para febrero debemos presentar la información relevante de dichos datos.

¿Dónde se presenta la DIOT?

Puede presentar la DIOT de diferentes formas, es su decisión cuál elegirá y cuál le resultará más cómoda, ya que la presentará todos los meses o cada vez que tenga tratos con proveedores.

El formulario A-29 es electrónico, por lo que puede presentarlo en la página del SAT, pero esto después de haber realizado hasta 500 registros.

Una vez que se han ingresado estos 500 registros en el SAT, debe enviarlos a la Administración Local de Servicios al Contribuyente (ALSC) con correspondencia a su dirección fiscal, estos registros pueden enviarse en un medio de almacenamiento digital como un CD o USB, los cuales, una vez validados, serán devueltos, así que no dude que aún tendrá estos discos y por supuesto, su CD o USB.

Una cosa más que debe saber: ¿carga por lotes?

Al revisar los documentos oficiales del SAT en DIOT, encontrará la carga por lotes y, por supuesto, lo primero que pensamos es ¿qué es eso?, y según el sitio del SAT es:

La «carga por lotes» es la conversión de bases de datos a partir de registros de transacciones con proveedores realizadas por los contribuyentes en archivos de texto (.txt). Estos archivos cuentan con la estructura necesaria para su aplicación e importación al sistema de Declaración Informativa de Operaciones con Terceros, evitando la captura directa y, en consecuencia, optimizando el tiempo invertido en su integración para la presentación en tiempo y forma al SAT.

Puede utilizarlo para presentar la DIOT, ya que está permitido, lo que facilitará esta operación, para que no exista y así evitar estar formado con el SAT en lo que respecta a la Declaración Informativa de Operaciones con Terceros.

Ver también

Información oficial

¿Cómo generar este reporte en Odoo?
  1. Vaya a Contabilidad ‣ Reportes ‣ México ‣ Transacciones con terceros (DIOT).

    DIOT report
  2. Se muestra una vista de reporte, seleccione el último mes para reportar el mes inmediatamente anterior o deje el mes actual si le conviene.

    DIOT filter
  3. Haga clic en Exportar (XLSX) o Imprimir (TXT)

Print DIOT
  1. Guarde el archivo descargado en un lugar seguro, acceda al sitio web del SAT y siga los pasos necesarios para declararlo.

Consideraciones importantes sobre sus datos de proveedor y facturación para DIOT

  • Todos los proveedores deben tener los campos configurados en la pestaña de contabilidad denominada «Información DIOT», el campo Nacionalidad L10N MX se completa simplemente seleccionando el país correspondiente en la dirección, no necesita hacer nada más allí, sino que el tipo de operación l10n MX se debe configurar en todos sus proveedores.

DIOT configuration
  • Hay 3 opciones de IVA para este reporte, 16%, 0% y Exento, una línea de factura en Odoo se considera exenta si no hay impuesto sobre ella, los otros 2 impuestos ya están configurados correctamente.

  • Recuerde que para pagar una factura que representa un prepago, primero debe solicitar la factura y luego pagarla y conciliar el pago de forma adecuada, siguiendo el procedimiento estándar de Odoo.

  • No necesita completar todos los datos de su partner para intentar generar la factura del proveedor, puede corregir esta información cuando genere el reporte.

  • Recuerde que este reporte solo muestra las facturas de proveedores que realmente se pagaron.

Si no se tienen en cuenta algunas de estas consideraciones, aparecerá un mensaje como este cuando genere la DIOT en TXT con todos los partners que necesita para verificar este reporte en particular. Es por eso que recomendamos utilizar este reporte no solo para exportar su información legal. Genérelo antes de fin de mes y úselo como su proceso de auditoria para ver que todos sus partners están configurados correctamente.

DIOT Error

Cierre del periodo fiscal en Odoo

Antes de proceder al cierre del año fiscal, hay algunos pasos que normalmente debe tomar para asegurarse de que su contabilidad sea correcta, precisa y esté actualizada:

  • Asegúrese de haber conciliado completamente sus cuentas bancarias hasta el final del año y confirme que los balances del libro de cierre coincidan con los balances en sus estados de cuenta bancarios.

  • Verifique que se hayan ingresado y aprobado todas las facturas de los clientes.

  • Confirme que ha ingresado y aprobado todas las facturas de proveedores.

  • Valide todos los gastos, asegurando su exactitud.

  • Verifique que todos los pagos recibidos se hayan ingresado y registrado con exactitud.

Lista de fin de año

  • Ejecute un Reporte fiscal y verifique que su información fiscal sea correcta.

  • Concilie todas las cuentas en su Balance general

    • Compare sus balances bancarios en Odoo con los balances bancarios actuales en sus estados de cuenta. Utilice el reporte Conciliación bancaria para ayudarle.

    • Concilie todas las transacciones en efectivo y cuentas bancarias al ejecutar sus reportes Cuentas por cobrar antiguas y Cuentas por pagar antiguas

    • Audite sus cuentas, asegurándose de comprender completamente las transacciones que las afectan y la naturaleza de las transacciones, y de incluir préstamos y activos fijos.

  • Ejecute la función opcional Emparejamiento de pagos, en el menú desplegable Más en las opciones de diario en el tablero de Contabilidad, validando cualquier factura de proveedor y factura de cliente con sus pagos. Este paso es opcional, sin embargo, puede ayudar al proceso de fin de año si se concilian todos los pagos y facturas pendientes, y puede llevar a encontrar errores propios o del sistema.

  • A su contador probablemente le gustará verificar sus apuntes en el balance general y realizar algunas entradas en el diario para:

    • Hacer ajustes manuales de fin de año, utilizando el reporte Auditoría de diario (por ejemplo, los reportes Ingresos actuales del año e Ingresos retenidos).

    • Trabajo en progreso.

    • Diarios de depreciación.

    • Préstamos.

    • Ajustes de impuestos.

Si su contador está en la auditoría de fin de año, querrá tener copias de los apuntes del balance general (como préstamos, cuentas bancarias, pagos anticipados, reportes de impuestos sobre las ventas, etc.) para compararlos con sus balances en Odoo.

Durante este proceso, es una buena práctica establecer la Fecha de cierre para no asesores en el último día del año financiero anterior, que se establece en los ajustes de Contabilidad. De esta manera, el contador puede confiar en que nadie más está cambiando las transacciones del año anterior mientras audita los libros.

Año fiscal

Proceso de cierre contable

En Odoo no es necesario realizar un asiento específico de fin de año para cerrar las cuentas de reporte de ingresos. El resultado del ejercicio se calcula automáticamente en el tipo de cuenta (Ganancias del año actual) y se acumulará la diferencia entre Ingresos - Gastos para calcularlo.

Los reportes se crean en tiempo real, lo que significa que el Reporte de ingresos corresponde directamente a la fecha de cierre del año que especifique en Odoo. Además, en cualquier momento que genere el Reporte de ingresos, la fecha de inicio corresponderá a la fecha de inicio del año fiscal y los balances de las cuentas serán todos 0.

Al 31 de diciembre, el balance general muestra las ganancias del año actual que no se han reconocido (tipo de cuenta Total de ganancias no asignadas del año actual en la Cuenta de México 305.01.01 [tipo “ganancias del año actual”])

Balance sheet closing

El contador debe crear un asiento contable para reconocer el resultado del año en las Ganancias acumuladas de años anteriores en la cuenta «resultados de años anteriores» (304.01.01 en México), la cual es una cuenta de capital.

Después de publicar el asiento contable, haga clic en Marcar como asiento de cierre del año fiscal. Este paso es importante porque está vinculado al reporte de balance de comprobación. Si este asiento contable no se marca como asiento de cierre, el balance de comprobación no será correcto.

El asiento contable simplificado se vería así:

Closing journal entry

Una vez que el contador ha creado el asiento de diario para ubicar las Ganancias actuales del año, debe establecer la Fecha de cierre en el último día del año fiscal. Asegurándose de que antes de hacer esto, la ganancia actual del año reporte correctamente un balance de 0, sin importar la ganancia actual del año en el Balance general.

Check BS closing

Aplicación de Contactos (gratis)

Si desea administrar de forma adecuada a sus clientes, proveedores y direcciones, es muy recomendable instalar este módulo, incluso si no es una necesidad técnica.

Multidivisa (requiere la aplicación de Contabilidad)

En México, casi todas las empresas envían y reciben pagos en diferentes divisas. Si desea hacer esto, puede habilitar el uso de la función Multidivisa. También debe habilitar la sincronización con el Servicio de Banco de México, ya que esto le permitiría obtener automáticamente el tipo de cambio del SAT sin tener que crear manualmente esta información todos los días en Odoo.

Vaya a los ajustes y habilite la función multidivisa.

Multi currency configuration

Habilitar errores explícitos en el CFDI utilizando el validador local XSD (CFDI 3.3)

Normalmente desea recibir errores explícitos de los campos establecidos de forma incorrecta en el XML. Estos errores se informan mejor si se habilita la verificación. Para habilitarla con la función xsd, siga los siguientes pasos (con el modo de desarrollador habilitado).

  • Vaya a Ajustes ‣ Técnico ‣ Acciones ‣ Acciones del servidor

  • Busque la acción que se llama «Descargar archivos XSD a CFDI»

  • Haga clic en el botón «Crear acción contextual»

  • Vaya al formulario de la empresa en Ajustes ‣ Usuarios y empresas ‣ Empresas

  • Abra cualquier empresa que tenga.

  • Haga clic en «Acción» y luego en «Descargar archivo XSD a CFDI».

Download XSD files to CFDI from the Companies list view on Odoo

Ahora puede hacer una factura con cualquier error (por ejemplo, un producto sin código, lo cual es bastante común) y se mostrará un error explícito en lugar de uno genérico sin explicación.

Nota

Si ve un error como este:

El CFDI generado no es válido
atributo decl. 'TipoRelacion', atributo 'type': El valor QName '{http://www.sat.gob.mx/sitio_internet/cfd/catalogos}c_TipoRelacion' no se resuelve en una definición de tipo simple., Línea 36

Esto puede ser debido a que se restauró un respaldo de la base de datos en otro servidor, o cuando los archivos XSD no se descargaron correctamente. Siga los mismos pasos mencionados anteriormente pero:

  • Vaya a la empresa en donde ocurre el error.

  • Haga clic en Acción y luego en Descargar archivo XSD a CFDI.

Problemas y errores comunes

  • Mensajes de error (Solo aplica en CFDI 3.3):

    • 9:0ERROR:SCHEMASV:SCHEMAV_CVC_MINLENGTH_VALID: Elemento '{http://www.sat.gob.mx/cfd/3}Concepto', atributo 'NoIdentificacion': [facet 'minLength'] El valor '' tiene una longitud de '0'; esto no cumple con la longitud mínima permitida de '1'.

    • 9:0:ERROR:SCHEMASV:SCHEMAV_CVC_PATTERN_VALID: Elemento '{http://www.sat.gob.mx/cfd/3}Concepto', atributo 'NoIdentificacion': [facet 'pattern'] El valor '' no es compatible con el patrón '[^|]{1,100}'.

    Solución: Olvidó establecer el campo «Referencia» adecuado en el producto, vaya al formulario del producto y establezca su referencia interna correctamente.

  • Mensajes de error:

    • 6:0:ERROR:SCHEMASV:SCHEMAV_CVC_COMPLEX_TYPE_4: Elemento '{http://www.sat.gob.mx/cfd/3}RegimenFiscal': El atributo 'Régimen' es obligatorio y no está.

    • 5:0:ERROR:SCHEMASV:SCHEMAV_CVC_COMPLEX_TYPE_4: Elemento '{http://www.sat.gob.mx/cfd/3}Emisor': El atributo 'RegimenFiscal' es obligatorio y no está.

    Solución: Olvidó establecer la «Posición fiscal» adecuada para el partner de la empresa. Vaya a clientes, elimine el filtro de clientes y busque el partner que se llama como su empresa y establezca la posición fiscal adecuada, la cual es el tipo de negocio que hace su empresa en relación con la lista de posibles valores del SAT, otra opción puede ser que olvidó seguir las consideraciones sobre posiciones fiscales.

    Debe ir a los ajustes de Posición fiscal y establecer el código adecuado (son los primeros 3 números del nombre), por ejemplo, para la prueba, debe configurar 601, se verá como en la imagen.

    Fiscal position error

    Truco

    Para propósitos de prueba, este valor debe establecerse como 601 - Régimen General de Ley Personas Morales, que es el requerido para la demostración de IVA.

  • Mensaje de error:

    • 2:0:ERROR:SCHEMASV: SCHEMAV_CVC_ENUMERATION_VALID: Elemento '{http://www.sat.gob.mx/cfd/3}Comprobante', atributo 'FormaPago': [faceta 'enumeración'] El valor '' no es un elemento del conjunto {'01', '02', '03', '04', '05', '06', '08', '12', '13', '14', '15' , '17', '23', '24', '25', '26', '27', '28', '29', '30', '99'}

    Solución: el método de pago es obligatorio en su factura.

Payment method error
  • Mensajes de error:

    • 2:0:ERROR:SCHEMASV:SCHEMAV_CVC_ENUMERATION_VALID: Elemento '{http://www.sat.gob.mx/cfd/3}Comprobante', atributo 'LugarExpedicion': [faceta 'enumeration'] El valor '' no es un elemento del conjunto  {'00

    • 2:0:ERROR:SCHEMASV:SCHEMAV_CVC_DATATYPE_VALID_1_2_1: Element '{http://www.sat.gob.mx/cfd/3}Comprobante', atributo 'LugarExpedicion': '' no es un valor válido de tipo atómico '{http://www.sat.gob.mx/sitio_internet/cfd/catalogos}c_CodigoPostal'.

    • 5:0:ERROR:SCHEMASV:SCHEMAV_CVC_COMPLEX_TYPE_4: Elemento '{http://www.sat.gob.mx/cfd/3}Emisor': El atributo 'RFC' es obligatorio y no está.

    Solución: Debe configurar correctamente la dirección de su empresa, este es un grupo de campos obligatorio, puede ir a la configuración de su empresa en Ajustes‣ Usuarios y empresas ‣ Empresas y llenar todos los campos obligatorios para su dirección siguiendo los pasos de esta sección: Ingrese información legal.

  • Mensaje de error:

    • 2:0:ERROR:SCHEMASV:SCHEMAV_CVC_DATATYPE_VALID_1_2_1: Element '{http://www.sat.gob.mx/cfd/3}Comprobante', atributo 'LugarExpedicion': '' no es un valor válido de tipo atómico '{http://www.sat.gob.mx/sitio_internet/cfd/catalogos}c_CodigoPostal'.

    Solución: El código postal de la dirección de su empresa no es válido para México, corríjalo.

ZIP code error
  • Mensajes de error:

    • 18:0:ERROR: SCHEMASV: SCHEMAV_CVC_COMPLEX_TYPE_4: Elemento '{http://www.sat.gob.mx/cfd/3}Traslado': El atributo 'TipoFactor' es obligatorio y no está.

    • 34:0:ERROR:SCHEMASV:SCHEMAV_CVC_COMPLEX_TYPE_4: Elemento '{http://www.sat.gob.mx/cfd/3}Traslado': El atributo 'TipoFactor' es obligatorio y no está.", '')

    Solución: Establezca el nombre mexicano para el impuesto del 0% y el 16% en su sistema y utilícelo en la factura. Su impuesto, que representa el 16% de IVA y el 0%, debe tener el campo Tipo de factor establecido en Tasa.

    Factor type error Rate error
  • Mensajes de error:

    • `` CCE159``
      Se debe registrar el atributo XXXX si la clave de cce11: ComercioExterior: TipoOperacion registrada es '1' o '2'.

    Solución: Es necesario especificar el Incoterm.

  • Mensajes de error:

    • CCE209
      El atributo cce11: Comercio exterior: Bienes: Bienes: Unidad aduanera debe tener el valor que se espcifica en el catálogo catCFDI: c_FraccionArancelaria columna 'UMT' cuando el atributo cce11: Comercio Exterior: Bienes: Yo

    Solución: La Fracción arancelaria debe tener el código de la unidad de medida 01, correspondiente a Kilogramos.

Glosario

  • CFDI: Comprobante Fiscal Digital por Internet

  • CSD: Certificado de Sello Digital

  • PAC: Proveedor Autorizados de Certificación

  • Sello: Firma digital de la factura electrónica

  • Addenda: Complemento de información que se puede adjuntar a un Comprobante Fiscal Digital por Internet (CFDI) normalmente requerido por ciertas empresas en México como Walmart, Tiendas Sorianas, etc.

  • UUID: Es el acrónimo en inglés del Universal Unique Identifier. El UUID es el equivalente al Folio Fiscal, se compone por 32 dígitos hexadecimales, que se muestran en 5 grupos separados por guiones.

  • LCO: La Lista de Contribuyentes Obligados (LCO) es una lista emitida por el SAT que da cuenta de todos los contribuyentes a quienes autoriza la emisión de facturas y recibos de nómina. Esto significa que, para poder facturar electrónicamente a sus clientes, debe estar en esta base de datos.