Pular para o conteúdo principal

ST_ESTORNO — Permite Estorno de Baixas e Movimentos Financeiros

Tela de configuração: FNC001 — Parâmetros Financeiros (Financeiro 2)
Tabela: PARMFINANC.ST_ESTORNO
Tipo: Combobox (S/N)
Valor padrão: S (Sim)

O que faz​

Define se o sistema permite estornar baixas e movimentos financeiros (caixa, contas a receber/pagar, movimentos contábeis) nas rotinas operacionais.
Com valor S, o usuário pode desfazer liquidações e movimentações através dos botões de estorno.
Com valor N, a função de estorno fica bloqueada, impedindo que movimentos já confirmados sejam revertidos.

Telas impactadas​

TelaDescrição
FNC001Tela de configuração do parâmetro (aba Financeiro 2).
CFC002Movimento de Caixa — consulta, filtro de exibição e botão Estornar. Quando ST_ESTORNO = 'S' permite estornar lançamentos (ST_ESTORNO = 'N').
MFC001Baixa de Contas a Receber — filtra apenas movimentos ainda não estornados (M.ST_ESTORNO = 'N').
MFC025Baixa de Contas a Pagar — filtra movimentos não estornados (MC.ST_ESTORNO = 'N').
MFC027Conciliação Bancária — cancelamento de conciliação exige movimento não estornado (MX.ST_ESTORNO = 'N').
MFC035Gravação de movimento contábil / movimento de caixa — insere o campo ST_ESTORNO ('N' por padrão).
MFC006Consulta de lancamento de caixa — valida ST_ESTORNO do MOVTOCAIXA.
MFC007Exclusão de movimentos estornados — apenas itens com ST_ESTORNO = 'S' podem ser excluídos.
FNC002Manutenção de Contas a Receber (MFC001 auxiliar) — filtra M.ST_ESTORNO = 'N'.
MCB002Movimento Contábil — consulta e exibição de lançamentos.
RFC001Diário de Caixa — exclui estornos do relatório (WHERE MX.ST_ESTORNO = 'N').
RFC007Recibos — filtra apenas movimentos não estornados.
RCB021Relatório contábil — exibe flag ST_ESTORNO nos dados.
RFC017Consulta/relatório de movimentos de caixa — filtro por ST_ESTORNO.

Campos envolvidos​

CampoTabelaDescrição
ST_ESTORNOPARMFINANCParâmetro de configuração (S=Sim / N=Não).
ST_ESTORNOMOVTOCAIXAFlag do movimento: N=Normal (válido), S=Estornado (inválido para novas operações).
ST_ESTORNOMOVTOCONTABILFlag do lançamento contábil.
ST_ESTORNOCONTASFlag do título (contexto de cancelamento / estorno).

Opções disponíveis​

S — Sim (permite estorno)​

O que fazDetalhe
Habilita estorno de baixas e movimentos de caixaO usuário pode desfazer liquidações de contas a receber/pagar e movimentos de caixa através das rotinas de estorno. Movimentos com ST_ESTORNO = 'N' ficam elegíveis ao estorno.

Simulação passo a passo​

  1. Acesse FNC001 — Parâmetros Financeiros.
  2. Na aba Financeiro 2, localize o campo Permite Estorno (comboST_ESTORNO).
  3. Selecione Sim (S) e salve.
  4. Acesse a tela de movimento de caixa (CFC002) ou baixa de contas a receber (MFC001).
  5. Localize um lançamento já confirmado (flag ST_ESTORNO = 'N', valor R$ 500,00, cliente A).
  6. Clique no botão Estornar (ou equivalente na rotina).
  7. Confirme a operação.

Resultado esperado: A baixa é revertida, o movimento passa para ST_ESTORNO = 'S' e os saldos de caixa/contas a receber são restaurados. O lançamento contábil correspondente também pode ser marcado como estornado, dependendo da rotina.

Exceção / Importante:

  • Movimentos já conciliados em MFC027 podem exigir que a conciliação seja cancelada antes do estorno (MX.ST_ESTORNO = 'N' é condição para cancelar conciliação).
  • A procedure CANCELA_CONTAS verifica PARMFINANC.ST_ESTORNO = 'S' para permitir o estorno automático ao cancelar um título do tipo 'AD' ou 'AF'.
  • Relatórios como extrato de caixa e diário de caixa sempre excluem lançamentos estornados (ST_ESTORNO = 'N'), independentemente deste parâmetro.

N — Não (bloqueia estorno)​

O que fazDetalhe
Bloqueia estorno de baixas e movimentos de caixaO sistema impede que o usuário desfaça liquidações ou movimentos financeiros. O botão/rotina de estorno não fica disponível ou exibe mensagem de bloqueio.

