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 reportes contables relevantes (por ejemplo, la 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 podrá utilizar como su sistema contable, satisfaciendo las necesidades normales del mercado. Esto convierte a Odoo en la solución perfecta para administrar su negocio en México.

Requisitos previos

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. Selecionar un PAC y sellos de compra. Actualmente, la localización de México en Odoo funciona con los siguientes PACs: Solución Factible, Quadrum (antes Finkok) y SW Sapien - Smarter Web.

  4. Contar con conocimiento y 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 establecida en México.

Módulos

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

Instalación del módulo de localización mexicana en las aplicaciones de Odoo

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 del SAT.
  2. EDI para México (l10n_mx_edi y l10n_mx_edi_extended)
    Necesario para transacciones electrónicas, CFDI 3.3, complemento de pago y adendas en facturas.
  3. Reportes de localización mexicana de Odoo (l10n_mx_reports y l10n_mx_reports_closing)
    Todos los reportes obligatorios para la contabilidad electrónica. (Requiere la aplicación Contabilidad).

Los siguientes módulos son opcionales y solo debe instalarlos 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, pues agregan campos que pueden complicar innecesariamente el llenado del formulario.

  1. Localización mexicana de Odoo para Inventario / Costos 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 contables en XML, listos para enviar al SAT.

Configuración

Habilitar la facturación electrónica

Vaya a Ajustes ‣ 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.

Pasos para habilitar la facturación electrónica

Establecer 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, se realiza a través de un campo preexistente en Odoo denominado «Régimen fiscal».

Vaya a Ajustes ‣ Contabilidad ‣ Facturación electrónica (MX) ‣ Régimen fiscal y seleccione la opción que corresponda a su empresa de la lista desplegable.

Establecer el régimen fiscal en la aplicación Contabilidad de Odoo

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 RFC.

Ejemplo de formulario de contacto

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 con los impuestos de venta.

Para realizar esta configuración primero vaya a Contabilidad ‣ Configuración ‣ Ajustes ‣ Impuestos.

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

Configuración de impuestos

Haga lo mismo para todos los impuestos a las ventas que necesite la empresa, ya sean los que vienen de forma predeterminada en Odoo o los que usted agregue que sean necesarios para la factura de su empresa.

Truco

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

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

Cuentas de impuestos

Configuración de productos

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

Para configurar productos, vaya a la pestaña de 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 de forma manual o mediante una importación masiva.

Configurar productos

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 trabaja y las credenciales. De esa forma se habilitará la facturación electrónica.

Advertencia

Recuerde que debe hacer el registro directamente con el PAC de su preferencia antes de comenzar a emitir facturas desde Odoo. Están disponibles los siguientes PACs: Quadrum, Solución Factible y SW Sapien - Smarter Web.

Debe procesar su clave privada (CSD) con la institución del 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 Ajustes ‣ 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).

Credenciales de comité de cuentas públicas

Truco

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

Por último, suba los certificados digitales de la empresa en el apartado Certificados MX. Haga clic en Agregar una línea, se abrirá una ventana, haga clic en Crear y desde ahí puede subir su certificado digital, su clave y su contraseña. Para finalizar, haga clic en Guardar y cerrar.

Certificado y clave

Truco

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

También debe configurar la empresa con una dirección real en México (incluyendo todos los campos) y agregar EKU9003173C9 como RFC.

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 debe crear una factura mediante 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 timbrará después de hacer clic en Validar, antes de eso el estado todavía está en modo de borrador y se pueden realizar cambios. Después de validar la factura, puede verificar que se haya timbrado con éxito, ya que se vería así:

Creación de una factura

Los detalles de la factura se reflejarán en el chatter, que es lo que ve a la derecha de la factura en la imagen adjunta. Ahí encontrará su XML enviado al SAT y el estado del timbre, es decir, si se validó o no.

Para enviar la factura timbrada a su cliente, puede enviar el XML junto con el archivo PDF directamente desde Odoo si hace clic en el botón Enviar e imprimir. También puede descargar el archivo PDF a su computadora al hacer clic en el botón Imprimir y seleccionar la opción deseada.

Truco

Según el tamaño de la pantalla, el chatter puede aparecer al lado o debajo del documento.

Facturación de casos especiales

Factura de comercio exterior

