Skip to content

Commit

Permalink
[FIX] l10n_br_stock_account: when create Invoice use the Partner mapp…
Browse files Browse the repository at this point in the history
…ing by the methods of module instead of Fiscal Dict and inform partner_shipping_id with Partner of Picking instead in the case of it's different of Partner to Invoice.
  • Loading branch information
mbcosta committed Aug 13, 2024
1 parent c9c8f19 commit 96391ba
Showing 1 changed file with 24 additions and 7 deletions.
31 changes: 24 additions & 7 deletions l10n_br_stock_account/wizards/stock_invoice_onshipping.py
Original file line number Diff line number Diff line change
Expand Up @@ -98,17 +98,34 @@ def _build_invoice_values_from_pickings(self, pickings):
if picking.fiscal_operation_id and picking.fiscal_operation_id.journal_id:
fiscal_vals["journal_id"] = picking.fiscal_operation_id.journal_id.id

# Necessário para o caso do Pedido de Compra criado com o Contato
# de Faturamento onde o Picking é criado com esse partner e está
# sendo necessário preencher o partner_shipping_id com esse partner
# do Picking, sem isso o uso o Partner principal do Contato
if values.get("partner_shipping_id") != values.get("partner_id"):
if not fiscal_vals.get("partner_shipping_id"):
fiscal_vals["partner_shipping_id"] = picking.partner_id.id

# Endereço de Entrega diferente do Endereço de Faturamento
# so informado quando é diferente
if fiscal_vals["partner_id"] != values["partner_id"]:
values["partner_shipping_id"] = fiscal_vals["partner_id"]
else:
# Já no modulo stock_picking_invoicing o campo partner_shipping_id
# é informado mas para evitar ter a NFe com o Endereço de Entrega
# quando esse é o mesmo Endereço, esta sendo removido.
# TODO: Deveria ser informado mesmo quando é o mesmo? Isso não
# acontecia na v12.
del values["partner_shipping_id"]
# Necessário para manter o Partner mapeado pelo metodo
# https://github.com/OCA/account-invoicing/blob/14.0/
# stock_picking_invoicing/models/stock_picking.py#L38
fiscal_vals["partner_id"] = values["partner_id"]

# TODO: Na criação da Fatura pelo Pedido de Venda o campo
# partner_shipping_id sempre vai preenchido, isso deve ser
# considerado o padrão? Ou deveria ser feito como antes aqui
# onde nos casos em que o partner_id é o mesmo que o partner_shipping_id
# o campo era apagado e assim a Fatura era criada sem o Endereço de
# Entrega
# else:
# # Já no modulo stock_picking_invoicing o campo partner_shipping_id
# # é informado mas para evitar ter a NFe com o Endereço de Entrega
# # quando esse é o mesmo Endereço, esta sendo removido.
# del values["partner_shipping_id"]

# Ser for feito o update como abaixo o campo
# fiscal_operation_id vai vazio
Expand Down

0 comments on commit 96391ba

Please sign in to comment.