Simulação passo a passo​

  1. Acesse FNC001 — Parâmetros Financeiros.
  2. Na aba Financeiro 2, localize o campo Permite Estorno.
  3. Selecione Não (N) e salve.
  4. Acesse a tela de movimento de caixa (CFC002) ou baixa (MFC001).
  5. Tente executar o estorno de um lançamento confirmado.
  6. O sistema não permite a operação (botão desabilitado ou mensagem de aviso).

Resultado esperado: O movimento permanece com ST_ESTORNO = 'N' e os saldos não são alterados. Não há reversão de baixa ou restauração de valores.

Exceção / Importante:

  • Se este parâmetro estiver N, a procedure CANCELA_CONTAS não executa o estorno automático ao cancelar títulos. O cancelamento ocorre sem desfazer a baixa/movimentação financeira, o que pode deixar saldos inconsistentes caso existam movimentos vinculados.
  • Movimentos gerados por integrações fiscais ou contábeis autônomas (via procedures como GRAVA_MOVTOCAIXA, CONTABILIZA_CUPOMFISCAL) continuam sendo gravados com ST_ESTORNO = 'N' normalmente; apenas a ação manual de estorno é bloqueada.

Regra geral​

  • Padrão do sistema: S (Sim). Isso permite que o usuário corrija erros de baixa/desfaça lançamentos.
  • Bloqueio operacional: Com N, toda a interface de estorno é desabilitada nas rotinas operacionais.
  • Relatórios e consultas: Todos os relatórios financeiros (extrato, diário, DRE regime caixa, centros de custo) filtram ST_ESTORNO = 'N' para não computar lançamentos desfeitos. Essa regra é independente do parâmetro PARMFINANC.
  • Integridade referencial: Quando um movimento é estornado (ST_ESTORNO do registro passa para 'S'), ele deixa de ser considerado nos cálculos de saldo e nos relatórios, mas o registro histórico permanece no banco para auditoria.

Tabela comparativa resumida​

OpçãoPermite estornar?Efeito nas rotinas operacionaisEfeito em relatórios
SSimBotão/rotina de estorno habilitado. Baixas e movimentos podem ser revertidos. Movimento passa a ST_ESTORNO = 'S'.Estornos são excluídos (sempre filtra ST_ESTORNO = 'N').
NNãoBotão/rotina de estorno bloqueado. Não é possível reverter baixas movimentadas.Estornos são excluídos (sempre filtra ST_ESTORNO = 'N').

Procedures impactadas​

Rotinas Delphi (referência ao campo/mecanismo ST_ESTORNO)​

RotinaArquivoDescrição
MontaWheresource/CFC002/UCFC002.pasFiltra exibição no grid de movimentos (ST_ESTORNO <> 'T').
TfrmCFC002.btnNovoClicksource/CFC002/UCFC002.pasInicializa filtro ST_ESTORNO = 'N'.
TfrmCFC002.PaginasChangesource/CFC002/UCFC002.pasVerifica ST_ESTORNO = 'N' para habilitar ações.
TfrmCFC002.btnProcurarClicksource/CFC002/UCFC002.pasInclui campo ST_ESTORNO na consulta SQL.
TfrmCFC002.gridMOVTOCAIXADrawColumnCellsource/CFC002/UCFC002.pasDestaca visualmente movimentos estornados (ST_ESTORNO = 'S').
TfrmCFC002.gridSaldoDrawColumnCellsource/CFC002/UCFC002.pasIdem, para grid de saldos.
TfrmCFC002.btnEstornarClicksource/CFC002/UCFC002.pasPermite estornar apenas movimentos com processo e ST_ESTORNO = 'N'.
TfrmCFC002.btnCancelarClicksource/CFC002/UCFC002.pasIdem, para movimentos sem processo.
TdmCFC002.tabMOVTOCAIXACalcFieldssource/CFC002/UdmCFC002.pasTrata campo calculado baseado em ST_ESTORNO.
TdmFNC001.tabPARMFINANCAfterInsertsource/FNC001/UdmFNC001.pasDefine valor padrão 'S' para ST_ESTORNO.
TfrmFNC002.btnExcluirClicksource/FNC002/UFNC002.pasFiltra exclusão por M.ST_ESTORNO = 'N'.
TdmMCB002.tabMOVTOCONTABILAfterInsertsource/MCB002/UdmMCB002.pasDefine ST_ESTORNO = 'N' em novo lançamento contábil.
iniciarsource/MCB002/UMCB002.pasInclui ST_ESTORNO na query de consulta.
TfrmMCB002.btnAnteriorClicksource/MCB002/UMCB002.pasInclui ST_ESTORNO na query de navegação.
TfrmMCB002.btnProximoClicksource/MCB002/UMCB002.pasInclui ST_ESTORNO na query de navegação.
TfrmMFC001.btnSalvarClicksource/MFC001/UMFC001.pasFiltra movimentos não estornados (ST_ESTORNO = 'N').
TfrmMFC006.edtNR_LANCCAIXAExitsource/MFC006/UMFC006.pasConsulta ST_ESTORNO do MOVTOCAIXA informado.
TfrmMFC007.btnExcluirClicksource/MFC007/UMFC007.pasExclui apenas movimentos já estornados (ST_ESTORNO = 'S') pelo usuário logado.
TdmMFC011.Gera_TarifaDebitosource/MFC011/UdmMFC011.pasFiltra movimentos não estornados.
TfrmMFC025.btnESTORNARClicksource/MFC025/UMFC025.pasEstorno de contas a pagar filtra MC.ST_ESTORNO = 'N'.
TdmMFC027.tabMOVCAIXAFILTRONR_LANCCAIXAValidatesource/MFC027/UdmMFC027.pasValida ST_ESTORNO e status de conciliação do lançamento.
TfrmMFC027.btnCancelarConcClicksource/MFC027/UMFC027.pasCancela conciliação apenas se MX.ST_ESTORNO = 'N'.
TfrmMFC035.btnGravarClicksource/MFC035/UMFC035.pasInsere registro com ST_ESTORNO no MOVTOCAIXA.
TdmMFI012.tabCENARIOBEMBeforePostsource/MFI012/UdmMFI012.pasInclui ST_ESTORNO no MOVTOCONTABIL.
TfrmMFI012.btnProcessarClicksource/MFI012/UMFI012.pasIdem, na geração de lançamentos.
TfrmMFI012.btnDesfazerClicksource/MFI012/UMFI012.pasIdem, ao desfazer processamento.
TfrmRCB021.btnImprimirClicksource/RCB021/URCB021.pasExibe ST_ESTORNO no relatório contábil.
TfrmRFC007.btnConsultarRecibosClicksource/RFC007/URFC007.pasFiltra recibos não estornados.
TdmRFC017.tabMOVTOCAIXACalcFieldssource/RFC017/UdmRFC017.pasTrata campo calculado baseado em ST_ESTORNO.
TfrmRFC017.btnNovoClicksource/RFC017/URFC017.pasInicializa filtro ST_ESTORNO = 'N'.

