Estoy armando un módulo que tiene varias funcionalidades, entre ellas, una que debe generar devoluciones masivas en facturas borrador. Les dejo el siguiente Snippet que puede ser útil.

from odoo import models
 
##DATOS INICIALES
ID_FACTURA = 14
ID_PRODUCTO = 5 #IMPORTANTE: ¡ID DEL PRODUCT.TEMPLATE!
 
facturas = env['account.move']
factura = facturas.browse(ID_FACTURA)
productos_t = env['product.template']
 
# Crear una línea de factura tipo devolución con descuento
linea_factura = {
    'product_id': productos_t.browse(ID_PRODUCTO).product_variant_id.id,
    'name': 'Descuento por ser buena gente',
    'price_unit': -100,
    'quantity': 1,
}
 
factura.write({'invoice_line_ids': [(0, 0, linea_factura)]})
self.env.cr.commit()

Es bien básico, pero hace lo que tiene que hacer. 🙂