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:
Estar registrado en el SAT y tener un RFC.
Tener un Certificado de Sello Digital (CSD).
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.
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 l10n_mx
.

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:
- 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.
- 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.
- 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.
- 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.
- 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
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.
Ingresar información legal¶
Después de verificar la configuración general, debe verificar que la empresa esté configurada con los datos correctos. Para hacerlo, vaya a
y haga clic en Actualizar información debajo del nombre de su empresa.
En el formulario resultante, ingrese su dirección completa (incluido el código postal), RFC (número de identificación fiscal) y el resto de los datos.
Importante
Desde un punto de vista legal, una empresa mexicana debe usar la divisa local (MXN). Por lo tanto, Odoo no brinda funciones para gestionar una configuración alterna. Si quiere gestionar otra divisa, deje que MXN sea la divisa predeterminada y use una lista de precios mejor.
Advertencia
Asegúrese de que en la dirección, para el campo País, seleccione «México» de la lista de países que muestra Odoo, porque si ingresa el país manualmente existe el riesgo de crear un «nuevo país» en el sistema, lo que dará lugar a errores más adelante cuando se generan los CFDI.

Truco
Si desea probar la localización mexicana, puede configurar la empresa con una dirección real dentro de México (que incluya todos los campos) y agregue EKU9003173C9
como RFC.
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
y seleccione la opción que corresponda a su empresa de la lista desplegable.
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.

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

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.

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.

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
. En la sección PAC MX, ingrese el nombre de su PAC con sus credenciales (nombre de usuario y contraseña de PAC).
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.

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:
Contraseña:
12345678a
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í:

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

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

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.


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.


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

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
. Dentro de las opciones, active Costos en destino. Esta opción permitirá agregar el número de pedimento a las recepciones de producto correspondientes.
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
. Allí encontrará la opción de adjuntar el número de pedimento.
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
encontrará la lista predeterminada en Odoo.
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.

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.

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.


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.

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.



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¶
Emisión de factura electrónica con el importe del anticipo recibido.
Emisión de la factura electrónica por el valor total de la operación (factura completa). (Origen CFDI: 07 | Factura anticipada, punto 1)
Emisión de la factura electrónica con el tipo Egreso. (Origen CFDI: 07 | Factura_total, punto 2)
Pasos a seguir en Odoo¶
Preparación: crear el producto
Emisión del anticipo de la factura electrónica por el importe del anticipo recibido
Emisión de la factura electrónica por el valor total de la operación
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.

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

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

Valide la factura con el producto de anticipo.


Registre el pago de la factura anticipada.


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.

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:

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

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)


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


Ahora se puede confirmar la factura.

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.


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

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.

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.
Crear y asignar el término de pago correspondiente.
Registrar el pago dentro de los días del descuento.
Crear una factura rectificativa
Crear y asignar el término de pago correspondiente.¶
Para configurar el descuento por anticipo, vaya a
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).
Luego, al crear la orden de venta o la factura de venta, asigne el término de pago creado previamente.

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.

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.



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.


Ajuste el importe al balance restante en la factura original.

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

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.
Solicitar una cancelación
El estado de la Facturación electrónica cambia a Cancelado
Haga clic en RESTABLECER A BORRADOR
Haga clic en CANCELAR ASIENTO
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.
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)
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.
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.

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.

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

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

Así es como se ve el balance general:

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

Solución¶
Cierre el periodo fiscal todos los meses (mejores prácticas de localización en México).
Cancele la factura en el SAT.
Cree un asiento de reversión manual (asiento contable).
Concilie la factura abierta con el asiento de reversión (asiento contable).
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.

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.

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

Conciliar la factura abierta con el asiento de reversión¶


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



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


Contabilidad electrónica¶
La contabilidad de México en Odoo se compone de 3 reportes:
Plan de cuentas electrónico (se llama y aparece como COA).
Balance electrónico de comprobación.
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

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
y haga clic en el botón Exportar para SAT (XML).
¿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
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.
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
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.
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.
Véase
¿Cómo generar este reporte en Odoo?¶
Vaya a
.Se muestra una vista de reporte, seleccione el último mes para reportar el mes inmediatamente anterior o deje el mes actual si le conviene.
Haga clic en Exportar (XLSX) o Imprimir (TXT)

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.

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.

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.

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

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í:

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.

Funciones adicionales recomendadas¶
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.

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
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
Abra cualquier empresa que tenga.
Haga clic en «Acción» y luego en «Descargar archivo XSD a CFDI».

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

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 Ingresar información legal.
y llenar todos los campos obligatorios para su dirección siguiendo los pasos de esta sección: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.

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