Scripts SQL (referência direta ao campo ST_ESTORNO)​

Procedure / ViewArquivoContexto
CALCULA_CREDITOScripts/CALCULA_CREDITO.sqlInsere ST_ESTORNO no MOVTOCONTABIL.
CANCELA_CONTASScripts/CANCELA_CONTAS.sqlEvidência direta do parâmetro: lê PARMFINANC.ST_ESTORNO para decidir se executa estorno automático (V_ST_ESTORNO = 'N' impede).
CONTABILIZA_BAIXAIMPOSTOScripts/CONTABILIZA_BAIXAIMPOSTO.sqlInsere ST_ESTORNO no MOVTOCONTABIL.
CONTABILIZA_CUPOMFISCALScripts/CONTABILIZA_CUPOMFISCAL.sqlInsere ST_ESTORNO no MOVTOCONTABIL.
CONTABILIZA_ESTOQUEScripts/CONTABILIZA_ESTOQUE.sqlInsere ST_ESTORNO no MOVTOCONTABIL.
CONTABILIZA_IMPOSTONOTACTBScripts/CONTABILIZA_IMPOSTONOTACTB.sqlInsere ST_ESTORNO no MOVTOCONTABIL.
CONTABILIZA_REPARCELAMENTOScripts/CONTABILIZA_REPARCELAMENTO.sqlInsere ST_ESTORNO no MOVTOCONTABIL.
CONTABILIZA_TAXABOLETOScripts/CONTABILIZA_TAXABOLETO.sqlInsere ST_ESTORNO no MOVTOCONTABIL.
CONTABILIZA_VENDORScripts/CONTABILIZA_VENDOR.sqlInsere ST_ESTORNO no MOVTOCONTABIL.
ESTORNA_MOVTOCAIXAScripts/ESTORNA_MOVTOCAIXA.sqlAtualiza ST_ESTORNO = 'S' (estorno) e filtra MX.ST_ESTORNO = 'N'.
EXCLUIR_INCOBRAVELScripts/EXCLUIR_INCOBRAVEL.sqlFiltra MOVTOCAIXA.ST_ESTORNO = 'N'.
EXECUTA_ZERAMENTOScripts/EXECUTA_ZERAMENTO.sqlInsere ST_ESTORNO no MOVTOCONTABIL.
EXTRATO_CAIXAScripts/EXTRATO_CAIXA.sqlRelatório filtra MX.ST_ESTORNO = 'N'.
GERA_DREREGIMECAIXAScripts/GERA_DREREGIMECAIXA.sqlRelatório filtra M.ST_ESTORNO = 'N'.
GERA_DREREGIMECAIXACMVK7Scripts/GERA_DREREGIMECAIXACMVK7.sqlRelatório filtra M.ST_ESTORNO = 'N'.
GERA_MOVTOCONTABILScripts/GERA_MOVTOCONTABIL.sqlInsere ST_ESTORNO no MOVTOCONTABIL.
GRAVA_DEPRECIACAOScripts/GRAVA_DEPRECIACAO.sqlInsere ST_ESTORNO no MOVTOCONTABIL.
GRAVA_DEPRECIACAOGERALV2Scripts/GRAVA_DEPRECIACAOGERALV2.sqlInsere ST_ESTORNO no MOVTOCONTABIL.
GRAVA_DEPRECIACAOV2Scripts/GRAVA_DEPRECIACAOV2.sqlInsere ST_ESTORNO no MOVTOCONTABIL.
GRAVA_MOVTOCAIXAScripts/GRAVA_MOVTOCAIXA.sqlInsere novo registro com ST_ESTORNO = 'N' (padrão do movimento).
GRAVA_MOVTOCAIXAINDIVIDUALScripts/GRAVA_MOVTOCAIXAINDIVIDUAL.sqlIdem, registro individual.
IMPORTA_FOLHAScripts/IMPORTA_FOLHA.sqlInsere ST_ESTORNO no MOVTOCONTABIL.
IMPORTA_MOVTOCONTABILScripts/IMPORTA_MOVTOCONTABIL.sqlInsere ST_ESTORNO no MOVTOCONTABIL.
INSERE_MOVTOCAIXACTB_PROCScripts/INSERE_MOVTOCAIXACTB_PROC.sqlTrata variável V_ST_ESTORNO para cópia contábil.
INSERE_MOVTOCONTABIL_MOVTOCAIXAScripts/INSERE_MOVTOCONTABIL_MOVTOCAIXA.sqlTrata variável V_ST_ESTORNO para cópia contábil.
JV_VENDAS_ANOScripts/JV_VENDAS_ANO.sqlFiltra MX.ST_ESTORNO = 'N'.
LANCAMENTO_COMPOSTOScripts/LANCAMENTO_COMPOSTO.sqlInsere ST_ESTORNO no MOVTOCONTABIL.
LANCAMENTO_COMPOSTOCONTASScripts/LANCAMENTO_COMPOSTOCONTAS.sqlInsere ST_ESTORNO no MOVTOCONTABIL.
REPROCESSA_COMPLEMENTOSScripts/REPROCESSA_COMPLEMENTOS.sqlFiltra M.ST_ESTORNO = 'N'.
REPROCESSA_COMPLEMENTOSPROCESSOScripts/REPROCESSA_COMPLEMENTOSPROCESSO.sqlFiltra M.ST_ESTORNO = 'N'.
RETORNA_CENTROCUSTOCFC001Scripts/RETORNA_CENTROCUSTOCFC001.sqlFiltra M.ST_ESTORNO = 'N'.
RETORNA_CENTROCUSTOCONTASScripts/RETORNA_CENTROCUSTOCONTAS.sqlFiltra ' AND M.ST_ESTORNO = ''N'''.
RETORNA_CENTROCUSTORCB016Scripts/RETORNA_CENTROCUSTORCB016.sqlFiltra MC.ST_ESTORNO = 'N'.
RETORNA_CENTROCUSTOREGIMECAIXAScripts/RETORNA_CENTROCUSTOREGIMECAIXA.sqlFiltra MC.ST_ESTORNO = 'N'.
RETORNA_CONSULTAMOVTOCAIXAScripts/RETORNA_CONSULTAMOVTOCAIXA.sqlRetorna campo ST_ESTORNO na consulta.
RETORNA_DESPESABEMScripts/RETORNA_DESPESABEM.sqlFiltra M.ST_ESTORNO = 'N'.

Candidatas por uso da tabela (sem referência direta ao campo ST_ESTORNO)​

As procedures/views abaixo acessam PARMFINANC mas não citam o campo ST_ESTORNO literalmente. Não foi encontrada evidência funcional direta:

  • CALCULA_CAPITAL, CALCULA_JURO, CALCULA_JUROMORA, CALCULA_JUROMORA_RFC019
  • CONTROLE_CAIXA, EXECUTA_PROCESSO, GERA_DUPLICATAS, GERA_INTEGRACAO, GERA_INTEGRACAOFISCAL
  • GRAVA_CHEQUECARTAO, GRAVA_CONTAS, GRAVA_MOVTOPROCESSO, GRAVA_PROCESSOSMART
  • PROCESSA_FATURA, PROCESSA_REPARCELAMENTO, RECALCULA_SALDOCAIXACONTA
  • RETORNA_COMPLEMENTO, RETORNA_COMPLEMENTOMOVTOCAIXA, RETORNA_HISTORICOBAIXA, TRGBIU_CONTAS