Protheus / CompensacaoCarteira rev1-2026-05-16 · https://erpapi.jetme.com.br/api/99/01 Empresa 99 · Filial 01
rev1-2026-05-16 Protheus 12.1.33

CompensacaoCarteira (FINA450)

Endpoint REST para compensar e estornar movimentos entre as carteiras de uma mesma entidade — títulos a receber em SE1 contra títulos a pagar em SE2 — via rotina automática FINA450 (MsExecAuto). Adota o padrão Tier 3 com verbo no path (_compensar e _estornar) porque o FINA450 não opera sobre uma chave natural única — a operação age sobre conjuntos de chaves (compensar) ou sobre um título SE2 posicionado pré-execução (estornar). O verbo no path torna a intenção explícita sem precisar diferenciar via body.

Compensação apenas TOTAL. O FINA450 compensa o valor total dos títulos selecionados. Não há suporte a compensação parcial — se os valores não baterem, o título de saldo permanece em aberto e segue o fluxo financeiro normal.
Tabelas mestre SE1 + SE2 Contas a receber + Contas a pagar (multi)
Rotina automática FINA450 MsExecAuto · Financeiro
Wrapper AdvPL U_FN450Exc src/lib/FIN/FN450EXC.prw
Operações & modos
POST /_compensar op=3 POST /_estornar op=5
Dependências de ambiente
Cadastro · obrigatório
Cliente + Fornecedor com mesma chave
o par clifor/loja precisa existir simultaneamente em SA1 (cliente) e SA2 (fornecedor) — FINA450 mapeia AUTCCLI450/AUTCFOR450 com o mesmo código.
Sem ambos, o op=3 rejeita.
Pré-condição · compensar
Títulos SE1/SE2 abertos
os RECNOs informados em titulosSE1 e titulosSE2 devem estar em aberto (sem baixa total) e pertencer ao mesmo clifor/loja. Pelo menos um dos arrays precisa ter elementos.
Pré-condição · estornar
SE2 da compensação posicionada
o FINA450 op=5 não recebe arrays — precisa de um registro SE2 posicionado por DbSeek antes da chamada. O endpoint faz o posicionamento a partir dos 5 campos chave do payload (prefixo, numero, tipo, clifor, loja).
Multi-filial
AUTAFILCOMP
quando os títulos vêm de filiais diferentes, o servidor detecta automaticamente durante a montagem das chaves e envia AUTAFILCOMP populado. O campo afilcomp no payload sobrescreve a detecção (formato: string única do TamSX3 de E1_FILIAL/E2_FILIAL).
Domínio · combobox
debcred (1 | 2)
1 = títulos normais (NF, DP, BOL). 2 = títulos de crédito (RA, PA, NCC, NDF). Determina qual carteira o FINA450 considera no batimento. Default 1.
Trilha · SE5
E5_TIPODOC=CP
cada compensação gera 2 ou mais lançamentos em SE5 (um por par SE1/SE2 envolvido), todos com E5_TIPODOC="CP". O /_list aplica esse filtro implicitamente. O recno retornado por /_byid é o do lançamento SE5, não do título original.
Quirk · FINA450
Compensação só TOTAL
a rotina automática não suporta compensação parcial. Se a somatória dos SE1 não bate exatamente com a somatória dos SE2, o título de maior valor permanece em aberto com saldo residual (segue fluxo financeiro normal).

CompensacaoCarteira

Compensação e estorno entre carteiras (verbo no path)

Listagem

Movimentos SE5 do tipo compensação (E5_TIPODOC=CP)

Schemas

Definições canônicas — campos com origem SX3 rastreável

Cenários

Catálogo de combinações reconhecidas. Tier semântico no slug; endpoint no type-pill.