Liquidação de Fatura
LiquidacaoFatura
A rotina de Liquidação de Fatura pertence ao módulo Financeiro, na área de Comex/Câmbio (menu 1585).
Visão Geral
A rotina de Liquidação de Fatura pertence ao módulo Financeiro, na área de Comex/Câmbio (menu 1585). Ela permite liquidar títulos (faturas) a receber vinculados a contratos de câmbio (modelos ACC, ACE, TRV, entre outros) ou sem vínculo a contrato (modelos NDF, OPC e Pronto), aplicando a cotação de câmbio informada, gerando os lançamentos financeiros e a integração contábil correspondentes, e atualizando o status do contrato de câmbio quando ele for totalmente liquidado.
A rotina possui duas telas de acesso distintas, cada uma com sua própria permissão de tela: “Liquidação de fatura” (busca por contratos ACC/ACE/TRV, permissão ID 3887) e “Liquidação de Fatura Sem Contrato” (busca de faturas sem vínculo a contrato, permissão ID 3888) — ambas dentro da área “Comex” (ID 1585), mas cada uma controlada por sua própria permissão de tela (ver seção Permissões).
Endpoints
[GET] /LiquidacaoFatura/ListarContratos
Lista os contratos de câmbio disponíveis para liquidação de fatura (tela “Liquidação de fatura”), de acordo com os filtros informados pelo usuário na tela de busca.
Permissão: ação de consulta sem permissão própria — coberta pela permissão de acesso à tela “Liquidação de fatura” (ID 3887).
Parâmetros:
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| (parâmetros de filtro da tela) | vários | Não | Critérios de busca de contratos de câmbio elegíveis para liquidação |
[GET] /LiquidacaoFatura/ListarContratos?parametro=valor
[JSON com a lista de contratos de câmbio encontrados, no formato de listagem padrão]
[GET] /LiquidacaoFatura/ListarFaturas
Lista as faturas (títulos) disponíveis para liquidação, vinculadas aos contratos de câmbio informados (tela “Liquidação de fatura”).
Permissão: ação de consulta sem permissão própria — coberta pela permissão de acesso à tela “Liquidação de fatura” (ID 3887).
Parâmetros:
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| Contratos de câmbio selecionados | lista | Sim | Identifica os contratos para os quais as faturas vinculadas serão listadas |
[GET] /LiquidacaoFatura/ListarFaturas?parametro=valor
[JSON com a lista de faturas/títulos encontrados, no formato de listagem padrão]
[GET] /LiquidacaoFatura/ListarFaturasSemContrato
Lista as faturas (títulos) disponíveis para liquidação sem vínculo a um contrato de câmbio, aplicável aos modelos de operação NDF, OPC e Pronto (tela “Liquidação de Fatura Sem Contrato”).
Permissão: ação de consulta sem permissão própria — coberta pela permissão de acesso à tela “Liquidação de Fatura Sem Contrato” (ID 3888).
Parâmetros:
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| idDaMoeda | número inteiro | Sim | Moeda estrangeira das faturas a buscar |
| idDaCartira | número inteiro | Não | Filtra pela carteira/conta da fatura |
| idDaFatura | texto | Não | Filtra por identificador exato da fatura |
| dataEmissaoInicial / dataEmissaoFinal | data | Não | Intervalo de data de emissão da fatura |
| dataVencimentoInicial / dataVencimentoFinal | data | Não | Intervalo de data de vencimento da fatura |
| novaCotacao | decimal | Não | Nova cotação de câmbio a aplicar sobre as faturas retornadas |
| valorDeConsulta | texto | Não | Termo de busca livre aplicado como filtro padrão da grid |
[GET] /LiquidacaoFatura/ListarFaturasSemContrato?idDaMoeda=2&idDaFatura=12345
[JSON com a lista de faturas sem contrato vinculado, no formato de listagem padrão]
[POST] /LiquidacaoFatura/Salvar
Ação principal da rotina: executa a liquidação de fatura para o conjunto de títulos selecionados, com ou sem contrato de câmbio, gravando os lançamentos financeiros, a integração contábil e — quando aplicável — o encerramento do contrato de câmbio.
Permissão: “LiquidacaoFatura/Salvar” (ID 3099)
Parâmetros:
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| IDDaMoeda | número curto | Sim | Identificador da moeda estrangeira envolvida na liquidação |
| IDDaCarteiraSelecionada | número inteiro | Sim | Identificador da carteira/conta usada na liquidação |
| ValorCotacao | decimal | Sim | Valor da cotação de câmbio aplicada à liquidação |
| DataDeLancamento | data | Sim | Data do lançamento financeiro/contábil da liquidação |
| TitulosAProcessar | lista de títulos | Sim (não pode ser vazia) | Conjunto de faturas/títulos a serem liquidados nesta operação |
| ContratosCambioAProcessar | lista de contratos | Condicional | Contratos de câmbio associados à liquidação; não se aplica quando LiquidacaoSemContrato é verdadeiro |
| LiquidacaoSemContrato | verdadeiro/falso | Sim | Indica se a liquidação está sendo feita sem vínculo a contrato de câmbio (modelos NDF, OPC ou Pronto) |
[POST] /LiquidacaoFatura/Salvar [corpo JSON com os campos acima, incluindo a lista de títulos a processar e, quando houver, os contratos de câmbio]
[JSON contendo o identificador da operação de liquidação gerada e os lançamentos/movimentações financeiras e contábeis relacionados]
[POST/GET] /LiquidacaoFatura/Imprimir
Gera o relatório (recibo) da liquidação de fatura, copiando o modelo de relatório Crystal Report correspondente (“ComprovanteCambioLiquidacaoFatura.rpt”) para a pasta do cliente, na primeira vez em que a impressão é solicitada.
Permissão: ação sem permissão própria — coberta pelo acesso à tela onde a liquidação foi realizada (“Liquidação de fatura”, ID 3887, ou “Liquidação de Fatura Sem Contrato”, ID 3888).
Parâmetros:
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| (nenhum parâmetro de negócio identificado no código) | — | — | A ação apenas garante a existência do modelo de relatório do cliente e retorna sucesso |
[GET] /LiquidacaoFatura/Imprimir
“`json { “success”: true } “`
[GET] /LiquidacaoFatura/ObterFiltrosDoXmlDeConfiguracaoDeFatura
Recupera os filtros padrão salvos anteriormente pelo usuário para a tela de liquidação de fatura, lidos a partir da configuração XML armazenada no cadastro do usuário.
Permissão: ação de consulta sem permissão própria — coberta pelo acesso à tela onde os filtros foram salvos (“Liquidação de fatura”, ID 3887, ou “Liquidação de Fatura Sem Contrato”, ID 3888).
Parâmetros:
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| (nenhum parâmetro de negócio — identifica o usuário logado) | — | — | A configuração é lida a partir do usuário autenticado na sessão |
[GET] /LiquidacaoFatura/ObterFiltrosDoXmlDeConfiguracaoDeFatura
[JSON com os pares campo/valor de filtro salvos como padrão pelo usuário]
Modelos de Dados
Cabeçalho da liquidação (DTODeCabecalhoLiquidacaoFatura) — corpo do request da ação Salvar:
| Campo | Tipo | Descrição |
|---|---|---|
| IDDaMoeda | número curto | Identificador da moeda estrangeira da operação |
| IDDaCarteiraSelecionada | número inteiro | Identificador da carteira/conta financeira usada na liquidação |
| ValorCotacao | decimal | Cotação de câmbio aplicada à liquidação |
| DataDeLancamento | data | Data do lançamento da liquidação |
| TitulosAProcessar | lista de títulos | Faturas/títulos selecionados para liquidação (ver detalhamento abaixo) |
| ContratosCambioAProcessar | lista de contratos | Contratos de câmbio envolvidos na liquidação (quando aplicável) |
| LiquidacaoSemContrato | verdadeiro/falso | Indica liquidação sem vínculo a contrato de câmbio |
Título a processar (DTODeTituloAProcessar) — principais campos relevantes à liquidação de fatura (o DTO é compartilhado com outras rotinas financeiras e possui um número grande de campos genéricos de título; abaixo estão destacados os campos com relevância direta ao contexto de liquidação de fatura em câmbio):
| Campo | Tipo | Descrição |
|---|---|---|
| ID | texto | Identificador do título |
| IDDoFatoContabil | número inteiro | Fato contábil associado ao título |
| IDDaCarteiraDePagamento | número inteiro | Carteira de pagamento vinculada ao título |
| Valor | decimal | Valor do título na moeda nacional |
| ValorMoeda | decimal | Valor do título na moeda estrangeira |
| Saldo / SaldoMoeda | decimal | Saldo em aberto do título, em moeda nacional e estrangeira |
| Liquido | decimal | Valor líquido do título após ajustes (juros, desconto, multa, acréscimo, decréscimo) |
| ValorDaCotacao | decimal | Cotação de câmbio associada ao título |
| ValorLiquidado | decimal | Valor já liquidado do título |
| VariacaoCambial | decimal | Variação cambial apurada na liquidação |
| IDDoContratoCambio | texto | Identificador do contrato de câmbio vinculado ao título, quando houver |
| DataDeVencimento / DataDeEmissao | data | Datas de vencimento e emissão do título |
| Status | texto | Situação atual do título |
| Titulo / TituloCompleto | texto | Identificação do título (número completo, incluindo filial, tipo de documento, série, número e parcela) |
| IDDaMoeda | número inteiro | Moeda do título |
Fatura elegível para liquidação sem contrato (ProjecaoDeContratoFaturaTitulo) — retornado por “ListarFaturasSemContrato”:
| Campo | Tipo | Descrição |
|---|---|---|
| ID | texto | Identificador da fatura |
| CodigoFilial | número inteiro | Filial à qual a fatura pertence |
| ValorSaldo | decimal | Saldo em aberto da fatura, em moeda nacional |
| ValorLiquidar | decimal | Valor disponível para liquidação nesta fatura |
| Modelo | texto | Modelo da operação vinculada à fatura (NDF, NDFC, OPC ou “Pronto”, quando aplicável) |
| NovaCotacaoMoeda | decimal | Nova cotação de câmbio informada pelo usuário, aplicada à fatura no momento da listagem |
[informação não disponível na análise de código — validar com analista/vídeo do sistema: os demais campos deste DTO (juros, desconto, tarifa, multa, acréscimo, decréscimo, campos de boleto/CNAB, campos de retenção de impostos, campos Serasa, etc.) pertencem ao modelo genérico de título financeiro compartilhado por várias rotinas e não são exclusivos da liquidação de fatura em câmbio; não foram detalhados individualmente por não fazerem parte do escopo de negócio desta rotina. A projeção completa de ProjecaoDeContratoFaturaTitulo também possui campos adicionais não listados aqui, por não terem sido lidos até o fim na análise]
Contrato de câmbio a processar (DTODeContratoCambio): [informação não disponível na análise de código — validar com analista/vídeo do sistema: o conteúdo detalhado deste DTO não foi lido nesta análise; o contrato de câmbio é identificado, entre outros dados, pelo modelo da operação (NDF, NDFC, OPC, PPE, Pronto, ACC, ACE, TRV, ProntoF), usado para determinar o fato contábil da integração]
Regras de Negócio
Regra 1 — Lista de títulos obrigatória. A ação Salvar exige que ao menos um título seja informado em TitulosAProcessar; se a lista vier vazia, a operação é bloqueada antes de qualquer processamento.
Regra 2a — Validação de saldo vinculado (liquidação com contrato). Para faturas vinculadas a um contrato de câmbio, o sistema valida se o valor já vinculado à fatura dentro do contrato é suficiente para cobrir o valor da liquidação solicitada; se o valor da liquidação for maior que o valor vinculado, a operação é bloqueada.
Regra 2b — Validação de saldo da fatura (liquidação sem contrato). Para faturas sem vínculo a contrato de câmbio, o sistema valida se o saldo disponível da fatura (saldo total menos o valor já vinculado a outros contratos) é suficiente para o valor da liquidação solicitada; se o valor da liquidação for maior que esse saldo, a operação é bloqueada.
Regra 3 — Cotação especial para operações do tipo TRV. Para contratos cujo modelo de operação é TRV, a rotina consulta e aplica a cotação específica do contrato TRV (quando existente e maior que zero), substituindo a cotação genérica informada no cabeçalho da liquidação — diferente do tratamento padrão dado aos demais modelos (NDF, NDFC, OPC, PPE, Pronto, ACC, ACE, ProntoF).
Regra 4 — Encerramento automático do contrato de câmbio. Quando o valor liquidado acumulado do contrato de câmbio se iguala ao valor total do contrato, o sistema atualiza automaticamente o status do contrato para “Liquidado”, refletindo que não há mais saldo pendente de liquidação naquele contrato.
Regra 5 — Geração de lançamentos financeiros e integração contábil. Toda liquidação de fatura bem-sucedida gera os lançamentos financeiros correspondentes (movimentação financeira) e aciona a integração contábil automática, associando o lançamento ao fato contábil determinado pelo modelo de operação do contrato de câmbio (NDF, NDFC, OPC, PPE, Pronto, ACC, ACE, TRV ou ProntoF). Se o modelo de operação do contrato não tiver um fato contábil implementado no sistema, a operação de liquidação não é concluída.
Regra 6 — Liquidação sem contrato restrita a determinados modelos. A liquidação sem vínculo a contrato de câmbio (LiquidacaoSemContrato = verdadeiro) só é aplicável às faturas cujo modelo é NDF, NDFC, OPC ou “Pronto” (ou sem modelo definido); a listagem de faturas sem contrato (“ListarFaturasSemContrato”) já filtra apenas faturas nessa condição, com saldo em aberto positivo e ainda não totalmente vinculadas a um contrato de câmbio. Para os demais modelos, a liquidação deve necessariamente estar vinculada a um contrato de câmbio informado em ContratosCambioAProcessar.
Regra 7 — Toda a operação de liquidação é transacional. A liquidação (atualização de títulos, contrato de câmbio, lançamentos financeiros e integração contábil) ocorre dentro de uma única transação de banco de dados (Unidade de Trabalho); se qualquer etapa falhar, nenhuma alteração é persistida, evitando dados inconsistentes entre título, contrato e contabilidade. Caso ocorra uma exceção durante a integração contábil ou o processamento dos lançamentos, o sistema registra a falha em log e interrompe a operação.
Permissões
Acesso às telas:
| Tela | Permissão | ID |
|---|---|---|
| Liquidação de fatura (busca por contrato — ACC/ACE/TRV) | “EditViewDeLiquidacaoDeFaturaBuscaContratosACCACETRAVA” | 3887 |
| Liquidação de Fatura Sem Contrato | “EditViewDeLiquidacaoDeFaturaBuscaFaturasSemContrato” | 3888 |
Ambas as telas pertencem à área/menu “Comex” (ID 1585) dentro do módulo Financeiro, mas cada uma tem sua própria permissão de tela — um usuário pode ter acesso a uma sem ter acesso à outra.
| Ação | Permissão | ID |
|---|---|---|
| Salvar (executar liquidação) | “LiquidacaoFatura/Salvar” | 3099 |
| ListarContratos | coberta pelo acesso à tela “Liquidação de fatura” | 3887 |
| ListarFaturas | coberta pelo acesso à tela “Liquidação de fatura” | 3887 |
| ListarFaturasSemContrato | coberta pelo acesso à tela “Liquidação de Fatura Sem Contrato” | 3888 |
| Imprimir | coberta pelo acesso à tela onde a liquidação foi feita | 3887 ou 3888 |
| ObterFiltrosDoXmlDeConfiguracaoDeFatura | coberta pelo acesso à tela onde os filtros foram salvos | 3887 ou 3888 |