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).
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.
Este skill detalla y automatiza una solución segura:
- Busca el archivo XML adjunto a la factura y extrae los datos del receptor (
Nombre,RFC,DomicilioFiscalReceptor,ResidenciaFiscal,RegimenFiscalReceptor). - Busca o crea/actualiza la ficha del cliente en
res.partnercon los datos del XML. - Crea una Acción de Servidor temporal que ejecuta una actualización directa vía SQL en las tablas
account_moveyaccount_move_linepara enlazar la factura y sus apuntes contables al cliente correcto sin tocar el estado ni invalidar la firma. - Limpia la caché y elimina la acción temporal.
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-fixUna vez clonado, el asistente de IA de Antigravity detectará automáticamente este skill y sus instrucciones en cualquier conversación dentro del workspace.
Si deseas correr el script directamente desde tu terminal, puedes hacerlo usando Python:
El script asume que utilizas la herramienta odoo-mcp. Leerá las credenciales y perfiles desde:
~/.config/odoo-mcp/profiles.json
Usa los siguientes argumentos:
-p / --profile: Nombre del perfil enodoo-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"SKILL.md: Instrucciones principales estructuradas para el Agente de IA.scripts/fix_invoice_partner.py: Script automatizado de Python.README.md: Este archivo explicativo.