import logging from odoo import models, fields _logger = logging.getLogger(__name__) class AccountMove(models.Model): _inherit = 'account.move' woo_order_id = fields.Many2one('woo.order', string='WooCommerce Order') is_woo_invoice = fields.Boolean(compute='_compute_is_woo_invoice', string='Is WC Invoice') def _compute_is_woo_invoice(self): for move in self: move.is_woo_invoice = bool(move.woo_order_id) def action_post(self): """Override to auto-push invoice PDF to WooCommerce on posting.""" res = super().action_post() for move in self: if move.woo_order_id and not move.woo_order_id.invoice_synced: try: move.woo_order_id.action_push_invoice_pdf() move.woo_order_id.invoice_synced = True except Exception as e: _logger.error("Failed to push invoice PDF to WC: %s", e) return res