Files
clientflow_backend/docs/CLIENTFLOW_V4926_8_1_NOTES.md
2026-06-09 22:55:58 +01:00

1.7 KiB

ClientFlow v4926.8.1 — Jasmin candidate association + fiscal suggestion cleanup

Objetivo

Corrige dois problemas observados no detalhe de oportunidade:

  1. Quando já existe um orçamento Jasmin para o cliente, a oportunidade mostrava "Ainda sem documentos Jasmin" e não dava uma forma clara de associar o orçamento existente antes de criar novo.
  2. Sugestões fiscais antigas accepted podiam continuar visíveis com NIF —, mesmo quando o cliente fiscal atual já tinha NIF correto.

Alterações

Documentos Jasmin

  • O painel Documentos Jasmin passa a procurar documentos Jasmin compatíveis em reconciliation_items por:
    • customer_id interno;
    • NIF fiscal;
    • NIF dentro do payload Jasmin;
    • email;
    • domínio no payload;
    • nome fiscal exato.
  • Se encontrar candidatos ainda não importados, mostra aviso: associar documento existente antes de criar novo.
  • Novo botão por candidato: Associar e importar.
  • Novo endpoint:
    • POST /opportunities/{opportunity_id}/jasmin/link-candidate/{item_id}
  • A ação liga o reconciliation_item à oportunidade e reaproveita o backfill Jasmin para importar:
    • commercial_documents;
    • commercial_document_lines;
    • opportunity_items;
    • value_amount;
    • product_interest.

Sugestões fiscais

  • list_fiscal_suggestions_for_opportunity passa a fazer LEFT JOIN customers para preencher suggested_nif/suggested_name com o cliente interno quando a sugestão antiga tem NIF vazio.
  • A UI deixa de mostrar sugestões accepted que apenas confirmam o cliente fiscal já ligado à oportunidade.
  • Isto remove ruído como SEMENTENERGIAS accepted NIF — quando a ficha fiscal atual já mostra NIF 516356216.

Validação

  • python -m compileall -q app scripts