JulioSerna/odoo-mx-invoice-partner-fix

Antigravity skill to safely re-associate Odoo Mexican CFDI invoices to correct partner.

★ 0Forks 0PythonGitHub ↗Compare

README

Odoo MX Invoice Partner Fix (Antigravity Skill)

Este es un Skill de Antigravity diseñado para corregir la asociación de clientes en facturas de clientes extranjeros en entornos de Odoo México (l10n_mx).

Problema que resuelve

Cuando se importan facturas de clientes extranjeros en Odoo, si el cliente real no tiene configurado su RFC, Odoo mapea automáticamente las facturas al primer registro que encuentra con el RFC genérico extranjero (XEXX010101000) (por ejemplo, VERKADA u otro cliente genérico).

Dado que estas facturas ya están publicadas (posted) y timbradas con su correspondiente timbre fiscal (UUID de la CFDI), no se pueden pasar a borrador o cancelar ya que se invalidaría la firma fiscal ante el SAT de forma permanente.

Solución

Este skill detalla y automatiza una solución segura:

  1. Busca el archivo XML adjunto a la factura y extrae los datos del receptor (Nombre, RFC, DomicilioFiscalReceptor, ResidenciaFiscal, RegimenFiscalReceptor).
  2. Busca o crea/actualiza la ficha del cliente en res.partner con los datos del XML.
  3. Crea una Acción de Servidor temporal que ejecuta una actualización directa vía SQL en las tablas account_move y account_move_line para enlazar la factura y sus apuntes contables al cliente correcto sin tocar el estado ni invalidar la firma.
  4. Limpia la caché y elimina la acción temporal.

Cómo Instalar este Skill en tu Proyecto

Clona este repositorio directamente dentro del directorio de personalizaciones de agentes de tu proyecto (.agents/skills/):

git clone <URL_DE_ESTE_REPOSITORIO> .agents/skills/odoo-mx-invoice-partner-fix

Una vez clonado, el asistente de IA de Antigravity detectará automáticamente este skill y sus instrucciones en cualquier conversación dentro del workspace.


Cómo Ejecutar el Script de Forma Manual

Si deseas correr el script directamente desde tu terminal, puedes hacerlo usando Python:

Requisitos previos

El script asume que utilizas la herramienta odoo-mcp. Leerá las credenciales y perfiles desde: ~/.config/odoo-mcp/profiles.json

Ejecución

Usa los siguientes argumentos:

  • -p / --profile: Nombre del perfil en odoo-mcp (ej. drr-staging, drr-production).
  • -i / --invoices: Nombres de las facturas separados por coma (ej. INV/2026/00097,INV/2026/00098).
python3 scripts/fix_invoice_partner.py -p drr-staging -i "INV/2026/00097,INV/2026/00098"

Estructura del Repositorio

  • SKILL.md: Instrucciones principales estructuradas para el Agente de IA.
  • scripts/fix_invoice_partner.py: Script automatizado de Python.
  • README.md: Este archivo explicativo.

Contributors

JulioSerna

Issues