Nos pidieron que extendamos el módulo purchase_indirect_costs (el cual se encuentra descripto en otro post). En este caso nos pidieron que el usuario pueda seleccionar los gastos indirectos a asignar por línea de factura (ya que el usuario desea asignar ciertos costos de la factura, no todos).
Para ello extendimos el módulo purchase_indirect_costs en el módulo purchase_indirect_costs_line. Este módulo funciona como el módulo purchase_indirect_costs, la única diferencia es que permite seleccionar de la factura del proveedor la línea de la factura para calcular el costo indirecto.
El cálculo de costos indirectos lo hace como el módulo anterior. Lo único destacable de mencionar a nivel técnico es que permitimos la selección de la línea de la factura de la siguiente manera en el domain de la línea
<field name="move_line_id"
domain="[('move_id','=',move_id),('product_id','!=',False)]"/>
Donde filtramos la líneas a mostrar solo para los apuntes que pertenezcan al asiento que seleccionamos anteriormente. Y que sean líneas de producto, así no mostramos las líneas de la cuentas pagables ni los impuestos.