El proceso de facturación de comercio exterior en Odoo se basa en el Reglamento SAT correspondiente. 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 exterior 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 están directamente relacionados 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 con funciones avanzadas
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).

Configuración de dirección de contacto
Cliente receptor

Por lo general será un cliente extranjero. Deberá verificar que tiene al menos los siguientes campos completados con la información correspondiente.

Factura de comercio externo

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.

Código de producto del SAT Fracción arancelaria

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á 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 en la factura PDF de comercio externo

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.

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).

Módulo de existencias MX

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.

Número de aduana

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.

Plazos 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.

Términos de Pago

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.

Política de pago

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.

Cuenta bancaria del contacto

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.

Pagos PPD Información de pago PPD

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 receptora (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 se validará cuando se realice la conciliación bancaria.

Pago PPD creado

Nota

La cuenta bancaria receptora 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 timbrado.

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.

Pagos PUE Información de pago PUE Pago PUE creado

Nota

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

Pagos anticipados

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 | Factura_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 de tipo servicio y debe utilizar la Categoría de producto NSPSC: 84111506 Servicios de facturación.

Producto de anticipo

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

Configuración del anticipo
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).

Se aplica el anticipo

Valide la factura con el producto de anticipo.

Confirme el anticipo Folio fiscal del anticipo

Registre el pago de la factura anticipada.

Factura del anticipo Se registró el anticipo
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.

Factura completa

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 fiscal de la factura completa

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

Folio del CFDI origen

Valide y copie el Folio fiscal para después (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)

 Creación de una nota de crédito Emparejamiento del anticipo

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

Modificar folio fiscal Tipo de CFDI origen

Ahora se puede confirmar la factura.

Publicar nota de crédito

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.

Agregar nota de crédito Se aplicó el anticipo

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

Pago de importe residual

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 del anticipo

Descuentos basados en los 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 esta 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 factura rectificativa

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).

Término de pago del descuento

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

Descuento en la factura
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.

Descuento de pago

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

Ver el descuento de pago Restablecer pago a borrador Cancelar pago
Crear una factura rectificativa

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 especifique que la diferencia se le dio al cliente en una nota de crédito.

Nota de crédito del descuento Razón de la nota de crédito

Ajuste el importe al balance restante en la factura original.

Total de la nota de crédito

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

Agregar nota de crédito para el descuento

Cancelación de facturas

Antes de las 72 horas

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

  1. Solicitar una cancelación

    Cancelar en 72 horas
  2. El estado de la Facturación electrónica cambia a Cancelado

  3. Haga clic en RESTABLECER A BORRADOR

    Cambiar factura a borrador
  4. Haga clic en CANCELAR ASIENTO

    Cancelar asiento contable

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.

Cancelar después de 72 horas

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.

Revisar 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).

Acción programada del PAC

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.

Cancelar factura pagada Nota de crédito por cancelar

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 contable 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

Periodo anterior

Así es como se ve el balance general:

Balance general anterior

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

Cuentas por cobrar en balance general
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 contable).

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

  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.

Cierre del periodo fiscal
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.

Cancelar en el SAT
Crear un asiento de reversión manualmente

La solución es crear el asiento contable 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).

Reversión manual
Conciliar la factura abierta con el asiento de reversión
Conciliar factura abierta Factura abierta pagada

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

Nuevo balance general Balance general actualizado 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).

Acción programada de estado de PAC Ejecutar acción de servidor

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

Reportes en México

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).

Plan de cuentas para el 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.

Crear cuenta

¿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.

Balanza 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.

Balance electrónico de comprobación

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 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, le 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, por lo tanto, 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.

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

    Reporte DIOT
  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.

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

Imprimir 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.

Configuración de la DIOT
  • 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.

Error en la DIOT

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”])

Cierre del balance general

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 balanza de comprobación. Si este asiento contable no se marca como asiento de cierre, la balanza de comprobación no será correcta.

El asiento contable simplificado se vería así:

Asiento contable de cierre

Una vez que el contador ha creado el asiento contable 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.

Revisar cierre de balance general

Aplicación 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 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.

Configuración multidivisa

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

Normalmente, es deseable 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».

Descargar archivo XSD a CFDI desde la vista de lista de empresas en 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.

    Error en la posición fiscal

    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.

Error en el método de pago
  • 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: Ingresar 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.

Error en el código postal
  • 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.

    Error en el tipo de factor Error en la tasa
  • 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.